系统安全及应用

目录

一、账号安全基本措施

1、系统账号清理

2、密码安全控制

3、命令历史限制

4、终端自动注销

二、使用su命令切换用户

1 、用途及用法

2 、密码验证

3、限制使用su命令的用户

三、Linux中的PAM安全认证

1、su命令的安全隐患

2、PAM(Pluggable Authentication Modules)可插拔式认证模块

3、PAM认证原理

4、PAM安全认证流程

 四、使用sudo机制提升权限

1、su命令的缺点

2、sudo命令的用途及用法

3、配置sudo授权

 五、开关机安全控制

1、调整BIOS引导设置

2、GRUB限制

六、终端登录安全控制

1、限制root只在安全终端登录

2、禁止普通用户登录

 七、系统弱口令检测

1、John the Ripper,简称为JR

2、安装JR工具

3、检测弱口令账号

4、密码文件的暴力破解

八、网络端口扫描

1、NMAP

2、NMAP的扫描

3、常用的扫描类型

九、总结


一、账号安全基本措施

1、系统账号清理

●将非登录用户的Shell设为/sbin/nologin

●锁定长期不使用的账号

●删除无用的账号

●锁定账号文件passwd、shadow

----将非登录用户的Shell设为/sbin/nologin(禁止用户登录)-----
usermod -s /sbin/nologin 用户名

------锁定和解锁长期不使用的账号-----
[root@localhost ~]# usermod -L user    锁定用户账号方法一
[root@localhost ~]# passwd -l user     锁定用户账号方法二
[root@localhost ~]# usermod -U user    解锁用户账号方法一
[root@localhost ~]# passwd -u user     解锁用户账号方法二

passwd -S 用户名     //查看用户锁定状态

-----删除无用的账号-----
userdel [-r] 用户名

----锁定账号文件passwd、shadow----
锁定文件并查看状态
chattr +i /etc/passwd /etc/shadow
lsattr /etc/passwd /etc/shadow

解锁文件
chattr -i /etc/passwd /etc/shadow

2、密码安全控制

●设置密码有效期

●要求用户下次登录时修改密码

1.这种方法适合修改已经存在的用户
[root@localhost ~]# chage -M 30 user   
​默认99999天

2.这种适合以后添加新用户
[root@localhost ~]# vim /etc/login.defs   
   PASS_MAX_DAYS   30

 3.强制在下次登录时更改密码
[root@localhost ~]# chage -d 0 zhangsan  ##强制在下次登录时更改密码 

3、命令历史限制

●减少记录的命令条数

●注销时自动清空命令历史

1、适用于新用户
[root@localhost ~]# vi /etc/profile    ## 进入配置文件修改限制命令条数。适合新用户
export HISTSIZE=200            ##修改限制命令为200条,系统默认是1000条profile
[root@localhost ~]# source /etc/profile         ## 刷新配置文件,使文件立即生效

2、适用于当前用户
[root@localhost ~]# export HISTSIZE=200  适用于当前用户
   [root@localhost ~]# source /etc/profile 
   [root@localhost ~]# source /etc/profile 刷新配置文件,使文件立即生效

3、登录时自动清空历史命令(永久)
[root@localhost ~]# echo"" > ~/.bash_history

4、登录时自动清空历史命令(临时)
[root@localhost ~]#vim ~/.bash_logout
history -c
clear

4、终端自动注销

●闲置600秒后自动注销

二、使用su命令切换用户

1 、用途及用法

  • 用途:Substitute User,切换用户
  • 格式:su - 目标用户

2 、密码验证

root->任意用户,不验证密码
普通用户->其他用户,验证目标用户的密码 

[jerry@localhost ~]$ su - root                      ##带-选项表示将使用目标用户的登录Shell环境
口令:
[root@localhost ~]# whoami
root

3、限制使用su命令的用户

  • 将允许使用su命令的用户加入wheel组
  • 启用pam_wheel认证模块
[root@localhost ~]# gpasswd -a tsengyia wheeltsengyia
正在将用户“tsengyia”加入到“wheel"组中
[root@localhost ~]# vi /etc/pam.d/su
#%PAM-1.O
auth sufficient pam_rootok.so
auth required pam_wheel.so use_uid

 

 

以上两行是默认状态(即开启第一行,注释第二行),这种状态下是允许所有用户间使用su命令进行切换的。
两行都注释也是运行所有用户都能使用su命令,但root下使用su切换到其他普通用户需要输入密码:
如果第–行不注释,则root 使用su切换普通用户就不需要输入密码( pam_ rootok. so模块的主要作用是使uid为0的用户,即root用户能够直接通过认证而不用输入密码。)
如果开启第二行,表示只有root用户和wheel1组内的用户才可以使用su命令。
如果注释第一行,开启第二行,表示只有whee1组内的用户才能使用su命令,root用户也被禁用su命令。

三、Linux中的PAM安全认证

1、su命令的安全隐患

●默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,带来安全风险

●为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换

2、PAM(Pluggable Authentication Modules)可插拔式认证模块

●是一种高效而且灵活便利的用户级别的认证方式

也是当前Linux服务器普遍使用的认证方式

3、PAM认证原理

●PAM认证一般遵循的顺序: Service (服务) --> PAM (配置文件) --> pam_*.so

●PAM认证首先要确定哪一项应用服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认模块(位于/lib64/security/下)进行安全认证。

●用户访问服务器的时候,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证。不同的应用程序所对应的PAM模块也是不同的

●如果想查看某个程序是否支持PAM认证,可以用ls命令进行查看/etc/pam.d/
ls /etc/pam.d/ | grep su

●PAM的配置文件中的每一行都是一个独立的认证过程,它们按从上往下的顺序依次由PAM模块调用

4、PAM安全认证流程

1.required验证失败时仍然继续,但返回Fail

2.requisite验证失败则立即结束整个验证过程,返回Fail

3.sufficient验证成功则立即返回,不再继续,否则忽略结果并继续

4.optional不用于验证,只显示信息
(通常用于session类型)

 四、使用sudo机制提升权限

1、su命令的缺点

通过su命令可以非常方便切换到另一个用户,但前提条件是必须知道用户登录密码。对于生产环境中的Linux服务器,每多一个人知道特权密码,安全风险就多一分。

2、sudo命令的用途及用法

●用途:以其他用户身份(如root)执行授权的命令)

●用法
sudo  授权命令

3、配置sudo授权

●visudo或者vi letc/sudoers

●记录格式

用户  主机名列表=命令程序列表

visudo单个授权
visudo 或者 vim /etc/sudoers
记录格式:
user MACHINE=COMMANDS
可以使用通配符“ * ”号任意值和“ !”号进行取反操作。
%组名代表一整个组
权限生效后,输入密码后5分钟可以不用重新输入密码。

例如:visudo命令下
user kiro=(root)NOPASSWD:/usr/sbin/useradd,PASSWD:/usr/sbin/usermod
##代表 kiro主机里的user用户,可以无密码使用useradd命令,有密码使用usermod

/etc/sudoers多个授权
 Host_Alias MYHOST= localhost                                  主机名
 User_Alias MYUSER = yxp,zhangsan,lisi,%组                需要授权的用户   自动添加用户到组
 Cmnd_Alias MYCMD = /sbin/*,/usr/bin/passwd          授权
 MYUSER  MYHOST = NOPASSWD : MYCMD          授权格式

sudo -l     ##查询目前sudo操作

查看sudo操作记录
需启用Defaults logfile
配置默认日志文件: /var/log/sudo

 五、开关机安全控制

1、调整BIOS引导设置

●将第一引导设备设为当前系统所在硬盘

●禁止从其他设备(光盘、U盘、网络)引导系统

●将安全级别设为setup,并设置管理员密码

2、GRUB限制

●使用grub2-mkpasswd-pbkdf2生成密钥

●修改letc/grub.d/00_header文件中,添加密码记录

●生成新的grub.cfg配置文件

六、终端登录安全控制

1、限制root只在安全终端登录

●安全终端配置:/etc/securetty

[root@localhost ~]# vi letclsecuretty
......
#tty5
#tty6
禁止root用户从终端tty5、tty6登录

2、禁止普通用户登录

●建立/etc/nologin文件

●删除nologin文件或重启后即恢复正常 

[root@localhost ~]# touch letc/nologin
禁止普通用户登录
[root@localhost ~]# rm -rf letc/nologin
取消上述登录限制

 七、系统弱口令检测

1、John the Ripper,简称为JR

●一款密码分析工具,支持字典式的暴力破解

●通过对shadow文件的口令分析,可以检测密码强度

●官方网站: http://www.openwall.com/john/

2、安装JR工具

●安装方法

make clean系统类型

●主程序文件为john

3、检测弱口令账号

●获得Linux/Unix服务器的shadow文件

●执行john程序,将shadow文件作为参数

4、密码文件的暴力破解

●准备好密码字典文件,默认为password.lst

●执行john程序,结合--wordlist=字典文件

八、网络端口扫描

1、NMAP

●—款强大的网络扫描、安全检测工具

●官方网站: http://nmap.orgl

●CentOS 7.7光盘中安装包nmap-6.4O-7.el7.x86_64.rpm

2、NMAP的扫描

nmap [扫描类型] [选项] <扫描目标...>

3、常用的扫描类型

-sS、-sT、-sF、-sU、-sP、-P0

九、总结

以上就是系统安全及应用,希望对大家有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值