admin 管理员组文章数量: 888297
运维人员必会的系统安全
文章目录
- 一、账号安全控制
- 1.1、账号安全基本措施
- 1.1.1、系统帐号清理
- 更改用户登录权限操作
- 1、进入vi /etc/passwd
- 2、在root用户选更改yang用户的登录权限 改成/sbin/nologin
- 3、然后yang用户退出登录在登陆时,已经登陆不上了
- 用passwd -l 锁定账户 ,登陆不上;passwd -u 解锁账户
- 用usermod -L 锁定账户 ;usermod -U 解锁账户
- 删除无用账户
- useradd先创建一个模拟的无用账户;
- userdel -r 删除无用账户
- 锁定文件
- 解锁文件
- 密码安全控制
- 新建用户更改密码有效期:
- 已有用户更改密码有效期
- 命令历史限制
- 修改历史命令数量的限制
- 终端自动注销
- 二、系统引导和登录控制
- 2.1、使用su命令切换用户
- 2.1.1、用途和用法
- 三、Liunx中的PAM安全认证
- 3.1 su命令的安全隐患
- 3.2 PAM认证原理
- 3.3 PAM认证的构成
- 3.4、PAM安全认证流程
- 四 、使用sudo机制提升权限
- 4.1、su命令的缺点
- 4.2、sudo命令的用途及用法
- 4.3、配置sudo授权
- 4.4、查看sudo操作记录
- 五、开关机安全控制
- 5.1、调整BIOS引导设置
- 调整BIOS引导设置实操
- 5.2、GRUB限制
- 5.3、终端登录安全控制 5.3.1、限制root只在安全终端登录
- 5.3.2、禁止普通用户登录
一、账号安全控制
1.1、账号安全基本措施
1.1.1、系统帐号清理
- 将非登录用户的Shell设为/sbin/nologin
- 锁定长期不使用的账号
- 删除无用的账号
- 锁定账号文件passwd、shadow
[root@localhost ~]# chattr +i /etc/passwd /etc/shadow
[root@localhost ~]# Isattr /etc/passwd /etc/shadow
-------- /etc/passwd
-------- /etc/shadow
更改用户登录权限操作
1、进入vi /etc/passwd
2、在root用户选更改yang用户的登录权限 改成/sbin/nologin
3、然后yang用户退出登录在登陆时,已经登陆不上了
用passwd -l 锁定账户 ,登陆不上;passwd -u 解锁账户
用usermod -L 锁定账户 ;usermod -U 解锁账户
删除无用账户
useradd先创建一个模拟的无用账户;
userdel -r 删除无用账户
锁定文件
1、chattr +i /etc/passwd /etc/shadow
在vi编辑器里只能读,不能写
2、lsattr /etc/passwd /etc/shadow 查看文件状态
3、在vi编辑器里面操作是否可以读写,只读不写
解锁文件
1、chattr -i /etc/passwd /etc/shadow
在vi编辑器里可读可写了
2、lsattr /etc/passwd /etc/shadow 查看文件状态
密码安全控制
- 设置密码有效期
- 要求用户下次登录时修改密码
[root@localhost ~]# vi /etc/login.text 适用于新建用户
PASS MAX DAYS 30
[root@localhost ~]# chage -M 30 lisi ## 适用于已有用户
[root@localhost ~]# chage -d 0 yang ##强制在下次登录时更改密码
新建用户更改密码有效期:
1、进入 vi /etc/login.test
2、找到下面这句话 ,把数值改为30(就是有效期为30天)
PASS_MAX_DAYS 30
3、新建tang用户 ,给tang设置密码
4、这时候 vi /etc/shadow 查看新建的 tang 用户的密码有效期已经自动改成了30天
tang:*:17110:0:30:7:::
已有用户更改密码有效期
1、更改已有用户 tx 的密码有效期为30天
[root@localhost ~]# chage -M 15 tang
2、进入vi /etc/shadow 查看
③强制指定用户在下次登录时更改密码
1、 强制指定bing用户下次登陆时更改密码
[root@localhost ~]# chage -d 0 bing
2.在tang用户没有改密码有效期之前的效果
3、bing用户改完之后的更改密码有效期之后的效果是不一样的,可以仔细看
4、重新登陆的时候,按照图片输入要输入的密码就可以了
命令历史限制
- 减少记录的命令条数
- 注销时自动清空命令历史
修改历史命令数量的限制
方法一:
1、进入vi /etc/profile 里面直接改里面的参数,从而达到修改历史命令数量的限制
系统默认的历史记录是为1000条,可以直接修改HISTSIZE后面值的大小
除此之外,还可以修改用户宿主目录的·/.bash_logout文件,添加清空历史命令的操作。这样,当用户退出登录的bash环境之后,所记录的历史命令将自动清空
这里是引用
[root@localhost ~]# vi ~/.bash_logout
刷新一下
[root@localhost ~]# source /etc/profile
终端自动注销
- 闲置600秒后自动注销
注意,注销的时候必须是闲置的时候!!!不能动
①针对所有用户的注销
1、进入vi编辑器后,在最后一行输入这句话,100秒后注销
[root@localhost ~]# vi /etc/profile
2、退出编辑器,然后刷新下
[root@localhost ~]# source /etc/profile
时间长了之后再次点击进去之后提示
3、账户注销了
②针对单个用户修改注销时间
[root@localhost ~]# vi .bash_profile
[root@localhost ~]# source /etc/profile
3、账户注销了
二、系统引导和登录控制
2.1、使用su命令切换用户
2.1.1、用途和用法
■用途及用法
用途: Substitute User, 切换用户
格式: su - 目标用户
■密码验证
root→任意用户,不验证密码
普通用户>其他用户,验证目标用户的密码
2.1.2、限制使用su命令的用户
■限制使用su命令的用户
将允许使用su命令的用户加入wheel组,在wheel组内的用户才可以使用su切换用户命令
启用pam_wheel认证模块
■查看su操作记录
安全日志文件:/var/log/secure
限制使用su命令的用户实验
1、把 tang用户加入 wheel 组
[root@localhost ~]# gpasswd -a tang wheel
Adding user tang to group wheel
[root@localhost ~]# grep wheel /etc/group
wheel❌10:tang
然后在/etc/pam.d/su 修改配置文件,把前面的#号键去了
三、Liunx中的PAM安全认证
3.1 su命令的安全隐患
su命令的安全隐患
默认情况下,任何用户都允许使用su命令,从而恶意用户有机会反复尝试其他用户(如root)的登录密码,带来安全风险
为了加强su命令的使用控制,可以借助于PAM认证模块,只允许极个别用户使用su命令进行切换
PAM(Pluggable Authentication Modules)可拔插式认证模块,它是一种高效而且灵活便利的用户级别的认证方式,也是当前Linux服务器普遍使用的认证方式
3.2 PAM认证原理
- PAM认证一般遵循的顺序:Service(服务)>PAM(配置文件)>pam_*.so
PAM认证首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib/security下)进行安全认证
用户访问服务器的时候,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证
不同的应用程序所对应的PAM模块也是不同的 - so 为结尾的就是模块文件
3.3 PAM认证的构成
- 查看某个程序是否支持PAM认证,可以用ls命令进行查看/etc/pam.d,然后管道符号检索想要查询的程序;例如查看su是否支持PAM模块认证
ls /etc/pam.d | grep su
查看su的PAM配置文件:cat /etc/pam.d/su
每一行都是独立的认证过程
每一行可以区分为三个字段
认证类型
控制类型
PAM模块及其参数
3.4、PAM安全认证流程
- 控制类型也可以乘坐Control Flags,用于PAM验证类型的返回结果
1.required验证失败时仍然继续,但返回Fail
2.requisite验证失败则立即结束整个验证过程,返回fail(最重要的一步)
3.sufficient验证成功则立即返回,不再继续,否则忽略结果并继续
4.optional不用于验证,只显示信息(通常用session类型)
四 、使用sudo机制提升权限
4.1、su命令的缺点
默认情况下,任何用户都允许使用su命令,从而恶意用户有机会反复尝试其他用户(如root)的登录密码,带来安全风险
4.2、sudo命令的用途及用法
- 用途:以其他用户身份(如root)执行授权的命令
- 用法:sudo 授权命令
4.3、配置sudo授权
- visudo命令 或者 vim /etc/sudoers
- 记录格式: 用户 主机名列表 = 命令程序列表
[root@localhost ~]# visudo用户 主机名列表 = 命令程序列表
%wheel ALL = NOPASSWD:ALL
jerry localhost = /sbin/ifconfig
syrianer localhost = /sbin/*,!/sbin/ifconfig,!/sbin/route
'可以使用通配符号*和取反符号!'
Cmnd_Alias PKGTOOLS = /bin/rpm,/usr/bin/yum
mike localhost = PKGTOOLS
4.4、查看sudo操作记录
■查看sudo操作记录
需启用Defaults logfile 配置
默认日志文件: /var/log/sudo
■查询授权的sudo操作
sudo -|
使用sudo机制提升权限实验
1、先在tang用户上测试,先输入(ifconfig ens33:1 192.168.10.10)创建网卡;
发现是不允许操作的,因为没有权限
2、需要在root用户visudo 或者/etc/sudoers都可以进配置文件添加提权用户;
[root@localhost ~]# vi /etc/sudoers
3、配置文件末行加入你想要提权的用户;(localhost是写主机名)
tang localhost=/sbin/*,!/sbin/reboot (tang用户在KGC主机下执行/sbin下所有命令,除了reboot)
4、再去tang用户上再去(sudo ifconfig ens33:1 192.168.10.30)创建网卡那条命令,发现是可以做操作的权限已经有了
五、开关机安全控制
5.1、调整BIOS引导设置
- 将第一引导设备设为当前系统所在硬盘
- 禁止从其他设备(光盘、U盘、网络)引导系统
- 将安全级别设为isetup,并设置管理员密码
- 备注:禁止从其他设备引导系统操作,感觉若是出现忘记root密码就可能无法从光驱去修改,所以还是谨慎操作
调整BIOS引导设置实操
虚拟机重启之后,按F2进入BIOS
设置进入BIOS的密码,设置完之后确认
设置开机就要输入密码
F10保存退出!
5.2、GRUB限制
使用grub2-mkpasswd-pbkdf2生成密钥
修改/etc/grub.d/00_header文件中,添加密码记录
生成新的grub.cfg配置文件
5.3、终端登录安全控制 5.3.1、限制root只在安全终端登录
在linux服务器中,默认开启了6个tty终端,允许任何用户进行本地本地登录。关于本地登录的安全控制,可以从以下几个方面着手
1.减少开放的tty终端个数
对于远程维护的linux服务器,6个tty终端实际上有点多余。在CentOS 6系统中,控制终端的配置文件如下:
/etc/init/tty.conf //控制tty终端的开启
/etc/init/start-ttys.conf //控制tty终端的开启数量、设备文件
/etc/sysconfig/init //控制tty终端的开启数量、终端的颜色
通过修改/etc/init/start-ttys.conf和/etc/sysconfig/init ,可以减少开放大的tty终端数量。若只希望开启tty4、tty5、tty6三个终端,修改的操作如下
[root@localhost ~]#[root@localhost ~]# vi /etc/init/start-ttys.conf
env ACTIVE_CONSOLES=/dev/tty【456】
[root@localhost ~]#[root@localhost ~]# vi /etc/sysconfig/init
ACTIVE_CONSOLES=/dev/tty【456】
[root@localhost ~]#reboot
注意:禁止tty1、tty2、tty3终端以后,重启开机并进入字符模式,默认将无法登录。必须按ALT+F4 组合键或ALT+F5、ALT+F6 组合键切换到可用的终端,然后才能进行登录操作
■限制root只在安全终端登录
- 安全终端配置: /etc/securetty
[root@localhost ~]# vi letc/securetty
......
#tty5 ## 禁止root用户从终端tty5,tty6登录
#tty6
5.3.2、禁止普通用户登录
■禁止普通用户登录
建立/etc/nologin文件
删除nologin文件或重启后即恢复正常
[root@localhost ~]# touch /etc/nologin ## 禁止普通用户登录
[root@localhost ~]# rm -rf /etc/nologin ## 取消上述登录限制
本文标签: 运维人员必会的系统安全
版权声明:本文标题:运维人员必会的系统安全 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1686636920h20211.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论