做好ssh远程访问安全
传统都是这样的:
1. 只允许跳板机登录
2. 跳板机要用 vpn 登录
修改默认端口+fail2ban+ssh 密钥对
0. 保护好自己干活用的桌面机是一切安全的根本。
1. 及时更新 /自动更新意义很大。
2. 改端口号意义不大,只是降低被扫到的概率,对于防范入侵本身而言没有影响。
3. 用公钥认证意义很大(其实不是证书,证书比这个复杂多了),另外公钥还可以另外加 pass pharse 再做到端的保护。
4. 在多台服务器之间人工交互操作穿梭或者拷文件时,不要服务器上生成私钥做信任,要用-A 或者-J 通过最初始的 agent 认证。
5. 高强度口令有一定意义(如果你不太能接受只允许公钥的话)。
6. PermitRootLogin 关了有一定意义。
7. 禁用 sudo 用 su 毫无意义而且可能适得其反,sudo 是可以配置很细的规则来限制访问的,而 su 就是一竿子到底。
8. fail2ban / sshguard 有一定意义,不过其实那些试口令的肉鸡不太可能突破只允许公钥认证的设置,就是图个清静。
隐藏管理端口
https://github.com/EtherDream/toh/wiki/%E5%A6%82%E4%BD%95%E9%9A%90%E8%97%8F%E7%AE%A1%E7%90%86%E7%AB%AF%E5%8F%A3
原始讨论在这里https://www.v2ex.com/t/826045#reply37
诸业皆是自作自受,休咎祸福,尽从心生。