服务器装好后,你一般做哪些安全上的优化?

2016-09-15 23:35:46 +08:00
 dennyzhang
先抛个砖。我一般做如下几件事:
- iptables 防火墙
- sshd 禁止通过密码登录
- 给 command history 加上 timestamp
9004 次点击
所在节点    DevOps
51 条回复
choury
2016-09-16 22:50:12 +08:00
反正我的 22 端口是个密罐,用来记录所有尝试登陆的密码
guokeke
2016-09-16 23:41:14 +08:00
-=- root 禁了就不管了。
jimzhong
2016-09-17 08:05:25 +08:00
@zpvip 我这么写
iptables -A INPUT -p tcp --dport 2222 -m state --state NEW -m recent --set --name ssh --rsource
iptables -A INPUT -p tcp --dport 2222 -m state --state NEW -m recent ! --rcheck --seconds 60 --hitcount 4 --name ssh --rsource -j ACCEPT
Hardrain
2016-09-17 09:12:28 +08:00
1) iptables 限制自己不用的端口
2) Web 程序的后台 Fail2Ban
3) SSH 禁用键盘交互(密码),只能用公钥登录
kn007
2016-09-17 09:29:35 +08:00
补充,顺带的做 SSH 登录邮件提醒,感觉很有必要,在没两步验证的情况下

https://kn007.net/topics/email-alert-when-ssh-login/
ywgx
2016-09-17 13:12:15 +08:00
看了大家的方案,这是个人自己玩玩可以;企业级的管理, xabcloud.com 的看看吧
Nitroethane
2016-09-17 23:38:34 +08:00
改 ssh 端口,并且使用 RSA 私钥进行登录,禁用密码登录;使用防火墙关闭,所有端口,只开放自己需要的,比如我的服务器只开了 3 个端口, 80 , 443 和 ssh 端口;定期打补丁。这是已经做了的,最近考虑写个脚本用来处理 nginx 的访问日志,比如说当有陌生 ip 在短时间内产生大量访问,并且有无意义的请求时,做黑名单处理;再写个脚本,定期监测 last 命令的输出,如果发现不是我的 ip 登录,给我发邮件啥的
bianchensz
2016-09-18 10:10:25 +08:00
改端口,改密钥,禁密禁 root 远程。
sutra
2016-09-18 11:39:00 +08:00
block in quick proto tcp from any os "Linux" to any port ssh
soulteary
2016-09-18 12:06:51 +08:00
这个是炸鱼帖子...

1. 改 root 密码为 16 ~ 20 位随机密码。
2. 创建新用户,赋权,配置 rsakey 和授信 hosts , key 根据情况加密码&定期更换。
3. 配置 sshd ,改端口,禁密码登录,禁 root 登录,禁用 pam ( openssl 后遗症)
4. ufw 简化管理 iptables ,开闭端口。
5. fail2ban 随便开几个需要的规则。
6. supervisor 守护 fail2ban 。
7. 如果有 1 ~ 2 台靠谱的机器,(任何网络下都能登录的, sla 高)当壁垒机器,其他机器仅允许从壁垒机上登录,定期维护这 1 ~ 2 个入口。
8. 二步个人不推荐,如果专有一台手机做 token 另外(最近几年频繁换手机, token 各种重置各种痛苦)
dennyzhang
2016-09-18 15:03:59 +08:00
@soulteary ^-^ 嗯嗯嗯,好大一条鱼

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/306519

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX