为了进行远程管理Unix连同Linux服务器,远程登录服务器方法主要包括:Telnet、 FTP、 rlogin、 rsh、 rexec和ssh。其中ssh(Secure Shell)是以远程联机服务方式操作服务器时的较为安全的解决方案。他最初由芬兰的一家公司研发,但由于受版权和加密算法的限制,很多人转而使用免费的替代软件OpenSSH。他用安全、加密的网络连接工具代替了 telnet、ftp、rlogin、rsh 和 rcp 工具。OpenSSH 支持 SSH 协议的版本 1.3、1.5、和 2。使用 OpenSSH 工具将会增进您的系统安全性。 任何使用 OpenSSH 工具的通讯,包括口令,都会被加密。 telnet 和 ftp 使用纯文本口令,并被明文发送。这些信息可能会被截取,口令可能会被检索,然后未经授权的人员可能会使用截取的口令登录进您的系统而对您的系统造成危害。您应该尽可能地使用 OpenSSH 的工具集合来避免这些安全问题。

   OpenSSH相对Telnet、FTP、rlogin、rsh、rexec这些服务来说比较安全。但是需要看到OpenSSH服务也面临一些安全隐患:但是OpenSSH现在存在几个安全遗患:口令、密匙破解(SSH能够允许任何人只要保持密码框空白并按回车键,就可远程登录密码为两个字符的某一帐户。)连同部分OpenSSH发行版本中可能被安放木马(相关链接:http://network.ccidnet.com/pub/disp/Article?columnID=239&articleID=21882&pageNO=1 ),连同拒绝服务攻击。本文将介绍如何加固OpenSSH服务器。

  一、升级旧版本

  升级陈旧的OpenSSH版本,因为早期的OpenSSH版本(3.0.0版本)存在的安全漏洞。2003年9月,在类Unix的世界里也出现了一个严重的漏洞:Openssh的溢出漏洞。 Openssh是远程终端登录软件,运行在类Unix上。几乎任何的类Unix发行版本都把这个软件作为缺省安装。因此这个软件出现溢出漏洞影响了几乎任何的类Unix操作系统。Redhat linux描述此漏洞的页面网址是:rhn.redhat.com/errata/RHSA-2003-279.html。特别是对于一个新配置的 OpenSSH服务器来说使用最新稳定版本是最明智的选择,能够在其官方网站(http://www.openssh.com/ )下载其源代码进行编译。最新版本是2005年9月1日发布4.2。

  二、使用xinetd模式运行OpenSSH

  OpenSSH能以Stand- alone、xinetd两种模式运行,当用户账号比较少又经常需要连接到ProFTPD服务器时推荐使用xinetd模式运行。使用xinetd方式运行ProFTPD能够有效防范DoS攻击。xinetd模式工作原理见:深入了解Linux的守护进程(daemons)(链接:http://www.ccw.com.cn/server/yyjq/htm2005/20050914_14ND5.htm )。

  和stand-alone工作模式相比,系统不想要每一个网络服务进程都监听其服务端口。运行单个xinetd就能够同时监听任何服务端口,这样就降低了系统开销,保护系统资源。但是对于访问量大、经常出现并发访问时,xinetd想要频繁启动对应的网络服务进程,反而会导致系统性能下降。xinetd提供类似于inetd tcp_wrapper的功能,但是更加强大和安全。能有效的防止拒绝服务攻击(Denial of Services):

  1、限制同时运行的进程数

  通过配置instances选项设定同时运行的并发进程数:

  instances=20

  当服务器被请求连接的进程数达到20个时,xinetd将停止接受多出部分的连接请求。直到请求连接数低于设定值为止。

  2、限制一个IP地址的最大连接数

  通过限制一个主机的最大连接数,从而防止某个主机独占某个服务。

  per_source=5

  这里每个IP地址能够连接单个IP地址的连接数是5个。

  3、限制负载

  xinetd还能够使用限制负载的方法防范拒绝服务攻击。用一个浮点数作为负载系数,当负载达到这个数目的时候,该服务将暂停处理后续的连接:

  max_load = 2.8

  上面的例子中当一项系统负载达到 2.8时,任何服务将暂时中止,直到系统负载下降到设定值以下。说明要使用这个选项,编译时要加入--with-loadavg ,xinetd将而已处理max-load配置选项。从而在系统负载过重时关闭某些服务进程,来实现某些拒绝服务攻击。

  4、限制任何服务器数目(连接速率)

  xinetd能够使用cps选项设定连接速率,下面的例子:

  cps = 25 60

  第一个参数表示每秒能够处理的连接数,假如超过了这个连接数之后进入的连接将被暂时停止处理;第二个参数表示停止处理多少秒后继续处理先前暂停处理的连接。即服务器最多启动25个连接,假如达到这个数目将停止启动新服务60秒。在此期间不接受任何请求。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!