操作系统知识-安全篇-SSH
定义
SSH的英文全称是Secure SHell。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的"通道"。
以上SSH的详细解释,描述了ssh的定义,更指出了SSH协议相较telnet、ftp等其他协议的优点。好!这就是我们采用SSH协议的缘由。
所谓道高一尺魔高一丈,小黑们就喜欢挑战有难度的事情。因此SSH不断的被发现漏洞,又不断的产生新的更安全的版本。
作为主机系统第一道也是最重要的一道防护,这时你就要注意了,可能你的系统中的SSH版本就会存在诸多这样那样的漏洞。因此SSH的升级是一个持续持之以恒的过程!
你可以不定期的到 http://www.ssh.com/ 上去查看你当前版本的bug发布情况,查找更新更稳定的版本进行更新(注:是“stable”稳定版)。
关于SSH的配置与使用
俗话说的好“宝剑赠英雄”,ssh是把好剑,但如果你是狗熊,就可能像一部IPHONE落到原始人手里,顶多是一块长得比较好看的“石头”。
好,接下来,让我们一起了解一下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
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中禁止运用该网络资源,在这种情况下系统{color:red}优先选择运用 hosts.allow配置{color},允许用户运用该网络资源。
4.尽量关闭一些系统不须要的启动服务。系统默认情况下启动了许多与网络有关的服务,因此相对应的开放了许多端口执行 LISTENING(监听)。我们知道,开放的端口越多,系统从外部被入侵的可能也就越大,所以我们要尽量关闭一些不须要的启动服务,从而尽可能的关闭端口,提供系统的安全性。
总结
持续的更新,良好的配置,是一个系统安全的必要保证。我们只有做到每一个必要,才能更好的保障系统的安全!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7813229/viewspace-623997/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7813229/viewspace-623997/