介绍:
SSH又称Secure Shell, 是linux下常用的远程登陆服务器方式, 其基于SSL加密功能, 相比较ftp, telnet等明文传输协议来说安全等级更高, 在在企业开发环境中被大量使用, 而基于SSH的安全方式鱼龙混杂, 各有春秋.
原因:
有一个朋友是做游戏的,他告诉我他们公司关于ssh安全方面就有五层验证!好吧,可能对于一些不是很注重安全的运维小伙伴来说,弄那么复杂干嘛?甚至有的公司直接root登陆(很危险), 甚至有的ssh默认端口都不改。 我个人认为不一定安全做的那么多,(当然要根据公司业务具体环境具体来定)但起码一些基本的安全方面要做到位!
下面是我多年实战个人总结一些方法,介绍并分享给大家!
常用的服务器安全方面的措施:
1、硬防火墙。
通过硬件防火墙acl策略也决定是否可以访问某台主机
2、软防火墙 [常用]
比如iptables,tcpwrappers,防护软件等,内部对主机进一步进行限制
3、修改默认的ssh端口 [必用]
默认是22,建议改成五位。
4、密码要符合复杂性要求,防止暴力破解 [必用]
避免ssh暴力破解,建议密码稍微复杂一些,符合四分之三原则!
5、禁止root登陆 [必用]
禁止root远程ssh登录
在/etc/ssh/sshd_config设置:PermitRootLogin no:
禁止root本机登录(根据具体环境,这个不是很必要)
将 auth required pam_succeed_if.so user != root quiet
添加到/etc/pam.d/login 文件第一行
6、禁止密码登陆 [常用]
删除不必要的账号,并禁止用户密码登陆
7、公钥私钥认证 [常用]
通过公钥私钥rsa2048,并设置复杂性密码
8、LDAP等方式统一认证登陆
通过对ssh账号集中化管理,进一步提升安全
9、对secure日志进行日志切割,通过脚本,对于不安全的访问ip进行过滤并报警
secure日志记录着用户远程登陆的信息,可通过查看此日志排查不安全因素。
10、搭建日志服务器,对secure日志进行监控。排查不安全因素
一个好的日志服务器,可大大减轻管理员的工作,并方便管理。
。。。。。。
总结:
上面只是在一些常见的生产环境碰到的一些问题和个人总结,当然还有很多种方式可以提高其安全性,根据实地生产环境和需求环境,灵活变通选择适合生产环境的的安全措施才是王道!