2022年linux系统安全加固方案 .pdf
- 1 - 1 概述. - 1 - 1.1 适用范围 . - 1 - 2 用户账户安全加固 . - 1 - 2.1 修改用户密码策略 . - 1 - 2.2 锁定或删除系统中与服务运行,运维无关的的用户 . - 1 - 2.3 锁定或删除系统中不使用的组 . - 2 - 2.4 限制密码的最小长度 . - 2 - 3 用户登录安全设置 . - 3 - 3.1 禁止 root 用户远程登录 . - 3 - 3.2 设置远程 ssh 登录超时时间 . - 3 - 3.3 设置当用户连续登录失败三次,锁定用户30 分钟. - 4 - 3.4 设置用户不能使用最近五次使用过的密码 . - 5 - 3.5 设置登陆系统账户超时自动退出登陆 . - 5 - 4 系统安全加固 . - 5 - 4.1 关闭系统中与系统正常运行、业务无关的服务 . - 5 - 4.2 禁用“ CTRL+ALT+DEL ”重启系统 . - 6 - 4.3 加密 grub 菜单 . - 6 - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - - 1 - 1 概述1.1 适用范围本方案适用于银视通信息科技有限公司linux主机安全加固, 供运维人员参考对linux主机进行安全加固。2 用户账户安全加固2.1 修改用户密码策略(1)修改前备份配置文件:/etc/login.defs cp /etc/login.defs /etc/login.defs.bak (2)修改编辑配置文件: vi /etc/login.defs,修改如下配置:PASS_MAX_DAYS 90 (用户的密码不过期最多的天数)PASS_MIN_DAYS 0 (密码修改之间最小的天数)PASS_MIN_LEN 8 (密码最小长度)PASS_WARN_AGE 7 ( 口令失效前多少天开始通知用户更改密码) (3)回退操作# cp /etc/login.defs.bak /etc/login.defs 2.2 锁定或删除系统中与服务运行,运维无关的的用户(1)查看系统中的用户并确定无用的用户# more /etc/passwd (2)锁定不使用的账户(锁定或删除用户根据自己的需求操作一项即可)锁定不使用的账户:# usermod -L username 或删除不使用的账户:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - - 2 - # userdel -f username (3)回退操作用户锁定后当使用时可解除锁定,解除锁定命令为:# usermod -U username 2.3 锁定或删除系统中不使用的组(1)操作前备份组配置文件/etc/group # cp /etc/group /etc/group.bak (2)查看系统中的组并确定不使用的组# cat /etc/group (3)删除或锁定不使用的组锁定不使用的组:修改组配置文件 /etc/group ,在不使用的组前加“ #”注释掉该组即可删除不使用的组:# groupdel groupname (4)回退操作# cp /etc/group.bak /etc/group 2.4 限制密码的最小长度(1)操作前备份组配置文件 /etc/pam.d/system-auth # cp /etc/pam.d /etc/pam.d.bak (2)设置密码的最小长度为8 修 改 配 置 文 件 /etc/pam.d,在 行 ”password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= ”中添加“ minlen=8 ”,或使用 sed 修改:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - - 3 - # sed -i s#password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=#password requisite pam_pwquality.so try_first_pass local_users_only retry=3 minlen=8 authtok_type=#g /etc/pam.d/system-auth (3)回退操作# cp /etc/pam.d.bak /etc/pam.d3 用户登录安全设置3.1 禁止 root 用户远程登录(1)修改前备份 ssh配置文件 /etc/ssh/sshd_conf # cp /etc/ssh/sshd_conf /etc/ssh/sshd_conf.bak (2)修改 ssh服务配置文件不允许root 用户远程登录编辑 /etc/ssh/sshd_config 找到“ #PermitRootLogin yes”去掉注释并修改为“PermitRootLogin no ”或者使用 sed修改,修改命令为:# sed -i s#PermitRootLogin yesPermitRootLogin nog /etc/ssh/sshd_config (3)修改完成后重启ssh服务Centos6.x为:# service sshd restart Centos7.x为:# systemctl restart sshd.service (4)回退操作# cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_config 3.2 设置远程 ssh 登录超时时间(1)修改前备份 ssh服务配置文件 /etc/ssh/sshd_config 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - - 4 - # cp /etc/ssh/sshd_conf /etc/ssh/sshd_conf.bak (2)设置远程 ssh登录长时间不操作退出登录编辑 /etc/ssh/sshd_conf 将 ”#ClientAliveInterval 0” 修改 为”ClientAliveInterval 180” ,将”#ClientAliveCountMax 3”去掉注释,或执行如下命令:# sed -i s#ClientAliveInterval 0ClientAliveInterval 180g /etc/ssh/sshd_config # sed -i s#ClientAliveCountMax 3ClientAliveCountMax 3g /etc/ssh/sshd_config (3)配置完成后保存并重启ssh服务Centos6.x为:# service sshd restart Centos7.x为:# systemctl restart sshd.service (4)回退操作# cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_config 3.3 设置当用户连续登录失败三次,锁定用户30 分钟(1)配置前备份配置文件 /etc/pam.d/sshd # cp /etc/pam.d/sshd /etc/pam.d/sshd.bak (2)设置当用户连续输入密码三次时,锁定该用户30 分钟修改配置文件 /etc/pam.d/sshd, 在配置文件的第二行添加内容: auth required pam_tally2.so deny=3 unlock_time=300 (3)若修改配置文件出现错误,回退即可,回退操作:# cp /etc/pam.d/sshd.bak /etc/pam.d/sshd 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - - 5 - 3.4 设置用户不能使用最近五次使用过的密码(1)配置前备份配置文件 /etc/pam.d/sshd # cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak (2)配置用户不能使用最近五次使用的密码修 改 配 置 文 件 /etc/pam.d/sshd, 找 到 行 ”password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok” ,在最 后加入remember=10,或使用 sed修改# sed -i s#password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtokpassword sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=10g /etc/ssh/sshd_config (3)回退操作# cp /etc/pam.d/sshd.bak /etc/pam.d/sshd 3.5 设置登陆系统账户超时自动退出登陆(1)设置登录系统的账号长时间不操作时自动登出修改系统环境变量配置文件/etc/profile, 在文件的末尾加入” TMOUT=180 ” ,使登录系统的用户三分钟不操作系统时自动退出登录。 # echo TMOUT=180 /etc/profile (2)使配置生效执行命令: # . /etc/profile #或 source /etc/profile (3)回退操作删除在配置文件 ” /etc/profile ” 中添加的 ” TMOUT=180 ” ,执行命令 . /etc/profile使配置生效。4 系统安全加固4.1 关闭系统中与系统正常运行、业务无关的服务(1)查看系统中的所有服务及运行级别,并确定哪些服务是与系统的正常运行及业务无关的服务。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - - 6 - # chkconfig -list (2)关闭系统中不用的服务# chkconfig servername off (3)回退操作,如果意外关闭了与系统业务运行相关的服务,可将该服务开启# chkconfig servername on 4.2 禁用“CTRL+ALT+DEL ”重启系统(1)rhel6.x 中禁用“ ctrl+alt+del”键重启系统修 改 配 置 文 件 “ /etc/init/control-alt-delete.conf” , 注 释 掉 行 “ start on control-alt-delete ”。或用 sed 命令修改:# sed -i sstart on control-alt-delete#start on control-alt-deleteg /etc/init/control-alt-delete.conf (2)rhel7.x 中禁用“ ctrl+alt+del”键重启系统修改配置文件“/usr/lib/systemd/system/ctrl-alt-del.target ” , 注释掉所有内容。(3)使修改的配置生效# init q 4.3 加密 grub 菜单1、加密 Redhat6.x grub菜单(1)备份配置文件 /boot/grub/grub.conf # cp /boot/grub/grub.conf /boot/grub/grub.conf.bak (2)将密码生成秘钥# grub-md5-crypt Password: Retype password: $1$nCPeR/$mUKEeqnBp8G.P.Hrrreus. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - - 7 - (3)为 grub 加密修改配置文件 /boot/grub/grub.conf, 在” timeout=5” 行下加入 ” password -md5 $1$CgxdR/$9ipaqi8aVriEpF0nvfd8x. ” , ” $1$CgxdR/$9ipaqi8aVriEpF0nvfd8x. ” 为加密后的密码。(4)回退# cp /boot/grub/grub.conf /boot/grub/grub.conf.bak 或者删除加入行 ” password -md5 $1$CgxdR/$9ipaqi8aVriEpF0nvfd8x.”2、加密 redhat7.xgrub 菜单(1)在” /etc/grub.d/00_header ” 文件末尾,添加以下内容cat EOFset superusers=admin password admin qwe123 E0F (2)重新编译生成 grub.cfg文件# grub2-mkconfig -o /boot/grub2/grub.cfg (3)回退操作删除/etc/grub.d/00_header 中添加的内容,并重新编译生成grub.cfg文件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -