LINUX中的SSH安全加固小结
2012-09-21 15:57
302 查看
在用ssh登陆远程主机(suse linux系统)的时候,出现下列问题: ssh_exchange_identification: Connection closed by remote host 这个问题是因SSH的安全限制造成的。虽然很好解决,但是需要去机房现场(因安全规定没有开VNC)。具体解决办法:修改/etc/hosts.allow文件,加入 sshd:ALL:ALLOW,然后wq保存并重启sshd服务即可。 就这个小问题,来总结一下LINUX中的SSH安全加固问题: 注:以下配置项都是在 /etc/ssh/sshd_config 文件中修改 1、更改ssh默认端口 在/etc/ssh/sshd_config文件中查找下面这样的行: Port 22 将22端口更改成其它端口,如:10326 。 保存后,重启 SSHD 服务:service sshd restart 建议改成 10000 以上。这样别人扫描到端口的机率会大大下降。 2、限制ROOT远程登陆 在/etc/ssh/sshd_config文件中查找下面这样的行: PermitRootLogin yes 将yes改为no. 保存后,重启 sshd 服务:service sshd restart 当你启用这一选项后,你只能用普通用户登录,然后再用su 切换到 root 帐户。 所以必须注意,在做这个设置之前,务必要给系统添加可以远程登录的普通用户。 3、修改默认登录时间 在/etc/ssh/sshd_config文件中查找下面这样的行: LoginGraceTime 2m 当你连接到 SSH 后,默认是提供 2 分钟的时间让你输入帐户和密码来进行登录,你可以修改这个时间为 1 分钟或 30 秒。 4、升级旧版本 升级陈旧的Openssh版本,因为早期的Openssh版本,存在安全漏洞。对于一个新配置的Openssh服务器来说使用最新稳定版本是最明智的选择。可以在其官网 http://www.openssh.com 下载源代码进行编译。 5、当用户处于非活动时断线 在/etc/ssh/sshd_config文件中查找下面这样的行: ClientAliveCountMax 3 ClientAliveInterval 0 进行如下修改: ClientAliveInterval 600 ClientAliveCountMax 0 ClientAliveCountMax 600:当用户在 10 分钟内处于非活动状态的话,就自动断线。 ClientAliveCountMax:默认为 3 ,表示当 SSH 没有任何活动时, SSH Server 会发送三次检查是否在线(checkalive)的消息。 ClientAliveCountMax:默认为 0,表示当过了几秒后,SSH Server 会发送消息要求用户响应(0 的话表示永远不发送),否则就断线。 6、修改加密协议版本 在/etc/ssh/sshd_config文件中查找下面这样的行: #Protocol 2,1 默认是1和2都可以,将其改为Protocol 2 保存后,重启 SSHD 服务:service sshd restart 与 version 1 不同的是,在 version 2 当中将不再产生 server key 了,所以当 Client 端联机到 Server 端时,两者将藉由 Diffie-Hellman key 的演算方式来产生一个分享的 Key ,之后两者将藉由类似 Blowfish 的演算方式进行同步解密的动作! 7、限制IP 登录 如果你以固定 IP 方式连接你的服务器,那么你可以设置只允许某个特定的 IP 登录服务器。例如我是通过特定堡垒机登录到服务器。设置如下: 编辑 /etc/hosts.allow vi /etc/hosts.allow 例如只允许 124.45.67.52 登录 sshd:124.45.67.52:ALLOW 保存后,重启 sshd 服务:service sshd restart 8、允许或禁止指定用户和组登录 仅允许指定用户和组登录 AllowUsers john jason指定用户 AllowGroups sysadmin dba 指定组 禁止指定的用户或组登录 DenyUsers corn apath指定用户 DenyGroups devers qa 指定组 保存后,重启 SSHD 服务:service sshd restart 注:Allow 和 Deny 可以组合使用,它们的处理顺序是:DenyUsers, AllowUsers, DenyGroups, AllowGroups 9、限制监听IP 如果你的服务器上有多个网卡及 IP ,那么你可以限制某些 IP 不监听 SSH,只允许通过某些 IP 来登录。 比如你有四个网卡 eth0 – 192.168.10.200 eth1 – 192.168.10.201 eth2 – 192.168.10.202 eth3 – 192.168.10.203 你只想让用户通过 200, 202 这两个 IP 来登录,那么做以下设定 在/etc/ssh/sshd_config文件中查找下面这样的行: #ListenAddress 0.0.0.0,进行如下修改 ListenAddress 192.168.10.200 ListenAddress 192.168.10.202 10、最后修改配置文件的属性,防止非授权用户修改配置文件 #chmod 644 /etc/ssh/sshd_config 另外注意/etc/ssh下的文件不能设为777的权限,因为ssh本来就是一个安全登陆的模式,如果设成777(所有人可以任意访问修改),那还有什么安全性可言呢? 总结:每一个小的问题经过认真思考和总结,你就会发现很多有用的细节。
本文出自 “虫子的博客” 博客,请务必保留此出处http://xlogin.blog.51cto.com/3473583/1001919
相关文章推荐
- linux ssh安全加固方法
- linux ssh安全加固方法
- SUSE LINUX中的SSH安全加固小结
- 浅谈linux系统的安全加固
- linux安全登录,ssh
- linux常用命令及学习小结(5)--NFS、Apache、subversion、SSH
- 基线安全与linux基线加固方法
- SecureCRT使用ssh2安全登录Linux
- Centos 5.5 LINUX服务器的安全加固配置方法
- Linux 远程登陆安全加固的方案,附带用户行为简单监控脚本
- 在Linux下设置最简单的ssh安全自动登录
- 【安全运维】 linux 系统账户,网络,简易安全加固方案(第一部分),经测试可行
- Linux服务器安全配置小结
- Linux/Centos服务器ssh安全设置
- LINUX+APACHE+MYSQL+PHP安全加固配置说明
- 利用sudo加固Linux系统安全
- linux系统安全加固-升级glibc/bash
- linux系统安全加固基础篇1
- linux 安全加固
- Linux系统安全加固基础