ssh安全设置,提高服务器安全性

转载 2015年07月08日 11:35:48

sshd[25632]: Failed password for root from 121.43.184.36 port 30580 ssh2

sshd[25633]: Received disconnect from 121.43.184.36: 11: Bye Bye

 pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=12
1.43.184.36  user=root



服务器放在公网上,每天有大量ssh连接尝试登录,尝试破解root密码,网上找了一些方法

SSH配置文件在/etc/ssh/ssh_config ,通过修改配置参数可以提高安全性,参考 http://blog.licess.com/sshd_config/



以下转载于 http://www.coolskill.net/article/ssh-security-methods-to-improve.htm

1. 修改sshd服务器的配置文件/etc/ssh/sshd_config,将部分参数参照如下修改,增强安全性。

系统缺省使用22号端口,将监听端口更改为其他数值(最好是1024以上的高端口,以免和其他常规服务端口冲突),这样可以增加入侵者探测系统是否运行了 sshd守护进程的难度。

Port 5555

对于在服务器上安装了多个网卡或配置多个IP地址的情况,设定sshd只在其中一个指定的接口地址监听,这样可以减少sshd的入口,降低入侵的可能性。

ListenAddress 192.168.0.1

如果允许用户使用root用户登录,那么黑客们可以针对root用户尝试暴力破解密码,给系统安全带来风险。

PermitRootLogin no

允许使用空密码系统就像不设防的堡垒,任何安全措施都是一句空话。

PermitEmptyPasswords no

只允许指定的某些用户通过ssh访问服务器,将ssh使用权限限定在最小的范围内。

AllowUsers sshuser1 sshuser2

同上面的AllowUsers类似,限定指定的用户组通过ssh访问服务器,二者对于限定访问服务器有相同的效果。

AllowGroups sshgroup

禁止使用版本1协议,因为其存在设计缺陷,很容易使密码被黑掉。

Protocol 2

关闭X11Forwarding,防止会话被劫持。

X11Forwarding no

sshd服务运行时每一个连接都要使用一大块可观的内存,这也是ssh存在拒绝服务攻击的原因。一台服务器除非存在许多管理员同时管理服务器,否则上面这 个连接数设置是够用了。

MaxStartups 5

注意:以上参数设置仅仅是一个示例,用户具体使用时应根据各自的环境做相应的更改。

2. 修改sshd服务器的配置文件/etc/ssh/sshd_config的读写权限,对所有非root用户设置只读权限,防止非授权用户修改sshd 服务的安全设置。

chmod 644 /etc/ssh/sshd_config

3. 设置TCP Wrappers。服务器默认接受所有的请求连接,这是非常危险的。使用TCP Wrappers可以阻止或允许应用服务仅对某些主机开放,给系统在增加一道安全屏障。这部分设置共涉计到两个文件:hosts.allow和 hosts.deny。

将那些明确允许的请求添加到/etc/hosts.allow中。如系统仅允许IP地址为192.168.0.15和10.0.0.11的主机使用 sshd服务,则添加如下内容:

sshd:192.168.0.15 10.0.0.11

将需要禁止使用的信息添加到/etc/hosts.deny中。如对除了在hosts.allow列表中明确允许使用sshd的用户外,所有其他用户都禁止使用sshd服务,则添加如下内容到hosts.deny文件中:

sshd:All

注意:系统对上述两个文件的判断顺序是先检查hosts.allow文件再查看hosts.deny文件,因此一个用户在hosts.allow允许使用网络资源,而同时在hosts.deny中禁止使用该网络资源,在这种情况下系统优先选择使用hosts.allow配置,允许用户使用该网络资源。

4. 尽量关闭一些系统不需要的启动服务。系统默认情况下启动了许多与网络相关的服务,因此相对应的开放了许多端口进行LISTENING(监听)。我们知道,开放的端口越多,系统从外部被入侵的可能也就越大,所以我们要尽量关闭一些不需要的启动服务,从而尽可能的关闭端口,提供系统的安全性。

http://blog.ddup.us/2012/04/09/server-intrusion-events/


  1. SSHD默认开22端口没问题,但是一旦开了默认端口,那么必须配合iptables限制访问数量,防止暴力破解。网上找的一段iptables配置规则,每分钟至多允许三条ssh连接,一旦超过之后,客户端的连接将会在下一分钟内全部被拒绝。

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set \  
 --name SSH -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 4 --rttl \  
 --name SSH -j LOG --log-prefix "SSH_brute_force "
iptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 \  
 --hitcount 4 --rttl --name SSH -j DROP


相关文章推荐

ssh安全机制浅探

1。  ssh 协议                 SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协...

ssh服务安全配置

参考:http://thinkhole.org/wp/2006/10/30/five-steps-to-a-more-secure-ssh/http://www.foogazi.com/2006/11...
  • jcwKyl
  • jcwKyl
  • 2010-01-14 21:50
  • 5180

SpringSecurity安全配置—SSH整合

SpringSecurity安全配置—SSH整合 项目中使用了SpringSecurity,发现SpringSecurity实现登录管理很方便,花了一点时间,将SpringSecurity安全配...

iterm2远程中文乱码问题

刚接触使用iterm2,一直被中文乱码问题困扰。原因是mac的编码格式默认是utf-8,而远端服务器都是gbk编码。 按网上的教程,直接调整profiles的格式为gbk无效,又不可能把所有服务器的...

linux服务器安全配置实例(二)sshd服务安全配置和优化

ssh服务是最常用的远程登录服务,虽然其比telnet安全多,但是也存在一定的安全漏洞。一些不友好的小伙伴们会使用一些不和谐程序对ssh服务进行暴力破解。对ssh服务进行适当的配置可以完全杜绝暴力破解...

加强Unix,Linx服务器SSH访问的安全性方法

加强Unix,Linx服务器SSH访问的安全性方法 策略: 1.限制性SSH访问,将sshd绑定到一个ip地址,和允许所有ip地址是完全不同的安全。 2.将sshd默认端口22改为其它端口。 ...

SSH密钥登录让VPS下centos服务器更安全

随着PHP越来越流行,Linux VPS/服务器的使用也越来越多,Linux的安全问题也需要日渐加强,如果你安装过DenyHosts并设置过邮件提醒,你每天可能会受到数封DenyHosts Repor...

linux服务器安全增强(ssh和iptables)

其实在大学里就一直想做一个服务器运维人员,可惜机遇不巧现在做的是C++开发。终于某一天当我用lastb查看到那么多的对root密码猜解失败记录时意识到我们服务器的安全性确实很差,因为不确定是否有某人进...

SSH密钥登录让Linux VPS/服务器更安全

查看 /var/log 登录日志文件,突然发现服务器被人扫描端口在进行暴力攻击 平常登录服务器,都是使用用户密码登录,看来这样的做法并不安全,不得不关闭密码登录了。 总结了一个putty使用密钥自动登...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)