Linux下ADSL连接网络需要注意安全问题


 Linux ADSL接入用户多是从Windows“移民”过来,对Linux环境和操作即新奇又陌生,Linux有强大的网络功能,但是如果不掌握安全知识就如同三岁儿童手持黄金步行于闹市,不但不能发挥网络功能,而且会有安全危险。下面介绍一些适合Linux ADSL接入用户的安全策略。

    1. 关闭无用的端口

    任何网络连接都是通过开放的应用端口来实现的。如果我们尽可能少地开放端口,就使网络攻击变成无源之水,从而大大减少了攻击者成功的机会。

    首先检查你的inetd.conf文件。inetd在某些端口上守侯,准备为你提供必要的服务。如果某人开发出一个特殊的inetd守护程序,这里就存在一个安全隐患。你应当在inetd.conf文件中注释掉那些永不会用到的服务(如:echo、gopher、rsh、rlogin、rexec、ntalk、finger等)。

    注释除非绝对需要,你一定要注释掉rsh、rlogin和rexec,而telnet建议你使用更为安全的ssh来代替,然后杀掉lnetd进程。这样inetd不再监控你机器上的守护程序,从而杜绝有人利用它来窃取你的应用端口。你最好是下载一个端口扫描程序扫描你的系统,如果发现有你不知道的开放端口,马上找到正使用它的进程,从而判断是否关闭它们。

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

    一个配置适当的防火墙不仅是系统有效应对外部攻击的第一道防线,也是最重要的一道防线。在新系统第一次连接上Internet之前,防火墙就应该被安装并且配置好。防火墙配置成拒绝接收所有数据包,然后再打开允许接收的数据包,将有利于系统的安全。Linux为我们提供了一个非常优秀的防火墙工具,它就是netfilter/iptables(http://www.netfilter.org/)。

    防火墙的具体设置方法请查看:教教你用Linux 防火墙保护你的ADSL连接

    3. 删除不用的软件包

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

    4. 不设置缺省路由

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

    5. 口令管理

    口令的长度一般不要少于8个字符,口令的组成应以无规则的大小写字母、数字和符号相结合,严格避免用英语单词或词组等设置口令,而且各用户的口令应该养成定期更换的习惯。另外,口令的保护还涉及到对/etc/passwd和/etc/shadow文件的保护,必须做到只有系统管理员才能访问这2个文件。

    安装一个口令过滤工具加npasswd,能帮你检查你的口令是否耐得住攻击。如果你以前没有安装此类的工具,建议你现在马上安装。如果你是系统管理员,你的系统中又没有安装口令过滤工具,请你马上检查所有用户的口令是否能被穷尽搜索到,即对你的/ect/passwd文件实施穷尽搜索攻击
6. 分区管理

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

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

    7. 防范网络嗅探

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

    8. 完整的日志管理

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

    另外,我们还可以安装一个icmp/tcp日志管理程序,如iplogger,来观察那些可疑的多次的连接尝试(加icmp flood3或一些类似的情况)。还要小心一些来自不明主机的登录。 完整的日志管理要包括网络数据的正确性、有效性、合法性。对日志文件的分析还可以预防入侵。例如、某一个用户几小时内的20次的注册失败记录,很可能是入侵者正在尝试该用户的口令。

    日志配置文件的典型格式是:警告类型.危险程度 日志文件名。如果在/etc/syslog.conf文件中包含有auth.* /var/log/secure和authpriv.* /var/log/secure。一记录到文件/var/log/secure文件中。这些文件可以日后查。如果希望一发生这样的敏感事件系统就能够及时通知你,可以将日志的输出文件改为控制台,即:

auth.* /dev/console

   
    这样,只要有人试图登录系统或者切换用户,你立刻都可以在控制台上得到警告。完成日志文件配置后,需要执行下面命令来使配置生效:

kill -HUP $(cat /var/run/syslogd.pid)
      
    另外对于桌面用户系统的日志查看工具非常直观。工作界面见下图

系统日志工作界面(点击看大图)


    
    9. 终止正进行的攻击

    假如你在检查日志文件时,发现了一个用户从你未知的主机登录,而且你确定此用户在这台主机上没有账号,此时你可能正被攻击。首先你要马上锁住此账号(在口令文件或shadow文件中,此用户的口令前加一个Ib或其他的字符)。若攻击者已经连接到系统,你应马上断开主机与网络的物理连接。如有可能,你还要进一步查看此用户的历史记录,查看其他用户是否也被假冒,攻击音是否拥有根权限。杀掉此用户的所有进程并把此主机的ip地址掩码加到文件hosts.deny中。

    10. 使用安全工具软件:

    Linux已经有一些工具可以保障服务器的安全。如bastille linux。对于不熟悉 linux 安全设定的使用者来说,是一套相当方便的软件,bastille linux 目的是希望在已经存在的 linux 系统上,建构出一个安全性的环境

11.  使用保留IP地址

    维护网络安全性最简单的方法是保证网络中的主机不同外界接触。最基本的方法是与公共网络隔离。然而,这种通过隔离达到的安全性策略在许多情况下是不能接受的。这时,使用保留IP地址是一种简单可行的方法,它可以让用户访问Internet同时保证一定的安全性。

    RFC 1918规定了能够用于本地 TCP/IP网络使用的IP地址范围,这些IP地址不会在Internet上路由,因此不必注册这些地址。通过在该范围分配IP地址,可以有效地将网络流量限制在本地网络内。这是一种拒绝外部计算机访问而允许内部计算机互联的快速有效的方法。

    保留IP地址范围:
    ----   10.0.0.0 - 10.255.255.255
    ----   172.16.0.0 - 172.31.255.255
    ----   192.168.0.0 - 192.168.255.255

    来自保留IP地址的网络交通不会经过Internet路由器,因此被赋予保留IP地址的任何计算机不能从外部网络访问。但是,这种方法同时也不允许用户访问外部网络。IP伪装可以解决这一问题。

    12. 选择发行版本:

    对于使用的Linux版本,既不使用最新的发行版本,也不选择太老的版本。应当使用比较成熟的版本:前一个产品的最后发行版本如RHEL 4.2等。毕竟来说安全稳定是第一的。

    13. 关注后门程序和病毒

    可执行文件型病毒、蠕虫(worm)病毒、脚本病毒的防范通过安装GPL查杀病毒软件基本可以防范。桌面用户可以选择tkantivir(http://www.sebastian-geiges.de/tkantivir/ )是用Tcl/Tk写的,可以运行在任何X-Windows环境下面,比如KDE或Gnome等。

    后门程序是潜伏在系统中的窃贼,其危害程序绝对不在病毒之下。在Linux中,后门程序可以非常隐蔽,清理也很困难,所以最简便的防备方法是不运行任何来路不明的应用程序。但是这些还不够,还需要一个清理程序Chkrootkit(http://www.chkrootkit.org/ )。Chkrootkit可以检测系统的日志和文件,查看是否有恶意程序侵入系统,并且寻找关联到不同恶意程序的信号。

    最新版本的Chkrootkit0.45可以检测出sniffers、Trojans、worms、rootkit等59种。

    14. 使用ssh工具替代FTP和Telnet

     我们通常使用的网络传输程序FTP和Telnet等在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,黑客利用嗅探器非常容易截获这些口令和数据。SSH的英文全称是Secure SHell。通过使用SSH,用户可以把所有传输的数据进行加密,这样即使网络中的黑客能够劫持用户所传输的数据,如果不能解密的话,也不能对数据传输构成真正的威胁。

    另外,传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP提供一个安全的“传输通道”。在不安全的网路通信环境中,它提供了很强的验证(authentication)机制与非常安全的通信环境。SSH(Secure Shell)最初由芬兰的一家公司开发,但由于受版权和加密算法的限制,很多人转而使用免费的替代软件OpenSSH。命令行使用OPENSSH比较麻烦。

    这里介绍  gFTP和OPENSSH整合在一齐,提供一个图形化加密传输方案。gFTP和Windows下的CuteFtp一样使用非常简单,而且几乎所有的Linux发行版本都带有gFTP,不需要安装就可以使用。gFTP工作界面见下图。

安全的传输工具gFTP工作界面(点击看大图)

    
    15. 勤打补丁

    你应该经常到你所安装的系统发行商的主页上去找最新的补丁。操作系统是计算机系统灵魂,维护着系统的底层,对内存、进程等子系统进行管理和调度。如果操作系统本身出现了漏洞,其影响将会是致命的。操作系统的内核,对于网络安全是至关重要的。

    目前,内核的维护主要分两种模式:对于私有操作系统,如Windows/Solaris等,由于个人用户不能直接接触其源代码,其代码由公司内部开发人员维护,其安全性由同样的团队保证,内核的修正与其他应用程序一样,以patch/SP包的方式发布。对于Linux这样的开放式系统,是一种开放的结构。应该说,开放的模式是双刃剑。

    Linux运行的软件主要包括:Samba,Ftp,Ssh,Mysql,Php,Firefox等,这些软件,大都是开源软件,而且都在不停升级,稳定版和测试版交替出现。在www.samba.org和 www.apache.org 上,最新的ChangeLog中都写着:bug fix, security bug fix的字样。所以要经常的关注相关网站的bug fix和升级,及时升级或添加补

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3