Linux/Centos7系统管理之系统安全及应用

Linux/Centos7系统管理之系统安全及应用1.账号安全控制
2.系统引导和登录控制
3.弱口令检测
4.端口扫描
一、账号安全控制1.1基本安全措施1.1.1系统账号清理 (1)在Linux系统中,除了用户手动创建的各种账号之外,还包括一些随系统或程序安装过程而产生的其他大量账号。除了root用户,大部分的非登录用户(bin、daemon、adm、nobody、lp、apache等)是不能登录的。
使用grep命令可以查看非登录用户如下:
[root@localhost ~]# grep "/sbin/nologin$" /etc/passwdbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologinsystemd-network:x:192:192:systemd Network Management:/:/sbin/nologindbus:x:81:81:System message bus:/:/sbin/nologinpolkitd:x:999:998:User for polkitd:/:/sbin/nologinabrt:x:173:173::/etc/abrt:/sbin/nologinlibstoragemgmt:x:998:996:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologinrpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologincolord:x:997:995:User for colord:/var/lib/colord:/sbin/nologinsaslauth:x:996:76:Saslauthd user:/run/saslauthd:/sbin/nologinrtkit:x:172:172:RealtimeKit:/proc:/sbin/nologinpulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologinchrony:x:995:991::/var/lib/chrony:/sbin/nologinrpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologinnfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologinntp:x:38:38::/etc/ntp:/sbin/nologintss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologinusbmuxd:x:113:113:usbmuxd user:/:/sbin/nologingeoclue:x:994:989:User for geoclue:/var/lib/geoclue:/sbin/nologinqemu:x:107:107:qemu user:/:/sbin/nologinradvd:x:75:75:radvd user:/:/sbin/nologinsetroubleshoot:x:993:988::/var/lib/setroubleshoot:/sbin/nologinsssd:x:992:987:User for sssd:/:/sbin/nologingdm:x:42:42::/var/lib/gdm:/sbin/nologingnome-initial-setup:x:991:986::/run/gnome-initial-setup/:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologiavahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologintcpdump:x:72:72::/:/sbin/nologin (2)而对于Linux服务器中长期不用的用户账号,若无法确定是否应该删除,可以暂时将其锁定。
[root@localhost ~]# usermod -L zhangsan[root@localhost ~]# passwd -S zhangsanzhangsan LK 2019-11-15 0 99999 7 -1 (密码已被锁定。)[root@localhost ~]# passwd -u zhangsan解锁用户 zhangsan 的密码。passwd: 操作成功 (3)当然,在服务器中如果说用户账号已经固定,不再更改,还可以采取锁定账号配置文件的方法,使用chattr(change attribution —更改文件状态)命令。
[root@localhost ~]# chattr +i /etc/passwd /etc/shadow[root@localhost ~]# lsattr /etc/passwd /etc/shadow----i----------- /etc/passwd----i----------- /etc/shadow[root@localhost ~]# useradd lisiuseradd:无法打开 /etc/passwd[root@localhost ~]# chattr -i /etc/passwd /etc/shadow[root@localhost ~]# lsattr /etc/passwd /etc/shadow---------------- /etc/passwd---------------- /etc/shadow[root@localhost ~]# useradd lisi命令解释:+i表示锁定,-i表示解锁,lsattr表示查看状态
1.1.2密码安全控制 设定密码期限的方法结合实例来讲述
[root@localhost ~]#head -25 /etc/login.defs |tail -1PASS_MAX_DAYS 99999[root@localhost ~]# vim /etc/login.defs [root@localhost ~]# head -25 /etc/login.defs |tail -1PASS_MAX_DAYS 30[root@localhost ~]# useradd wangwu[root@localhost ~]# passwd wangwu更改用户 wangwu 的密码 。新的 密码:无效的密码: 密码少于 8 个字符重新输入新的 密码:passwd:所有的身份验证令牌已经成功更新。[root@localhost ~]# tail -1 /etc/shadowwangwu:$6$pDVLca5K$iy9JAb4PzbG14d3XfG8ei7dV0YnJFjOwRJVMzs3bMFyp.XPEkv0WO5XaGViv.4.n1jp5fPSCDHanJh3j3Am4f1:18215:0:30:7:::操作解释:查看/etc/login.defs文件中第25行内容,用vim编辑器进去修改,将其改为30,表示最长使用时间,即密码的有效期为30天。该方式只针对之后新建的用户,那么对于原有用户如何操作呢?答案是使用chage命令。
[root@localhost ~]# tail -3 /etc/passwdzhangsan:x:1001:1001::/home/zhangsan:/bin/bashlisi:x:1002:1002::/home/lisi:/bin/bashwangwu:x:1003:1003::/home/wangwu:/bin/bash[root@localhost ~]# chage -M 20 lisi[root@localhost ~]# chage -M 20 wangwu[root@localhost ~]# tail -3 /etc/shadowzhangsan:$6$WsyIZguS$ZsJObVyyFzwxT2p0RoIemdrQjLUmoKDkzY8DlrtctYLBzxl0ja3rcp84BP3D5MTHfK.pj1IKAZpezYUwv1d/p0:18215:0:99999:7:::lisi:$6$yo1cSlqf$tR5J63h7yOdhqearLDVb8nOfpBlJE6Oem9h5bkREzCRDBA.7OsT.wsX5zJ3I.BUbHxfaw56JbP0IkDyAGwbCi0:18215:0:20:7:::wangwu:$6$pDVLca5K$iy9JAb4PzbG14d3XfG8ei7dV0YnJFjOwRJVMzs3bMFyp.XPEkv0WO5XaGViv.4.n1jp5fPSCDHanJh3j3Am4f1:18215:0:20:7:::当然了,如果是批量创建的用户初次登录时必须自设密码,由管理员执行强制策略,以便下次登录时必须修改密码。使用“chage -d 0 用户名”来进行设置。
1.1.3命令历史、自动注销一般情况下,历史命令默认是记录1000条,对于新登录用户修改/etc/profile文件将HISTSIZE更改即可
当前用户则直接在当前bash终端更改:export HISTSIZE=100
[root@localhost ~]# echo "HISTSIZE=10" >> /etc/profile //对于新登录用户[root@localhost ~]# tail -1 /etc/profileHISTSIZE=10[root@localhost ~]#su - lisi[lisi@localhost ~]$ history 22 clear 23 ls 24 cd /etc/ 25 ls 26 cd .. 27 cd 28 ls 29 history 30 ls 31 history [root@localhost ~]# export HISTSIZE=5 //对于当前bash终端用户[root@localhost ~]# history 6 grub2-mkconfig -o /boot/grub2/grub.cfg 7 init 6 8 cd 9 export HISTSIZE=5 10 history当然,还可以修改用户宿主目录下的~/.bash_logout文件,当用户退出后所记录的历史命令将自动清空。
也可以设置一个闲置超时时间——多久不操作就自动注销(修改TMOUT变量,不推荐)
[root@localhost ~]# cat ~/.bash_logout # ~/.bash_logout[root@localhost ~]# echo "history -c" >> ~/.bash_logout [root@localhost ~]# echo "clear" >> ~/.bash_logout [root@localhost ~]# cat ~/.bash_logout # ~/.bash_logouthistory -cclear[root@localhost ~]# source ~/.bash_logout [root@localhost ~]# history 3 history [root@localhost ~]# 1.2用户切换与提权 一般情况下,大多数Linux服务器不建议用户直接以root用户进行登录。一方面可以大大减少因误操作而导致的破坏,另一方面也降低了特权密码在不安全的网络中被泄露的风险。
在Linux系统为我们提供su、sudo两种命令,其中su命令主要用来切换用户,而sudo命令用来提升执行的权限。
1.2.1 su命令——切换用户 su命令,可以切换为指定的另一个用户,从而具有该用户的所有权限。其中选项“-”表示切换用户后进入目标用户的登录shell环境,若没有选择该选项,则只是切换用户,不切换用户环境。对于切换为root用户的情况,“root”可以省略。
默认情况下,任何用户都允许使用su命令,从而有机会反复尝试其他用户的登录密码,带来安全风险。为了加强su命令的使用控制,可以借助于pam_wheel认证模块,只允许个别用户使用su命令进行切换。具体实例如下:
[root@localhost ~]# su - lisi上一次登录:五 11月 15 10:24:08 CST 2019pts/0 上[lisi@localhost ~]$ su -密码:上一次登录:五 11月 15 10:25:26 CST 2019从 192.168.68.1pts/1 上[root@localhost ~]# su zhangsan[zhangsan@localhost root]$ su密码:[root@localhost ~]# gpasswd -a zhangsan wheel正在将用户“zhangsan”加入到“wheel”组中[root@localhost ~]# grep wheel /etc/groupwheel:x:10:zhangsan[root@localhost ~]# head -6 /etc/pam.d/su | tail -1#auth required pam_wheel.so use_uid[root@localhost ~]# vim /etc/pam.d/su[root@localhost ~]# head -6 /etc/pam.d/su | tail -1auth required pam_wheel.so use_uid[root@localhost ~]# su - lisi上一次登录:五 11月 15 10:48:56 CST 2019pts/1 上[lisi@localhost ~]$ su - 密码:su: 拒绝权限[lisi@localhost ~]$ exit登出[root@localhost ~]# su - zhangsan上一次登录:五 11月 15 10:49:10 CST 2019pts/1 上最后一次失败的登录:五 11月 15 10:56:24 CST 2019pts/1 上最有一次成功登录后有 1 次失败的登录尝试。[zhangsan@localhost ~]$ su -密码:上一次登录:五 11月 15 10:49:17 CST 2019pts/1 上最后一次失败的登录:五 11月 15 10:57:26 CST 2019pts/1 上最有一次成功登录后有 2 次失败的登录尝试。命令解释:
使用gpasswd命令将zhangsan用户添加到wheel组中,编辑/etc/pam.d/su文件,删除第6行的#号,尝试切换其他用户,由于lisi不在wheel组中,所以是拒绝权限的,但是张三可以正常切换到root,是因为他在wheel组中。su命令的执行操作将会记录到安全日志/var/log/secure中。
了解更多网络知识关注:http://www.vecloud.com/