Linux主机安全加固
Redhat是目前企业中用的最多的一类Linux,而目前针对Redhat攻击的黑客也越来越多了。我们要如何为这类服务器做好安全加固工作呢?
本文针对系统的账户安全,最小化服务,访问控制,用户鉴别,审计策略等安全项进行整改及加固,达到提升系统安全,使系统能够抵御一定程度的攻击行为的目的!
加固目录
密码策略
升级openssh版本
设置终端超时
删除无效定时任务
删除无效一次性任务
进程管理
SSH安全配置
无效服务管理
防火墙策略
设置历史记录条数:
设置系统日志保留时间
锁定不必要用户
加固内容及方法
1################################################################################## 2#### 以下部分操作属于高危操作,在未得到用户充分授权的情况下,请勿擅自修改 ##### 3################################################################################## 4 5################################################################################## 6# 1、系统登陆密码复杂度: 7### 密码有效期控制 ### 8vim /etc/login.defs 9 10## 修改如下行 ## 11PASS_MAX_DAYS 180 #密码最长过期天数 12PASS_MIN_DAYS 30 #密码最小过期天数 13PASS_MIN_LEN 12 #密码最小长度 14PASS_WARN_AGE 20 #密码过期警告天数 15 16###备份### 17cp /etc/login.defs /etc/login.defs.xu.bak 18 19sed -i 's/PASS_MAX_DAYS 99999/PASS_MAX_DAYS 180/g' /etc/login.defs 20sed -i 's/PASS_MIN_DAYS 0/PASS_MIN_DAYS 30/g' /etc/login.defs 21sed -i 's/PASS_MIN_LEN 5/PASS_MIN_LEN 12/g' /etc/login.defs 22sed -i 's/PASS_WARN_AGE 7/PASS_WARN_AGE 20/g' /etc/login.defs 23 24### 密码复杂度控制 ### 25vim /etc/pam.d/system-auth 26### 找到 password requisite pam_cracklib.so 替换成如下:### 27password requisite pam_cracklib.so retry=5 difok=3 minlen=10 ucredit=-1 lcredit=-3 dcredit=-3 dictpath=/usr/share/cracklib/pw_dict 28################################################################################## 29 30################################################################################## 31# 2、升级openssh版本; 32### 按需做,这里暂且不对这项进行整改 ### 33################################################################################## 34 35################################################################################## 36# 3、设置终端超时: 37##后续优化对于已经存在配置的判断,一下方法暂用,不会影响整改结果## 38echo 'export TMOUT=1800'>>/etc/profile 39echo 'readonly TMOUT' >>/etc/profile 40source /etc/profile 41################################################################################## 42 43################################################################################## 44# 4、检查定时任务(防止病毒感染): 45### 定时任务 ### 46crontab -l 47### 一次性任务检查 ### 48at -l 49################################################################################## 50 51################################################################################## 52# 5、检查异常进程(防止挖矿病毒,占用内存或者CPU): 53### 检查cpu占用前10 ### 54ps aux|sort -rn -k +3|head 55 56### 检查内存占用前10 ### 57ps aux|sort -rn -k +4|head 58################################################################################## 59 60################################################################################## 61# 6、root用户远程登陆: 62### 由于没有业务用户,修改此项会影响用户正常使用,所以在非必要情况下不进行配置 ### 63vim /etc/ssh/sshd_config 64# 设置如下行 65PermitRootLogin yes 66PermitRootLogin prohibit-password 67## 可以修改默认端口保证安全性,按需 ## 68Port 22 69### 修改完配置之后记得重启服务生效 ### 70service sshd restart 71################################################################################## 72 73################################################################################## 74# 7、关闭无效的服务及端口: 75##邮箱## 76service postfix status 77chkconfig --del postfix 78chkconfig postfix off 79 80##cups## 81service cups status 82chkconfig --del cups 83chkconfig cups off 84 85## 其他服务请手动检查 ## 86################################################################################## 87 88################################################################################## 89# 8、设置防火墙策略: 90####检查IPTABLES状态### 91service iptables status 92 93echo '请根据用户实际业务端口占用等情况进行设置!' 94 95## 例如:vim /etc/sysconfig/iptables ,添加如下策略 ## 96-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 97-A INPUT -m state --state NEW -m udp -p udp --dport 8080 -j ACCEPT 98 99## 重启防火墙 ## 100service iptabels restart 101################################################################################## 102 103################################################################################## 104# 9、设置历史记录数量: 105###备份### 106cp /etc/profile /etc/profile_xu_bak 107 108###修改### 109sed -i s/'HISTSIZE=1000'/'HISTSIZE=5000'/g /etc/profile 110 111###检查### 112cat /etc/profile |grep HISTSIZE|grep -v export 113 114################################################################################## 115 116################################################################################## 117# 10、日志保留半年以上: 118 119###备份### 120cp /etc/logrotate.conf /etc/logrotate.conf_xu_bak 121 122###修改### 123sed -i s/'rotate 4'/'rotate 12'/g /etc/logrotate.conf 124 125###重启#### 126service syslog restart 127 128###检查### 129cat /etc/logrotate.conf |grep -v '#' |grep rotate 130 131################################################################################## 132 133################################################################################## 134# 11、锁定不必要的用户: 135 136###备份### 137cp -p /etc/passwd /etc/passwd_xu_bak 138cp -p /etc/shadow /etc/shadow_xu_bak 139 140###锁定不必要的用户### 141### bin, sys,adm,uucp,lp, nuucp,hpdb, www, daemon ### 142passwd -l bin 143passwd -l sys 144passwd -l adm 145passwd -l uucp 146passwd -l lp 147passwd -l nuucp 148passwd -l hpdb 149passwd -l www 150passwd -l daemon 151 152################################################################################## 153 154################################################################################## 155### 连续6次输错密码禁用一段时间,建议配置成300秒 ### 156################################################################################## 157 158################################################################################## 159### 配置系统超时自动退出,建议配置成300秒 ### 160##################################################################################
总结:
整改文档可以写成一个完整的脚本,但是由于时间原因及出于安全性考虑,很多部分还是建议使用手动执行,防止不必要的麻烦出现
