系统安全及应用

186 阅读3分钟

账号安全基本措施

系统账号清理

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

锁定长期不使用的账号

  • usermod -L用户名
  • passwd -l用户名
  • passwd -S 用户名

删除无用的账号

userdel —r 用户名

锁定账号文件

chattr +i /etc/passwd /etc/shadow

[root@localhost ~]# chattr +i /etc/passwd
[root@localhost ~]# lsattr /etc/passwd
----i----------- /etc/passwd
[root@localhost ~]# useradd mike   //尝试创建用户,创建失败        
useradd:无法打开 /etc/passwd

解锁文件

chattr -i /etc/passwd /etc/shadow

[root@localhost ~]# chattr -i /etc/passwd
[root@localhost ~]# lsattr /etc/passwd
---------------- /etc/passwd

查看文件状态

lsattr /etc/passwd /etc/shadow

[root@localhost ~]# lsattr /etc/shadow
---------------- /etc/shadow

密码安全控制

设置密码规则

  • 设置密码有效期
  • 要求用户下次登录时修改密码

对于新建用户——修改/etc/login.defs文件

修改/etc/login.defs文件,将密码最大有效期修改为30天。 image.png

[root@localhost ~]# vim /etc/login.defs

PASS_MAX_DAYS   30   //将密码最大有效期修改为30天
[root@localhost ~]# useradd nancy
[root@localhost ~]# grep "nancy" /etc/shadow
nancy:!!:19489:0:30:7:::

对于现有用户——chage命令

chage -M ,设置用户密码的有效期。

[root@localhost ~]# chage -M 999 nancy
[root@localhost ~]# grep "nancy" /etc/shadow
nancy:!!:19489:0:999:7:::

chage -d 0,强制要求用户下次登录时必须修改密码。

image.png

[root@localhost ~]# chage -d 0 nancy
[root@localhost ~]# su zyc
[zyc@localhost root]$ su nancy
密码:
您需要立即更改密码(root 强制)
为 nancy 更改 STRESS 密码。
(当前)UNIX 密码:

命令历史限制

一般使用两种方式控制命令历史:

  • 减少记录的命令条数。
  • 注销时自动清空命令历史,或登录时自动清空命令历史。
临时清空历史命令 

[root@localhost ~]# history -c

临时修改历史命令条数。只针对当前用户,退出登录后失效。  
[root@localhost ~]# HISTSIZE=200

永久修改历史命令条数。编辑配置文件,设置历史命令条数。  
[root@localhost ~]# vim /etc/profile //设置历史命令条数记录为10条      
HISTSIZE=10
[root@localhost ~]# source /etc/profile //刷新配置文件,使文件立即生效

注销时自动清空历史命令  
[root@localhost ~]# vim .bash_logout  
echo "" > ~/.bash_history

登录时自动清空历史命令  
[root@localhost ~]# vim .bashrc  
echo "" > ~/.bash_history

终端自动注销

编辑/etc/profile 文件,末行添加TMOUT=“” image.png

[root@localhost ~]# vi /etc/profile 
TMOUT=6

限制使用su命令的用户

通过修改/etc/pam.d/su 文件:

vim /etc/pam.d/su

image.png

image.png

[nancy@localhost ~]$ su zyc
密码:
su: 拒绝权限
[root@localhost ~]# gpasswd -a nancy wheel
正在将用户“nancy”加入到“wheel”组中
[root@localhost ~]# su nancy
[nancy@localhost root]$ su zyc
密码:

PAM安全认证

认证模块:

认证模块:用于验证用户身份,例如基于密码的认证方式。

授权模块:用于控制用户对系统资源的访问权限,例如文件权限、进程权限等。

账户管理模块:用于管理用户账户信息,例如密码过期策略、账户锁定策略等。

会话管理模块:用于管理用户会话,例如记录用户会话信息、强制注销用户会话等。

PAM工作原理

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

PAM认证构成

查看程序是否支持PAM认证可以用ls

image.png

查看su的PAM 配置文件

[root@localhost ~]# cat /etc/pam.d/su
#%PAM-1.0
auth		sufficient	pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth		sufficient	pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth		required	pam_wheel.so use_uid
auth		substack	system-auth
auth		include		postlogin
account		sufficient	pam_succeed_if.so uid = 0 use_uid quiet
account		include		system-auth
password	include		system-auth
session		include		system-auth
session		include		postlogin
session		optional	pam_xauth.so

每一行可以区分为三个字段: 认证类型 、控制类型 、PAM 模块及其参数 。

用户提权——sudo命令

用sudo添加虚拟网卡

image.png

[root@localhost ~]# su nancy
[nancy@localhost root]$ ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.88.100  netmask 255.255.255.0  broadcast 192.168.88.255
        inet6 fe80::2c1f:36a2:c1b5:384c  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f0:ab:d1  txqueuelen 1000  (Ethernet)
        RX packets 12537  bytes 10517177 (10.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4907  bytes 549953 (537.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[nancy@localhost root]$ ifconfig ens33:0 193.168.88.120
SIOCSIFADDR: 不允许的操作
SIOCSIFFLAGS: 不允许的操作
[nancy@localhost root]$ sudo ifconfig ens33:0 193.168.88.120

我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:

    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。

[sudo] nancy 的密码:
nancy 不在 sudoers 文件中。此事将被报告。

visudo进入配置文件 image.png

image.png

wq!强制退出

[nancy@localhost root]$ sudo ifconfig ens33:1 192.168.88.111/24

image.png

 sudo别名给特定用户设置禁止命令

控制用户进行sudo操作时无法使用重启(reboot)、关机(poweroff)、切换init和无法删除

进入visudo

image.png

wq!强制退出

image.png

GRUB菜单加密

[root@localhost ~]# grub2-setpassword   //使用命令直接设置GRUB密码  
Enter password:                         //输入密码  
Confirm password:                       //确认密码

image.png

终端登录安全控制

限制root只在安全终端登录

安全终端配置:/etc/securetty

将终端tty5、tty6注释掉,禁止root用户从这两个终端登录。

[root@localhost ~]# vi /etc/securetty //编辑配置文件,将终端tty5、tty6注释掉   
#tty5  
#tty6

image.png

系统弱口令检测工具john破解简单密码:

将软件包john-1.8.0.tar.gz放入opt下并解压

image.png

安装软件编译工具

yum -y install gcc gcc-c++ make

切换到src子目录,进行编译安装

image.png

准备待破解的密码文件 切换到run子目录,执行暴力破解

image.png