20个OpenSSH服务器最佳安全实践[网络技术]
本文“20个OpenSSH服务器最佳安全实践[网络技术]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
OpenSSH是SSH协议的一种实现,它是远程登录,通过scp或sftp实现备份和远程文件传输等的举荐安全协议,SSH保证两个网络或两个系统之间数据交互的奥秘性和完好性,它的主要长处是通过公钥加密技术实现服务器身份考证.但时有OpenSSH零日漏洞爆出,因此OpenSSH服务器本身也需求调整才能提高整体安全性.
默许配置文件和SSH端口
/etc/ssh/sshd_config:OpenSSH服务器配置文件;
/etc/ssh/ssh_config:OpenSSH客户端配置文件;
~/.ssh/:用户SSH配置目录;
~/.ssh/authorized_keys:用户公钥(RSA或DSA);
/etc/nologin:假如存在这个文件,sshd会回绝除root用户外的别的用户登录;
/etc/hosts.allow和/etc/hosts.deny:定义tcp-wrapper履行的拜候掌握列表;
SSH默许端口:22
图 1 SSH会话窗口
1、禁用OpenSSH服务器
工作站和笔记本电脑可以不用OpenSSH服务器,假如你不需求供应SSH远程登录和文件传输功效,可以禁用并删除SSHD服务器,CentOS / RHEL / Fedora Linux用户可以利用下面的yum号令禁用和删除openssh-server:
# chkconfig sshd off# yum erase openssh-server
Debian / Ubuntu Linux用户可以利用下面的apt-get号令禁用和删除openssh-server:
# apt-get remove openssh-server
你大概需求更新你的iptables脚本,移除ssh例外法则,在CentOS / RHEL / Fedora下,翻开etc/sysconfig/iptables和/etc/sysconfig/ip6tables文件,删掉与ssh相关的例外法则,然后利用下面的号令重启iptables:
# service iptables restart# service ip6tables restart
2、只利用SSH v2
SSH协议的第一个版本(SSH v1或SSH-1)存在中间人攻击问题和安全漏洞,它已经被作废,应当不惜一切代价避免利用SSH v1.翻开sshd_config配置文件,假如没有就增添下面这一行设置:
Protocol 2
这样启动sshd后就只会利用SSH协议的第二个版本(SSH v2或SSH-2)了.
3、限制用户的SSH拜候
默许情形下,全部系统用户都可以用他们的密码或公钥通过SSH实现远程登录,但有时你成立的UNIX/Linux用户是用于ftp或email目的,假如不加限制,这些用户也可以利用ssh登录到系统,并且可以利用编译器,脚本语言,如Perl或Python,这些工具已经充足利害,可以翻开肆意网络端口,履行肆意操作.我的一个客户端上有过期的PHP脚本,攻击者可以通过PHP脚本在系统上成立一个新账号,但攻击者不能通过该账号ssh登录,因为它没有在答应的用户列表范围内(AllowUsers).
假定我们只要root,vivek和jerry用户能通过SSH利用系统,向sshd_config配置文件中增添:
AllowUsers root vivek jerry
别的,你还可以答应全部用户通过SSH登录,但回绝一部份用户,这时就需求向sshd_config配置文件中增添:
DenyUsers saroj anjali foo
你也可以配置Linux PAM答应或回绝通过sshd服务器登录,你也可以指定一列用户组有权拜候或回绝他们拜候ssh.
4、配置闲暇超时退出时间隔断
用户可以通过ssh登录到服务器,你可以设置一个闲暇超不时间隔断避免呈现孤儿ssh会话,翻开sshd_config配置文件,确保有以下的配置项:
ClientAliveInterval 300ClientAliveCountMax 0
上面的例子设置的闲暇超不时间隔断是300秒,即5分钟,过了这个时间后,闲暇用户将被自动踢出出去(可以理解为退出登录/注销).
5、禁用.rhosts文件
不要读取用户的~/.rhosts和~/.shosts文件,利用下面的设置更新sshd_config配置文件:
IgnoreRhosts yes
SSH可以模拟过期的rsh号令的行为,rsh被公认为是不安全的远程拜候协议,因此必须得禁用掉
6、禁用基于主机的身份考证
为了禁用基于主机的身份考证,利用下面的选项更新sshd_config配置文件:
HostbasedAuthentication no
7、禁用root通过SSH登录
没有必要利用root用户通过SSH远程登录,普通用户可以通过su或sudo(举荐)得到root级别的拜候权,这样你可以得到完好的审计信息,谁通过sudo在系统上履行特权号令就会一清二楚.为了禁止root用户通过SSH登录,利用下面的选项更新sshd_config配置文件:
PermitRootLogin no
但也有人认为root用户通过SSH登录没什么不当,之所以人们一向有“不要用root用户登录”的设法,都是不安全的Telnet协议惹的祸.
8、启用告诫横幅
以上是“20个OpenSSH服务器最佳安全实践[网络技术]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |