资源描述
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设置用户不能使用最近五次使用过密码 - 4 -
3.5设置登陆系统账户超时自动退出登陆 - 5 -
4系统安全加固 - 5 -
4.1关闭系统中和系统正常运行、业务无关服务 - 5 -
4.2禁用“CTRL+ALT+DEL”重启系统 - 6 -
4.3加密grub菜单 - 6 -
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
或删除不使用账户:
~]# 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修改:
~]# 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.d
3用户登录安全设置
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 yes@PermitRootLogin no@g" /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
~]# 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 0@ClientAliveInterval 180@g" /etc/ssh/sshd_config
~]# sed -i "s@#ClientAliveCountMax 3@ClientAliveCountMax 3@g" /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
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_authtok@password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=10@g" /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)查看系统中全部服务及运行等级,并确定哪些服务是和系统正常运行及业务无关服务。
~]# 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 "s@start on control-alt-delete@#start on control-alt-delete@g" /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.
(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文件
展开阅读全文