这是一个CentOS 6.2系统。
为了登录托管公司网站,我设置了一个由 20 个字符组成的混合大小写、字母、数字和符号的密码,并启用了双因素身份验证。
我/etc/ssh/sshd_config
关闭了远程根登录并关闭了基于密码的登录。
我在标准端口上运行 sshd、Apache、SSL 和 MySQL(尽管 MySQL 只能从同一主机内访问)。
我计划将其yum update -y
作为每日 cron 任务来运行。(我应该每小时运行一次吗?)
我运行这个脚本来配置我的防火墙......
*filter
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
-A INPUT -j REJECT
-A FORWARD -j REJECT
COMMIT
有没有人建议进行一些改变?
(我意识到我部署的任何应用程序都可能存在自己的安全问题,例如 SQL 注入或跨站点脚本)。目前,我只谈论到目前为止的裸设置。)
答案1
不,它不安全。它是 CentOS 6。2,这个版本相当老旧。您应该更新到最新发布的 CentOS 6.x 并继续更新。我也不会自动运行 yum update,而是让 nagios 在有安全更新时提醒您,这样您就可以手动更新。
您的防火墙相当安全,但我会用输入和转发链上的简单 REJECT 策略替换尾随的 -j REJECT 规则。
您的 SSH 配置没有问题,但如果您想改进它,可以使用双因素身份验证,例如双重安全。
我想补充一些内容:
- ossec 用于异常检测
- fail2ban 用于自动阻止 ssh 攻击