Linux操作系统安全加固总结
1、修改umask的默认值
设置并修改umask的默认值可以限制用户对文件或目录的权限。一般将umask的默认值修改为027。在/etc/profile中添加umask 027。
2、修改历史命令保存条数
使用history命令可以查看历史执行的命令。在/etc/profile文件中修改”HISTSIZE“的数值即可。使用source /etc/profile命令使设置生效。
3、修改密码的使用期限
修改/etc/login.defs中的PASS_MAX_DAYS=90 、PASS_MIN_DAYS=10、PASS_MIN_LEN=8、PASS_WARN_AGE=7字段。其中,PASS_MAX_DAYS表示密码的最长使用期限、PASS_MIN_DAYS表示密码的最短使用期限、PASS_MIN_LEN=8表示密码的最小使用长度、PASS_WARN_AGE表示密码到期几天前提醒。
4、修改日志文件权限
使用chattr +a /var/log/messages命令更改日志文件的属性,使其只能追加数据,不能删除日志文件。
5、更改主机解析地址的顺序
在/etc/host.conf文件中添加下面三行:“order hosts,bind ” 、“multi on” 、“nospoof on ”。第一个设置表示首先通过DNS解析IP地址,然后通过hosts文件解析。第二个表示检测"/etc/hosts"文件中的主机是否拥有多个IP地址。第三个表示要注意对本机未经许可的IP欺骗。
6、设置系统超时时间
在/etc/profile文件的末尾加上export TMOUT=300,在系统等待这一段空闲时间后,就会自动退出。
7、限制root账号远程登陆
在/etc/ssh/sshd_config文件中,将“PermitRootLogin yes”改为“PermitRootLogin no”。重启sshd服务systemctl restart sshd.service,使设置生效。
8、修改ssh相关安全设置
除了以上限制root账户远程登陆外,/etc/ssh/sshd_config文件中还有很多其他的安全设置。例如,修改ssh服务的默认端口:Port 2222。修改登录失败的最大尝试次数:MaxAuthTries 6。修改允许同时连接的主机数量:MaxSessions 10。这两者结合可以防止攻击者的多线程密码爆破攻击。
9、设置密码的强度
在/etc/pam.d/system-auth文件中,将“password requisite pam_pwquality.so”修改为“password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= difok=1 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1”。表示的意思是允许输入三次密码;新密码与旧密码不同的个数是一位;密码的最小长度是八位;密码至少包含一个大写字母,一个小写字母,一个数字;“ ocredit=-1”表示密码至少包含一个符号;“minclass=2”表示密码至少包含两种字符的组合。
10、禁用或删除无用的账号
userdel <用户名> 删除无用的账号。
passwd -l <用户名> 锁定无用的账号。
passwd -u <用户名> 解锁账号。
11、启用日志、建立日志服务器
Linux系统默认启用的日志有:/var/log/messages,系统日志。/var/log/cron,cron日志。/var/log/secure,安全日志。
修改/etc/rsyslog.conf,添加日志服务器。例如“*.info;mail.none;authpriv.none;cron.none @192.168.146.130” 。然后重启服务,systemctl restart rsyslog。
12、限制特定组中的用户可以切换到root
编辑 /etc/pam.d/login文件,增加配置auth required pam_securetty.so
编辑su文件(vi /etc/pam.d/su),在开头添加下面两行:
auth sufficient pam_rootok.so 和auth required pam_wheel.so group=wheel 这表明只有wheel组的成员可以使用su命令成为root用户。
添加新用户: useradd asd
修改用户的密码: password asd
将用户添加到wheel组中,使它可以使用su命令成为root用户: usermod –G wheel asd
13、防止堆栈溢出
vi /etc/security/limits.conf
在最后添加:
-
soft core 0
-
hard core 0
保存退出
14、修改关键文件的权限
chmod 644 /etc/group
chmod 600 /etc/shadow
chmod 644 /etc/passwd