20个OpenSSH服务器最佳安全实践.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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 300 ClientAliveCountMax 0 上面的例子设置的空闲超时时间间隔是300秒,即5分钟,过了这个时间后,空闲用户将被自动踢出出去(可以理解为退出登录/注销)。 5、禁用.rhosts文件 不要读取用户的~/.rhosts和~/.shosts文件,使用下面的设置更新sshd_config配置文件: IgnoreRhosts yes SSH可以模拟过时的rsh命令的行为,rsh被公认为是不安全的远程访问协议,因此必须得禁用掉。 6、禁用基于主机的身份验证 为了禁用基于主机的身份验证,使用下面的选项更新sshd_config配置文件: HostbasedAuthentication no 7、禁用root通过SSH登录 没有必要使用root用

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档