介绍:

    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日志进行监控。排查不安全因素

        一个好的日志服务器,可大大减轻管理员的工作,并方便管理。

        。。。。。。


总结:

    上面只是在一些常见的生产环境碰到的一些问题和个人总结,当然还有很多种方式可以提高其安全性,根据实地生产环境和需求环境,灵活变通选择适合生产环境的的安全措施才是王道!