Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103691855
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-04-27 16:36:27

    来源:网易    作者:mary

众所周知,就安全性而言,Linux相对于Windows具有更多的优势。但是,不管选择哪一种Linux发行版本,在安装完成以后都应该进行一些必要的配置,来增强它的安全性。下面就通过几个步骤来加固的Linux服务器。目前,许多中小用户因业务发展,不断更新或升级网络从而造成自身用户环境差异较大,整个网络系统平台参差不齐,在服务器端大多使用Linux和Unix的,PC端使用Windows 和Mac。所以在企业应用中往往是Linux、Unix和Windows操作系统共存形成异构网络。

1.安装和配置一个防火墙

一个配置适当的防火墙不仅是系统有效应对外部攻击的第一道防线,也是最重要的一道防线。在新系统第一次连接上Internet之前,防火墙就应该被安装并且配置好。防火墙配置成拒绝接收所有数据包,然后再打开允许接收的数据包,将有利于系统的安全。Linux为我们提供了一个非常优秀的防火墙工具,它就是netfilter/iptables()。它完全是免费的,并且可以在一台低配置的老机器上很好地运行。防火墙的具体设置方法请参见iptables使用方法。

2.关闭无用的服务和端口

任何网络连接都是通过开放的应用端口来实现的。如果我们尽可能少地开放端口,就使网络攻击变成无源之水,从而大大减少了攻击者成功的机会。把Linux作为专用服务器是个明智的举措。例如,希望Linux成为的Web服务器,可以取消系统内所有非必要的服务,只开启必要服务。这样做可以尽量减少后门,降低隐患,而且可以合理分配系统资源,提高整机性能。以下是几个不常用的服务:

1. fingerd(finger服务器)报告指定用户的个人信息,包括用户名、真实姓名、shell、目录和联系方式,它将使系统暴露在不受欢迎的情报收集活动下,应避免启动此服务。

2. R服务(rshd、rlogin、rwhod、rexec)提供各种级别的命令,它们可以在远程主机上运行或与远程主机交互,在封闭的网络环境中登录而不再要求输入用户名和口令,相当方便。然而在公共服务器上就会暴露问题,导致安全威胁。

3.删除不用的软件包

在进行系统规划时,总的原则是将不需要的服务一律去掉。默认的Linux就是一个强大的系统,运行了很多的服务。但有许多服务是不需要的,很容易引起安全风险。这个文件就是/etc/xinetd.conf,它制定了/usr/sbin/xinetd将要监听的服务,你可能只需要其中的一个:ftp,其它的类如telnet、shell、login、exec、talk、ntalk、imap、finger、auth等,除非你真的想用它,否则统统关闭。

4.不设置缺省路由

在主机中,应该严格禁止设置缺省路由,即default route。建议为每一个子网或网段设置一个路由,否则其它机器就可能通过一定方式访问该主机。

5.口令管理

口令的长度一般不要少于8个字符,口令的组成应以无规则的大小写字母、数字和符号相结合,严格避免用英语单词或词组等设置口令,而且各用户的口令应该养成定期更换的习惯。另外,口令的保护还涉及到对/etc/passwd和/etc/shadow文件的保护,必须做到只有系统管理员才能访问这2个文件。安装一个口令过滤工具加npasswd,能帮你检查你的口令是否耐得住攻击。如果你以前没有安装此类的工具,建议你现在马上安装。如果你是系统管理员,你的系统中又没有安装口令过滤工具,请你马上检查所有用户的口令是否能被穷尽搜索到,即对你的/ect/passwd文件实施穷尽搜索攻击。用单词作密码是根本架不住暴力攻击的。黑客们经常用一些常用字来破解密码。曾经有一位美国黑客表示,只要用“password”这个字,就可以打开全美多数的计算机。其它常用的单词还有:account、ald、alpha、beta、computer、dead、demo、dollar、games、bod、hello、help、intro、kill、love、no、ok、okay、please、sex、secret、superuser、system、test、work、yes等。密码设置和原则:

1)足够长,指头只要多动一下为密码加一位,就可以让攻击者的辛苦增加十倍;

2)不要用完整的单词,尽可能包括数字、标点符号和特殊字符等;

3)混用大小写字符;

4)经常修改。

6.分区管理

一个潜在的攻击,它首先就会尝试缓冲区溢出。在过去的几年中,以缓冲区溢出为类型的安全漏洞是最为常见的一种形式了。更为严重的是,缓冲区溢出漏洞占了远程网络攻击的绝大多数,这种攻击可以轻易使得一个匿名的Internet用户有机会获得一台主机的部分或全部的控制权!

为了防止此类攻击,我们从安装系统时就应该注意。如果用root分区记录数据,如log文件,就可能因为拒绝服务产生大量日志或垃圾邮件,从而导致系统崩溃。所以建议为/var开辟单独的分区,用来存放日志和邮件,以避免root分区被溢出。最好为特殊的应用程序单独开一个分区,特别是可以产生大量日志的程序,还建议为/home单独分一个区,这样他们就不能填满/分区了,从而就避免了部分针对Linux分区溢出的恶意攻击。

很多Linux桌面用户往往是使用Windows、Linux双系统。最好使用双硬盘。方法如下:首先将主硬盘的数据线拆下,找一个10GB左右的硬盘挂在计算机上,将小硬盘设置为从盘,按照平常的操作安装Linux服务器版本,除了启动的引导程序放在MBR外,其它没有区别。 安装完成,调试出桌面后,关闭计算机。将小硬盘的数据线拆下,装上原硬盘,并设定为主盘(这是为了原硬盘和小硬盘同时挂接在一个数据线上),然后安装Windows软件。将两个硬盘都挂在数据线上,数据线是IDE 0接口,将原硬盘设定为主盘,小硬盘设定为从盘。如果要从原硬盘启动,就在CMOS里将启动的顺序设定为“C、D、CDROM”,或者是“IDE0(HDD-0)”。这样计算机启动的时候,进入Windows界面。如果要从小硬盘启动,就将启动顺序改为“D、C、CDROM”,或者是“IDE1(HDD-1)”,启动之后,将进入Linux界面。平时两个操作系统是互相不能够访问的。

7.防范网络嗅探:

嗅探器技术被广泛应用于网络维护和管理方面,它工作的时候就像一部被动声纳,默默的接收看来自网络的各种信息,通过对这些数据的分析,网络管理员可以深入了解网络当前的运行状况,以便找出网络中的漏洞。在网络安全日益被注意的今天.我们不但要正确使用嗅探器.还要合理防范嗅探器的危害.嗅探器能够造成很大的安全危害,主要是因为它们不容易被发现。对于一个安全性能要求很严格的企业,同时使用安全的拓扑结构、会话加密、使用静态的ARP地址是有必要的。

8.完整的日志管理

日志文件时刻为你记录着你的系统的运行情况。当黑客光临时,也不能逃脱日志的法眼。所以黑客往往在攻击时修改日志文件,来隐藏踪迹。因此我们要限制对/var/log文件的访问,禁止一般权限的用户去查看日志文件。

另外要使用日志服务器。将客户机的日志信息保存副本是好主意,创建一台服务器专门存放日志文件,可以通过检查日志来发现问题。修改/etc/sysconfig/syslog文件加入接受远程日志记录。

/etc/sysconfig/syslog

SYSLOGD_OPTIONS="-m r 0"

还应该设定日志远程保存。修改/etc/syslog.conf文件加入日志服务器的设置,syslog将保存副本在日志服务器上。

/etc/syslog.conf

*.* @log_server_IP

可以使用彩色日志过滤器。彩色日志loco过滤器,目前版本是0.32。使用loco /var/log/messages   more可以显示出彩色的日志,明显标记出root的位置和日志中异常的命令。这样可以减少分析日志时人为遗漏。还要进行日志的定期检查。Red Hat Linux中提供了logwatch工具,定期自动检查日志并发送邮件到管理员信箱。需要修改/etc/log.d/conf/ logwatch.conf文件,在MailTo = root参数后增加管理员的邮件地址。Logwatch会定期检查日志,过滤有关使用root、sudo、telnet、ftp登录等信息,协助管理员分析日常安全。完整的日志管理要包括网络数据的正确性、有效性、合法性。对日志文件的分析还可以预防入侵。例如、某一个用户几小时内的20次的注册失败记录,很可能是入侵者正在尝试该用户的口令。

阅读(249) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~