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_WARN_AGE=7字段。其中,PASS_MAX_DAYS表示密码的最长使用期限、PASS_MIN_DAYS表示密码的最短使用期限、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。