九月 14th, 2017

在我们使用Linux或Unix组建服务器时,为了方便远程维护和管理,基本上都会开放sshd服务。虽然ssh将联机的封包通过加密的技术来进行 资料的传递,能够有效地抵御黑客使用网络侦听来获取口令和秘密信息,但是仍然不乏大量网络入侵者进行密码尝试或其他手段来攻击ssh服务器以图获得服务器 控制权。

如何才能使自己的服务器更安全可靠呢?只要我们对ssh服务器的配置略加调整,就可以极大地提高系统安全性,降低网络入侵的风险。具体操作如下:

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

Port 5555

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

ListenAddress 192.168.0.1

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

PermitRootLogin no

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

PermitEmptyPasswords no

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

AllowUsers sshuser1 sshuser2

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

AllowGroups sshgroup

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

Protocol 2

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

禁止所有不需要的(或不安全的)授权认证方式。

X11Forwarding no

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

MaxStartups 5

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

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

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

chmod 644 /etc/ssh/sshd_config

Comments are closed.