centos7安全加固方案( 二 )


cat <>/etc/security/limits.conf
* soft core 0
* hard core 0
END_ENTRIES
(允许core dump会耗费大量的磁盘空间.)
2. chown root:root /etc/sysctl.conf
chmod 600 /etc/sysctl.conf
(log_martians将进行ip假冒的ip包记录到/var/log/messages
其它核心参数使用centos默认值 。)

  • 四、需要关闭的一些服务
设置项
1. 关闭Mail Server chkconfig
postfix off
(多数Unix/Linux系统运行Sendmail作为邮件服务器, 而该软件历史上出现过较多安全漏洞,如无必要,禁止该服务)
  • 五、SSH安全配置
设置项
1. 配置空闲登出的超时间隔: ClientAliveInterval 300
ClientAliveCountMax 0
(Vi /etc/ssh/sshd_config)
2. 禁用 .rhosts 文件
IgnoreRhosts yes(Vi /etc/ssh/sshd_config)
3. 禁用基于主机的认证
HostbasedAuthentication no (Vi /etc/ssh/sshd_config)
4. 禁止 root 帐号通过 SSH 登录 PermitRootLogin no
(Vi /etc/ssh/sshd_config)
5. 用警告的 Banner Banner /etc/issue
(Vi /etc/ssh/sshd_config)
6. iptables防火墙处理 SSH 端口 # 64906
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 64906 -j
ACCEPT
-A INPUT -s 202.54.1.5/29 -m state --state NEW -p tcp --dport 64906 –j
ACCEPT
(这里仅作为参考,需根据实际需要调整参数)
7. 修改 SSH 端口和限制 IP 绑定:
Port 64906
安装selinux管理命令
yum -y install policycoreutils-Python
修改 port contexts(关键),需要对context进行修改
semanage port -a -t ssh_port_t -p tcp 64906
semanage port -l | grep ssh ----查看当前SElinux 允许的ssh端口
(Vi /etc/ssh/sshd_config仅作为参考,需根据实际需要调整参数)
8. 禁用空密码:
PermitEmptyPasswords no
(禁止帐号使用空密码进行远程登录SSH)
9. 记录日志:
LogLevel INFO
(确保在 sshd_config 中将日志级别 LogLevel 设置为 INFO 或者 DEBUG,可通过 logwatch or logcheck 来阅读日志 。)
10. 重启SSH
systemctl restart sshd.service
(重启ssh)
  • 六、封堵openssl的Heartbleed漏洞
检测方法:在服务器上运行以下命令确认openssl版本
# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
以上版本的openssl存在Heartbleed bug,需要有针对性的打补丁 。升级补丁:
#yum -y install openssl 验证:
# openssl version -a
OpenSSL 1.0.1e-fips 11 Feb 2013
built on: Thu Jun 5 12:49:27 UTC 2014
以上built on 的时间是2014.6.5号,说明已经修复了该漏洞 。
注:如果能够临时联网安装以上补丁,在操作上会比较简单一些 。如果无法联网,则有两种处理办法:首选从安装光盘拷贝独立的rpm安装文件并更新;另一个办法是提前下载最新版本的openssl源码,编译并安装 。
  • 七、开启防火墙策略
在CentOS7.0中默认使用firewall代替了iptables service 。虽然继续保留了iptables命令,但已经仅是名称相同而已 。除非手动删除firewall,再安装iptables,否则不能继续使用以前的iptables配置方法 。以下介绍的是firewall配置方法:
#cd /usr/lib/firewalld/services //该目录中存放的是定义好的网络服务和端口参数,只用于参考,不能修改 。这个目录中只定义了一部分通用网络服务 。在该目录中没有定义的网络服务,也不必再增加相关xml定义,后续通过管理命令可以直接增加 。#cd /etc/firewalld/services/
//从上面目录中将需要使用的服务的xml文件拷至
这个目录中,如果端口有变化则可以修改文件中的数值 。
 
  • 八、启用系统审计服务
审计内容包括:系统调用、文件访问、用户登录等 。编辑/etc/audit/audit.rules,在文中添加如下内容:
-w /var/log/audit/ -k LOG_audit
-w /etc/audit/ -p wa -k CFG_audit
-w /etc/sysconfig/auditd -p wa -k CFG_auditd.conf
-w /etc/libaudit.conf -p wa -k CFG_libaudit.conf
-w /etc/audisp/ -p wa -k CFG_audisp
-w /etc/cups/ -p wa -k CFG_cups
-w /etc/init.d/cups -p wa -k CFG_initd_cups
-w /etc/netlabel.rules -p wa -k CFG_netlabel.rules
-w /etc/selinux/mls/ -p wa -k CFG_mac_policy
-w /usr/share/selinux/mls/ -p wa -k CFG_MAC_policy
-w /etc/selinux/semanage.conf -p wa -k CFG_MAC_policy
-w /usr/sbin/stunnel -p x
-w /etc/security/rbac-self-test.conf -p wa -k CFG_RBAC_self_test
-w /etc/aide.conf -p wa -k CFG_aide.conf
-w /etc/cron.allow -p wa -k CFG_cron.allow
-w /etc/cron.deny -p wa -k CFG_cron.deny
-w /etc/cron.d/ -p wa -k CFG_cron.d
-w /etc/cron.daily/ -p wa -k CFG_cron.daily
-w /etc/cron.hourly/ -p wa -k CFG_cron.hourly


推荐阅读