最近更新日期:2006/09/06
1. 网路封包连线进入主机的流程
1.1 封包进入主机的流程 1.2 主机能作的保护:权限设定、套件更新、SELinux 2. 主机的细部权限规划:ACL 的使用 2.1 什么是 ACL ? 2.2 如何启动 ACL? 2.3 ACL 的设定技巧: getfacl , setfacl 3. 一些常见的攻击手法与主机的保护方式 4. 被入侵后的修复工作 4.1 网管人员的额外技巧与任务 4.2 入侵恢复工作 5. 重点回顾 6. 课后练习 7. 参考资料 8. 针对本文的建议:http://phorum.vbird.org/viewtopic.htm?p=114062 网路封包连线进入主机的流程
在这一章当中,我们要讨论的是,当来自一个网路上的连线要求想进入我们的主机时,
这个网路封包在进入主机实际取得资料的整个流程是如何?了解了整个流程之后,
你才会发现:原来系统操作的基本概念是如此的重要!
而你也才会了解要如何保护你的主机安全呐!闲话少说,咱们赶紧来瞧一瞧先。
封包进入主机的流程
在网路基础章节当中我们谈到过目前的网路架构主要是 TCP/IP 为主,
而绝大部分的网路连线是双向的,其中又以 TCP 封包为代表。
另外,根据 Server/Client 的连线方向与 TCP/IP 的概念,我们会知道建立一条可靠的网路连线需要一组
Socket Pair 的辅助,
亦即成对的来源与目标之 IP 与 port 啰,以使连线的两端可以顺利的连接到相对的应用软体上。
上面谈到的这些都是属于网路的基础概念,在这里我们要谈的是,那么要让这个 TCP 封包顺利的进入到 Linux 主机上, 然后使用 port 所对应的软体来存取系统的档案系统资源时,还得要经过哪些关卡呢? 举例来说,如果你的 Linux 主机有开启 WWW 的 port 80 网路服务,而 port 80 是由一个名称为 httpd 的程式所启动的,这个程式的设定档为 httpd.conf ,那么 Client 的连线要进入到你 Linux 主机的 WWW 时, 会经过什么阶段呢?基本上,会经过如下图的几个阶段: 图一、网路封包进入本机的流程顺序
好了,那么根据这些流程,你觉得我们可以如何保护自己的主机呢? 主机能作的保护: 权限设定、套件更新、SELinux
在基础篇里面的前面几章我们谈到很多关于档案权限方面的注意事项,
关于目录最重要的是那个 w (可写入)的权限,至于对档案来说,那个
r (可读取) 也是非常重要的!而由前一小节的图一我们也知道网路服务其实就是提供主机的档案资源给 client 端来查阅就是了。
根据这样的说法,你可以知道,如果你有某些不想要被读取的资料在主机上面的话, 那么将该资料的权限设定为不能被某些网路服务读取的情况, 就能达到最基础的保护了。所以您说档案权限重不重要啊!很重要的!不是吗?
鸟哥常常在上课的时候会开玩笑,说如果你只要下达一个指令,那你的系统就得要重新安装了!
那就是:‘chmod -R 777 /’,这个指令可是‘极度危险’的喔!为何呢?因为系统上面本来就有很多需要被保护的资料,
例如 /etc/shadow 以及 /etc/passwd 等,尤其是 shadow 密码档案。虽然里头是加密过的资料,
不过别忘了,现在的 PC 速度实在太快了,而网路上又有太多暴力破解密码的软体,
如果你的 /etc/shadow 被取得后,嘿嘿!你的密码其实就算‘公开了’。那万一你有开放某些网路服务的话,
例如可连线登入的 ssh 服务或 mail 服务,那任何人都可以使用你的主机来登入,
或者是利用你的主机来收你主机上的其他使用者的信,唉!糗大了!
再者,很多朋友在主机上面常常喜欢建立权限为 drwxrwxrwx 的目录来提供使用者上传资料, 这实在是很危险ㄟ!如果使用者的功力够高的话,他可以在网路软体如 httpd 的使用上, 来建立一些危险的 script 在你的 drwxrwxrwx 的目录中,那如果你不小心进入到该目录, 又不小心执行了该恶意使用者所建立的 script ,恭喜您~中标! 另外,如果你是学校老师,为了公平与同学本身的权益起见,你会希望同学们所上传的资料不会被其他同学所窃取。 那么你该如何进行权限的规范?如果单纯的让学生通通上传到单一目录,并且没有指定特殊的权限时, 不但某些同学的资料可能会被窃取与复制,更惨的是,可能资料会被某些恶意同学所删除! 那可就麻烦了!所以,权限的设定真的很重要啦! 而除了传统的权限之外,事实上目前 Linux 支援一种称为 ACL 的额外权限控制方式, 也支援更强化安全的 SELinux ,这两个小东西我们会在本章的后面部分继续介绍。
很多使用者为了方便记忆,老是跟系统管理员说:‘喂!我的密码可不可以简单一点啊?
太麻烦的我都记不住!’如果您是那个可怜的系统管理员,你该如何回应?
如果你大开方便之门,未来可是后患无穷的!举例来说,如果你的 mail server 上面某个使用者帐号为
alex 好了,那么他的 email address 将会是:‘ alex@your.host.name ’,
那这个使用者由于使用习惯不良,他将他的 mail address 留在 Internet 上,所以很多人都知道这个 address。
知道就知道,会有什么了不起吗?呵呵!了不起的很!如果有个坏家伙,他想要偷偷的收取 alex 的信, 那他就在他的收信软体上面偷偷填上你的主机,然后偷偷输入帐号 alex 并且输入密码为 alex , 如果你真的帮 alex 这个使用者建立同名的密码,哈哈!系啊(请台语发音,谢谢)!这个 alex 永远都收不到他的信了! 这算还好呐!如果你有开放远端连线登入的服务,那么坏家伙就可以利用 alex 这个帐号与密码来登入你的主机, 如果你没有做好权限规划的话,哇!整部主机的资料被偷光光!那可有的瞧的了! 所以,您说密码不重要吗?我可不认为!
很多朋友由于网路文章的关系,可能会拿比较旧的 Linux distribution 来作为架站的平台,
举例来说,使用 Red Hat 9 来架站的朋友想必还是不少的。如果你真的利用旧的版本来进行网站的架设,
而且还对 Internet 开放服务的话,那么你的主机将会在不到一天的时间内被‘绑架’的!
为什么呢?因为套件软体都是可能有漏洞的,如果你没有补洞的话.....
有些朋友认为:‘我的密码设定的严格一点,应该就好了吧?’真的吗?让我们瞧一瞧图一的流程, 第三个步骤是否使用到 httpd 这个程式的功能了,万一这个程式有问题怎么办? 举例来说,酷学园的朋友曾经在他举办的研讨会当中露一手如何绑架没有修补漏洞的 Linux 系统, 利用的就是 httpd 这个软体的漏洞,整个入侵的过程没有花费一分钟以上! 而且他取到的可是 root 的权限呐!不是什么阿猫阿狗的喔! 而且他完全没有输入任何密码,使用的入侵程式则是由 Internet 上面取得的。 在上头这个例子鸟哥不是要说该朋友的功力,而是要提醒大家,套件修补的重要性! 要取得破解程式的管道实在太多了,但如果你都有在最短的时间内取得套件的更新的话, 那么至少该破解程式对你的系统就不会生效!你的主机自然就会比较安全些。 而这个问题在所有的作业系统上面都是存在的! Windows 系统也是每个月必须要推出他们的套件程式修补, 否则一样会被攻击或入侵啊!不过 Linux 的套件漏洞修补要快多了!
在最新的 Linux 2.6 版核心上所发展的 distributions 目前预设都会启动一个名为 SELinux 的核心模组,
这个 SELinux 必须要在开机载入核心时就得要载入,那这个玩意儿是啥咚咚?
SELinux 是 Security Enhanced Linux (安全加强的 Linux) 的缩写,
他并不是一个防火墙的软体,而是一个‘针对档案系统权限作更细部规划的一个模组’。
传统的 Linux 权限是分为三种身份 (owner, group, others) 以及三种权限 (r, w, x), 但事实上,这三种身份的三种权限组合并无法有效的管理所有系统上的 daemon 存取资料时所需要的行为。 因此美国国家安全局便发展出这个可以更细部规划档案权限功能的 SELinux 了。 由于 SELinux 主要是进行档案系统的细部权限设定,所以想要使用 SELinux 的配置时, 需要对 Linux 的档案系统以及基础的作业系统概念要很清楚,否则将会使得很多的网路服务无法正确的启用系统资源, 导致你的主机很多服务无法存取系统资料!因此,对于我们刚接触到 Linux 架站的朋友来说, 建议你先关闭 SELinux ,等到两三年后对于 Linux 有很深的概念后, 再来尝试配置 SELinux 这个有趣的咚咚! 也就是说,如果你没有关闭 SELinux 的话,那么你就得要针对 SELinux 进行档案权限的额外配置, 否则你的网路服务就不可能会正常的启动!那么如何关闭 SELinux 呢?你可以这样做:
主机的细部权限规划:ACL 的使用
在前一小节当中我们提到 Linux 系统的权限是很重要的,偏偏传统的权限仅有三种身份、三种权限而已,
配合 chmod,
umask,
chown,
chgrp
等指令来进行使用者与群组相关权限的设定。如果要进行比较复杂的权限设定时,
例如某个目录要开放给某个特定的使用者来使用时,传统的 owner,group,others 的权限方法可能就无法满足了。
不过还好,我们有 ACL 这个玩意儿可以使用!这玩意挺有趣的,底下我们就来谈一谈:
什么是 ACL?
ACL 是 Access Control List 的缩写,主要的目的是在提供传统的
owner,group,others 的 read,write,execute 权限之外的细部权限设定。ACL 可以针对单一使用者,
单一档案或目录来进行 r,w,x 的权限规范,对于需要特殊权限的使用状况非常有帮助。
由于 ACL 是传统的 Unix-like 作业系统权限的额外支援项目,因此要使用 ACL 必须要有档案系统的支援才行。 目前绝大部分的档案系统都有支援 ACL 的功能,包括 ReiserFS, EXT2/EXT3, JFS, XFS 等等。 在 SuSE 这个版本当中,预设是有启动 ACL 控制的,不过在 CentOS 则预设没有启动 ACL。 所以等一下要使用 ACL 的功能时,你必须要先启动你系统 filesystem 的支援才行喔! 那 ACL 主要可以针对哪些方面来控制权限呢?他主要可以针对几个项目:
如何启动 ACL
要让你的档案系统支援 ACL 非常的简单!假如要让你的 /home 支援 ACL 的话,可以直接这样做:
ACL 的设定技巧: getfacl, setfacl
好了,让你的 filesystem 启动 ACL 支援后,接下来该如何设定与观察 ACL 呢?
很简单,利用这两个指令就可以了:
先让我们来瞧一瞧 setfacl 如何使用吧!
虽然这样就能够设定好一个 ACL 控制项目,不过你还需要了解到在 ACL 内的 mask 所代表的意义喔!
在上面的那个小案例当中,我们并没有去设定这个 mask,mask 需要与使用者的权限进行逻辑运算 (AND) 后,
才是有效的权限呐(effective permission)!
举例来说,如果你觉得你的目录要让所有的人都暂时仅能读取不能写入时,可以将 ACL 内的 mask 设定为 rx 即可, 那其他人就不需要再额外的设定了!看看底下这个例子:
一些常见的攻击手法与主机的保护方式
我们由图一了解到资料传送到本机时所需要经过的几道防线后,
现在您应该比较清楚为何我们常常在基础篇里面一直谈到设定正确的权限可以保护您的主机了吧?
那么除了前面的谈到的主机基本保护之外,
通常人家是如何攻击你的 Linux 主机呢?底下我们就来谈一谈吧!
先了解一下人家是如何攻击你的,我们才有办法想到如何防御,您说是吧?!
由于很多人喜欢用自己的名字来作为帐号资讯,因此帐号的取得是很容易的!
举例来说,如果你的朋友将你的 email address 不小心泄漏出去,例如: dmtsai@your.host.name 之类的样式,
那么人家就会知道你有一部主机,名称为 your.host.name,且在这部主机上面会有一个使用者帐号,
帐号名称为 dmtsai ,之后这个坏家伙再利用某些特殊软体例如 nmap
来进行你主机的 port scan 之后,嘿嘿!他就可以开始透过你主机有启动的软体功能来猜你这个帐号的密码了!
另外,如果你常常观察你的主机登录档,那你也会发现如果你的主机有启动 Mail server 的服务时, 你的登录档就会常常出现有些怪家伙尝试以一些奇怪的常见帐号在试图猜测你的密码, 举例来说像:admin, administrator, webmaster .... 之类的帐号,尝试来窃取你的私人信件。 如果你的主机真的有这类的帐号,而且这类的帐号还没有良好的密码规划,那就容易‘中标’! 唉!真是麻烦!所以我们常讲,系统帐号千万不能给予密码,容易被猜密码啊! 这种猜密码的攻击方式算是最早期的入侵模式之一了,攻击者知道你的帐号,或者是可以猜出来你的系统有哪些帐号, 欠缺的就只是密码而已, 因此他会‘很努力的’去猜你的密码,此时,你的密码规划如果不好的话,很容易就被攻击了! 主机也很容易被绑架啊!所以,良好的密码设置习惯是很重要的。 不过这种攻击方式比较费时,因为目前很多软体都有密码输入次数的限制, 如果连续输入三次密码还不能成功的登入,那该次连线就会被断线! 所以,这种攻击方式日益减少,目前偶而还会看到就是了!这也是初级 cracker 会使用的方式之一。 那我们要如何保护呢?基本方式是这样的:
由图一里面的第三个步骤中,我们知道如果你的主机有开放网路服务时,
就必须有启动某个网路软体嘛!我们也知道由于软体可能撰写方式的问题,可能产生一些会被 cracker
乱用的臭虫程式码,而这些臭虫程式码由于产生问题的大小,有分为 bug (臭虫,可能会造成系统的不稳定或当机) 与
Security (安全问题,程式码撰写方式会导致系统的使用权限被恶意者所掌握) 等问题。
当程式的问题被公布后,某些较高阶的 cracker 会尝试撰写一些针对这个漏洞的攻击程式码, 并且将这个程式码放置到 cracker 常去的网站上面,藉以推销自己的‘功力’..... 鸟哥要提醒的是,这种程式码‘是很容易被取得的’。 当更多‘盈盈美黛子(台语,闲闲没事干之意)’取得这些程式码后,他可能会想要‘试一试这个攻击程式的威力’, 所以就拿来‘扫射’一番,如果你八字比较轻,或者当天星座学家说你比较倒楣时, 可能就会被不小心的攻击到...... 这种攻击模式是目前最常见的,因为攻击者只要拿到攻击程式就可以进行攻击了, ‘而且由攻击开始到取得你系统的 root 权限不需要猜密码, 不需要两分钟,就能够立刻入侵成功’,所以‘盈盈美黛子’们最爱的就是这个咚咚了。 但这个玩意儿本身是靠‘你主机的程式漏洞’来攻击的,所以,如果你的主机随时保持在即时更新的阶段, 或者是关闭大部分不需要的程式,那就可以躲避过这个问题。因此,你应该要这样做:
社交工程 (Social Engineering) 指的其实很简单,就是透过人与人的互动来达到‘入侵’的目的!
@_@!人与人的互动可以入侵你的主机?鸟哥在呼咙你吗?当然不是。
近日在台湾的社会你不是常看到某些人会以‘退税、中奖、花小钱买贵重物品’等名义来欺骗善良老百姓, 让老百姓掏出口袋里的金钱给那些可恶的金光党吗?社交工程也是类似的方法。在大公司里面, 或许你可能会接到这样的电话:‘我是人事部门的经理,我的帐号为何突然间不能登入了? 你给我看一看,恩?干脆直接帮我另建一个帐号,我告诉你我要的密码是....’。如果你一时不查给他帐号密码的话, 你的主机可能就这样被绑走了~ 社交工程的欺骗方法多的是,包括使用‘好心的 email 通知’、‘警告信函’、‘中奖单’等等, 在在都是要欺骗你的帐号密码,有的则利用钓鱼方式来欺骗你在某些恶意网站上面输入你的帐号密码, 很讨厌的啦!那要如何防范呢?
啥?除了主动攻击之外,还有所谓的被动攻击喔?没错啊,‘系金ㄟ’!那如何作被动攻击呢?
那就得要由‘恶意网站’讲起了。如果你喜欢上网随意浏览的话,那么有的时候可能会连上一些广告很多,
或者是一堆弹出式视窗的网站,这些网站有时还会很好心的‘提供你很多好用的软体自动下载与安装’的功能,
如果该网站是你所信任的,例如 Red Hat, CentOS, Windows 官网的话,那还好,
如果是一个你也不清楚他是干嘛的网站,那你是否要同意下载安装该软体?
如果你常常在注意一些网路危机处理的相关新闻时,常会发现 Windows 的浏览器 (IE) 有问题, 有时则是全部的浏览器 (Firefox, Netscap, IE...) 都会出现问题。那你会不会觉得奇怪啊, 怎么‘浏览器也会有问题?’这是因为很多浏览器会主动的答应对方 WWW 主机所提供的各项程式功能, 或者是自动安装来自对方主机的软体,有时浏览器还可能由于程式发生安全问题, 让对方 WWW 浏览器得以传送恶意程式码给你的主机来执行,嘿嘿!中标! 那你又会想啊,那我干嘛浏览那样的恶意网站?喝!总是会有些粗心大意的时候啊! 如果你今天不小心收到一个 email ,里面告诉你你的银行帐号有问题, 希望你赶紧连上某个网页去看看你的帐号是否在有问题的行列中,你会不会去? 如果今天有个网路消息说某某网页在提供大特价商品,那你会不会去碰碰运气? 都是可能的啊!不过,这也就很容易被对方攻击到了。 那如何防备啊?当然建立良好的习惯最重要了:
rootkit 意思是说可以取得 root 权限的一群工具组 (kit),就如同前面主动攻击程式漏洞的方法一样,
rootkit 主要也是透过主机的程式漏洞。不过, rootkit 也会透过社交工程让使用者下载、安装 rootkit 软体,
结果让 cracker 得以简单的绑架对方主机啊!
rootkit 除了可以透过上述的方法来进行入侵之外,rootkit 还会伪装或者是进行自我复制, 举例来说,很多的 rootkit 本身就是蠕虫或者是木马间谍程式。蠕虫会让你的主机一直发送封包向外攻击, 结果会让你的网路频宽被吃光光,例如 2001-2003 年间的 Nimda, Code Red 等等;至于木马程式 (Trojan Horse) 则会对你的主机进行开启后门 (开一个 port 来让 cracker 主动的入侵),结果就是....绑架、绑架、绑架! rootkit 其实挺不好追踪的,因为很多时候他会主动的去修改系统观察的指令, 包括 ls, top, netstat, ps, who, w, last, find 等等,让你看不到某些有问题的程式, 如此一来,你的 Linux 主机就很容易被当成是跳板了!有够危险!那如何防备呢?
这类型的攻击中文翻译成‘阻断式攻击’,这种攻击法也很要命,而且方法有很多,最常见的就属 SYN Flood
攻击法了!还记得我们在网路基础里面提到的,当主机接收了一个带有
SYN 的 TCP 封包之后,就会启用对方要求的 port 来等待连线,并且发送出回应封包 (带有 SYN/ACK 旗标的
TCP 封包),并等待 Client 端的再次回应。
好了,在这个步骤当中我们来想一想,如果 cient 端在发送出 SYN 的封包后,却将来自 Server 端的确认封包丢弃,那么您的 Server 端就会一直空等,而且 Client 端可以透过软体功能,在短短的时间内持续发送出这样的 SYN 封包,那么您的 Server 就会持续不断的发送确认封包,并且开启大量的 port 在空等~呵呵!等到全部主机的 port 都启用完毕,那么.....系统就挂了! 更可怕的是,通常攻击主机的一方不会只有一部!他会透过 Internet 上面的僵尸主机 (已经成为跳板,但网站主却没有发现的主机) 发动全体攻击,让你的主机在短时间内就立刻挂点。 这种 DoS 的攻击手法比较类似‘玉石俱焚’的手段, 他不是入侵您的系统,而是要让您的系统挂点呢! 最常被用来作为阻断式服务的网路服务就是 WWW 了,因为 WWW 通常得对整个 Internet 开放服务。 这种攻击方法也是最难处理的,因为要嘛就得要系统核心有支援自动抵挡 DoS 攻击的机制, 要嘛您就得要自行撰写侦测软体来判断!真是麻烦啊~而除非您的网站非常大, 并且‘得罪不少人’,否则应该不会被 DoS 攻击啦! ^_^
上面提到的都是比较常见的攻击方法,是还有一些高竿的攻击法啦,
不过那些攻击法都需要有比较高的技术水准,例如 IP 欺骗。他可以欺骗你主机告知该封包来源是来自信任网域,
而且透过封包传送的机制,由攻击的一方持续的主动发送出确认封包与工作指令。
如此一来,你的主机可能就会误判该封包确实有回应,而且是来自内部的主机。
不过我们知道网际网路是有路由的,而每部主机在每一个时段的 ACK 确认码都不相同, 所以这个方式要达成可以登入,会比较麻烦,所以说,不太容易发生在我们这些小型主机上面啦! 不过你还是得要注意一下说:
要让你的系统更安全,没有‘三两三’是没办法达成的!我们也一直鼓吹,
‘维护网站比架设网站还要重要’的观念!因为‘一人得道鸡犬升天’,同样的道理:‘一人中标全员挂点’,
不要以为你的主机没有啥重要资料,被入侵或被植入木马也没有关系,
因为我们的伺服器通常会对内部来源的主机规范的较为宽松,如果你的主机在公司内部,
但是不小心被入侵的话,那么贵公司的伺服器是否就会暴露在危险的环境当中了?
另外,在蠕虫很‘发达’的年代,我们也会发现只要区域网路里面有一部主机中标, 整个区域网路就会无法使用网路了,因为频宽已经被蠕虫塞爆! 如果老板发现他今天没有办法收信了,但无法收信的原因并非伺服器挂点, 而是因为内部人员的某部个人电脑中了蠕虫,而那部主机中蠕虫的原因只是因为该使用者不小心去看了一下色情网站, 你觉得老板会高兴的跟该员工一起看色情网站还是 fire 掉该人员? 所以啊,主机防护还是很重要的!不要小看了!提供几个方向给大家思考看看吧:
被入侵后的修复工作
如果你的主机被入侵的话,而你也由于了解到主机监控的需要,所以在最短的时间内发现此一事件,
那么该如何针对这个被入侵的主机来修复?那如果你要修复的话,你这个网管人员还需要哪些额外的技能?
底下我们就来谈一谈。
网管人员的额外技巧与任务
从前一小节的分析当中,您会发现网管还真的是挺累的,他需要对于作业系统有一定程度的熟悉,
对于程序的运作 (process) 与权限概念,则需要更了解!否则就麻烦了!那除了作业系统的基本概念之外,
咱们网管还需要啥特殊技巧呢?当然需要啊!其实一部主机最常发生问题的状况,
都是由‘内部的网路误用所产生的’,所以啊,你只管好主机而已是‘没有办法杜绝问题’的啦!
底下就来谈谈你还需要啥技巧呢?
我的天呐,还要知道什么是需要保护的呀?呵呵!没错,就是如此!由刚刚我们知道的主机入侵方法当中,
不难了解,只要有人坐在您的主机前面,那么任何事都有可能会发生!因此,如果您的主机相当的重要,
请‘不要让任何人靠近!’您可以参考一下汤姆克鲁斯在‘不可能的任务’里面要窃取一部电脑内的资料的困难度! ^_^""
这可不是开玩笑的,什么是黑客呀!这是因为原本在西部电影当中,坏人都是戴黑色帽子的,
所以之前的人们就称网路攻击者为 Black hats 啦!在预防这方面的攻击者时,除了严格管制网路的登入之外,
还需要特别控制原本您的主机中的人物!就我们小网站来说,不要以为好朋友就随便他啦!
他说要指定密码是跟他的帐号相同比较好记,您就答应他!等到人家用他的密码登入您的主机,并破坏您的主机,
那可就得不偿失了!如果是大企业的话,那么员工使用网路时,也要分等级的呢! ^_^
没什么好讲的,除了多关心,还是多关心!仔细的分析登录档,常常上网看看最新的安全通告,这都是最基础的!
还包含了以最快的速度更新有问题的套件!因为,越快更新您的套件,就越快可以杜绝黑客的入侵!
这部份比较麻烦一些啦!因为您必需要不断的测试测试再测试!以取得最佳化的网路安全设定!
怎么说呢?要晓得的是,如果您的防火墙规则订定得太多的时候,
那么一个资料封包就要经过越多的关卡才能完整的通过防火墙,以进入到主机内部!嘿嘿!
这可是相当的花费时间的!会造成主机的效能不彰!特别留意这一点呢!
就像刚刚说的,您必需要随时维护您的主机,因为,防火墙不是一经设定之后就不用在再他了!
因为,再严密的防火墙,也会有漏洞的!这些漏洞包括防火规则设定不良、利用较新的侦测入侵技术、
利用您的旧软体的服务漏洞等等!所以,必需要即时维护您的主机呀!这方面除了分析 log files
之外,也可以藉由即时侦测来进行这个工作!例如 PortSentry 就是蛮不错的一套软体呢!
不是所有的人都是电脑网路高手,尤其虽然现在资讯爆炸但是仍然有很多的机会会遇到电脑白痴呀!
这个时候,要晓得的是,我们对于内部网域通常没有太多的规范,那如果他用内部的电脑去做坏事怎么办?
有时候还是无心的~挖哩~所以说,需要特别的教育训练课程呀!这也是公司需要网管的主因之一!
天有不测风云,人有旦夕祸福呀!什么人都不知道什么时候会有大地震、我们也都不知道什么时候会突然的硬碟挂掉去~
所以说,完善的备份计划是相当重要的!此外,大概没有人会说他的主机是 100% 的安全吧!
那如果你的系统被入侵,造成资料的损毁时,你要如何复原你的主机啊?呵呵!一个良好的网站管理人员,
无时无刻都会进行重要资料的备份的!很重要啊!
这一部份请参考一下基础学习篇之
Linux 主机备份的内容吧!
本书后续的远端连线伺服器 SSH 章节内也会提到一个很棒的 rsync 工具,您可以瞧瞧!
入侵恢复工作
所谓‘百密一疏’啊,人不是神,总会有考虑不周的情况,万一您的主机就因为这‘一疏’导致被入侵了,
那该怎么办?由上面的说明当中,我们知道‘木马’是很严重的,因为他会在您的系统下开个后门(Back
door)让攻击者可以登入您的主机,而且还会窜改您 Linux 上面的程式,让您找不到该木马程式!怎么办?
很多朋友都习惯‘反正只要将 root 的密码改回来就好了’ 这样的观点,事实上,那样一部主机还是有被做为中继站的危险啊!所以, 万一您的主机被入侵了,最好的方法还是‘重新安装Linux ’会比较干净! 那该如何重新安装呢?很多朋友一再地安装,却一再地被入侵~为什么呢?因为他没有‘记取教训’啊!呵呵! 底下我们就来谈一谈,一部被入侵的主机应该如何修复比较好?
重点回顾
课后练习
可以使用 top, sar, free, ps -aux, uptime, last 等功能去查询系统的相关资讯喔!然后再以 kill 之类的指令删除;
因为 SUID 是 4000 这个权限的模样,所以我可以这样做:
find / -perm +4000
利用最简易的 MD5 编码来测试一下,例如‘ md5sum 套件名称’,再比对与原始套件释出的 MD5 数据是否相同!?
这是由于您的 filesystem 没有启用 ACL 支援,或者是系统的核心不支援。
请先使用 mount -o remount,acl /mount_point 测试看能否支援 ACL ,若不支援时,则可能是由于核心版本太旧了。
除了使用 setfacl -m u:dmtsai:rwx /home/project 之外,还需要设定 setfacl -m m:rwx /home/project ,
因为 ACL 在目录方面,必须透过使用者权限及 mask 的逻辑运算后才能生效!
SELinux 并非防火墙,他是用来作为更细部权限设定的一个核心模组。
密码的设定规则在 /etc/login.defs 里面!至于密码档案在 /etc/shadow 内!
找出问题、重新安装、漏洞修补、资料还原!请参考本章最后一节的说明。
参考资料
2002/08/12:第一次完成日期! 2003/08/23:重新编排与增加重点回顾、课后练习 2006/08/31:将旧的文章移动到此处。 2006/09/06:增加 SELinux 的简单说明,增加 ACL 的控制项目! 2002/08/12以来统计人数 |
||||||||||||