# 7.5 被攻击后的主机修复工作
## 7.5 被攻击后的主机修复工作
如果你的主机被攻击而被取得操纵权的话,而你也由于了解到主机监控的需要,所以在最短的时间内发现此一事件, 那么该如何针对这个被入侵的主机来修复?那如果你要修复的话,你这个网管人员还需要哪些额外的技能? 底下我们就来谈一谈。
- - - - - -
### 7.5.1 网管人员应具备的技能
从本章第一小节的分析当中,你会发现网管还真的是挺累的,他需要对操作系统有一定程度的熟悉, 对于程序的运作与权限概念则需要更了解,否则就麻烦了!那除了操作系统的基本概念之外, 咱们网管还需要啥特殊技巧呢?当然需要啊!其实一部主机最常发生问题的状况, 都是由『内部的网络误用所产生的』,所以啊,你只管好主机而已是『没有办法杜绝问题』的啦! 底下就来谈谈你还需要啥技巧呢?
- 了解什么是需要保护的内容:
我的天吶,还要知道什么是需要保护的呀?没错,就是如此!由刚刚我们知道的主机入侵方法当中, 不难了解,只要有人坐在你的主机前面,那么任何事都有可能会发生!因此,如果你的主机相当的重要, 请『不要让任何人靠近!』你可以参考一下汤姆克鲁斯在『不可能的任务』里面要窃取一部计算机内的数据的困难度! ^\_^""
- 硬件:能锁就锁吧!
- 软件:还包含最重要的数据呢!
- 预防黑客 (Black hats) 的入侵:
这可不是开玩笑的,什么是黑客呀!这是因为原本在西部电影当中,坏人都是戴黑色帽子的, 所以之前的人们就称网络攻击者为 Black hats 啦!在预防这方面的攻击者时,除了严格管制网络的登入之外, 还需要特别控制原本你的主机中的人物!就我们小网站来说,不要以为好朋友就随便他啦! 他说要指定密码是跟他的账号相同比较好记,你就答应他!等到人家用他的密码登入你的主机,并破坏你的主机, 那可就得不偿失了!如果是大企业的话,那么员工使用网络时,也要分等级的呢! ^\_^
- 主机环境安全化:
没什么好讲的,除了多关心,还是多关心!仔细的分析登录档,常常上网看看最新的安全通告,这都是最基础的! 还包含了以最快的速度更新有问题的软件!因为,越快更新你的软件,就越快可以杜绝黑客的入侵!
- 防火墙规则的订定:
这部份比较麻烦一些啦!因为你必需要不断的测试测试再测试!以取得优化的网络安全设定! 怎么说呢?要晓得的是,如果你的防火墙规则订定得太多的时候, 那么一个数据封包就要经过越多的关卡才能完整的通过防火墙,以进入到主机内部!嘿嘿! 这可是相当的花费时间的!会造成主机的效能不彰!特别留意这一点呢!
- 实时维护你的主机:
就像刚刚说的,你必需要随时维护你的主机,因为,防火墙不是一经设定之后就不用在再他了! 因为,再严密的防火墙,也会有漏洞的!这些漏洞包括防火规则设定不良、利用较新的侦测入侵技术、 利用你的旧软件的服务漏洞等等!所以,必需要实时维护你的主机呀!这方面除了分析 log files 之外,也可以藉由实时侦测来进行这个工作!例如 PortSentry 就是蛮不错的一套软件呢!
- 良好的教育训练课程:
不是所有的人都是计算机网络高手,尤其虽然现在信息爆炸但是仍然有很多的机会会遇到计算机白痴呀! 这个时候,要晓得的是,我们对于内部网域通常没有太多的规范,那如果他用内部的计算机去做坏事怎么办? 有时候还是无心的~挖哩~所以说,需要特别的教育训练课程呀!这也是公司需要网管的主因之一!
- 完善的备份计划:
天有不测风云,人有旦夕祸福呀!什么人都不知道什么时候会有大地震、我们也都不知道什么时候会突然的硬盘挂掉去~ 所以说,完善的备份计划是相当重要的!此外,大概没有人会说他的主机是 100% 的安全吧! 那如果你的系统被入侵,造成数据的损毁时,你要如何复原你的主机啊?呵呵!一个良好的网站管理人员, 无时无刻都会进行重要数据的备份的!很重要啊!这一部份请参考一下[基础学习篇](http://linux.vbird.org/linux_basic)之 [Linux 主机备份](http://linux.vbird.org/linux_basic/0580backup.php)的内容吧! 我们在后面的远程联机服务器章节内也会提到一个很棒的 rsync 工具,你可以瞧瞧!
- - \*
### 7.5.2 主机受攻击后复原工作流程
所谓『百密一疏』啊,人不是神,总会有考虑不周的情况,万一你的主机就因为这『一疏』导致被入侵了, 那该怎么办?由上面的说明当中,我们知道『木马』是很严重的,因为他会在你的系统下开个后门 (Back door) 让攻击者可以登入你的主机,而且还会窜改你 Linux 上面的程序,让你找不到该木马程序!怎么办?
很多朋友都习惯『反正只要将 root 的密码改回来就好了』 这样的观点,事实上,那样一部主机还是有被做为中继站的危险啊!所以, 万一你的主机被入侵了,最好的方法还是『重新安装Linux 』会比较干净!
那该如何重新安装呢?很多朋友一再地安装,却一再地被入侵~为什么呢?因为他没有『记取教训』啊!呵呵! 底下我们就来谈一谈,一部被入侵的主机应该如何修复比较好?
1. 立即拔除网络线:
既然发现被入侵了,那么第一件事情就是拿掉网络功能!拿掉网络功能最简单的作法自然就是拔掉网络线了! 事实上,拿掉网络线最主要的功能除了保护自己之外,还可以保护同网域的其他主机。怎么说呢?举个 2003 年 8 月发病的疾风病毒好了,他会感染同网域之内的其他主机喔!所以,拔除网络线之后,远程的攻击者立即就无法进入你的 Linux 主机,而且你还可以保护网域内的其他相关主机啊!
2. 分析登录文件信息,搜寻可能的入侵途径:
被入侵之后,决不是只要重新安装就好,还需要额外分析 『为什么我的主机这一次会被入侵,对方是如何入侵的?』, 如果你能够找出问题点,那么不但你的 Linux 功力立刻增强了,主机也会越来越安全喔! 而如果你不知道如何找出被入侵的可能途径,那么重新安装后,下次还是可能被以同样的方法入侵啊! 粉麻烦的啦!好了,那该如何找出入侵的途径呢?
- 分析登录档:低级的 cracker 通常仅是利用工具软件来入侵你的系统,所以我们可以藉由分析一些主要的登录档来找出对方的 IP 以及可能有问题的漏洞。可以分析 /var/log/messages, /var/log/secure 还有利用 last 指令来找出上次登入者的信息。
- 检查主机开放的服务:很多 Linux 用户常常不晓得自己的系统上面开了多少的服务?我们说过,每个服务都有其漏洞或者是不应该启用的增强型或者是测试型功能, 所以,找出你系统上面的服务,并且检查一下每个服务是否有漏洞,或者是在设定上面有了缺失,然后一个一个的整理吧!
- 查询 Internet 上面的安全通报: 透过安全通报来了解一下最新的漏洞信息,说不定你的问题就在上面!
3. 重要数据备份:
主机被入侵后,显得问题相当的严重,为什么呢?因为主机上面有相当重要的数据啊!如果主机上面没有重要的数据, 那么直接重新安装就好了!所以,被入侵之后,检查完了入侵途径,再来就是要备份重要的数据了。 好了,问个问题,什么是『重要数据』?who, ps, ls 等等指令是重要数据吗?还是 httpd.conf 等配置文件是重要数据?又或者是 /etc/passwd, /etc/shadow 才是重要数据?
呵呵!基本上,重要的数据应该是『非 Linux 系统上面原有的数据』,例如 /etc/passwd, /etc/shadow, WWW 网页的数据, /home 里面的使用者重要档案等等,至于 /etc/\*, /usr/, /var 等目录下的数据,就不见得需要备份了。 注意:不要备份一些 binary 执行文件,因为 Linux 系统安装完毕后本来就有这些档案,此外, 这些档案也很有可能『已经被窜改过了』,那备份这些数据,反而造成下次系统还是不干净!
4. 重新全新安装:
备份完了数据,再来就是重新安装 Linux 系统了。而在这次的安装中, 你最好选择适合你自己的安装软件即可,不要全部软件都给他安装上去啊!挺危险的!
5. 软件的漏洞修补:
记得啊,重新安装完毕之后,请立即更新你的系统软件,否则还是会被入侵的啦!鸟哥喜欢先在其他比较干净的环境下将 Internet 上面的漏洞修补软件下载下来,然后刻录起来,然后拿到自己的刚刚安装完成的系统上面,mount CD 之后全部给他更新,更新之后,并且设定了相关的防火墙机制,同时进行下一步骤『 关闭或移除不需要的服务』后,我才将网络线插上主机的网络卡上! 因为鸟哥不敢确定在安装完毕后,连上 Internet 去更新软件的这段时间,会不会又受到入侵攻击说....
6. 关闭或移除不需要的服务:
这个重要性不需要再讲了吧?!启用越少的服务,系统当然可以被入侵的可能性就比较低。
7. 数据回复与恢复服务设定:
刚刚备份的数据要赶紧的复制回来系统,同时将系统的服务再次的重新开放,请注意, 这些服务的设定最好能够再次的确认一下,避免一些不恰当的设定参数在里头喔!
8. 连上 Internet:
所有的工作都进行的差不多了,那么才将刚刚拿掉的网络线接上来吧!恢复主机的运作了!
经过这一连串的动作后,你的主机应该会恢复到比较干净的环境,此时还不能掉以轻心, 最好还是参考防火墙的设定,并且多方面的参考 Internet 上面一些老手的经验,好让你的主机可以更安全一些!
- - - - - -
- 鸟哥的Linux私房菜:服务器架设篇 第三版
- 第一部份:架站前的进修专区
- 作者序
- 第一章、架设服务器前的准备工作
- 1.1 前言: Linux 有啥功能
- 1.2 基本架设服务器流程
- 1.3 自我评估是否已经具有架站的能力
- 1.4 本章习题
- 第二章、基础网络概念
- 2.1 网络是个什么玩意儿
- 2.2 TCP/IP 的链结层相关协议
- 2.3 TCP/IP 的网络层相关封包与数据
- 2.4 TCP/IP 的传输层相关封包与数据
- 2.5 连上 Internet 前的准备事项
- 2.6 重点回顾:
- 2.7 本章习题
- 2.8 参考数据与延伸阅读
- 第三章、局域网络架构简介
- 3.1 局域网络的联机
- 3.2 本书使用的内部联机网络参数与通讯协议
- 第四章、连上 Internet
- 4.1 Linux 连上 Internet 前的注意事项
- 4.2 连上 Internet 的设定方法
- 4.3 无线网络--以笔记本电脑为例
- 4.4 常见问题说明
- 4.5 重点回顾
- 4.6 本章习题
- 4.7 参考数据与延伸阅读
- 第五章、 Linux 常用网络指令
- 5.1 网络参数设定使用的指令
- 5.2 网络侦错与观察指令
- 5.3 远程联机指令与实时通讯软件
- 5.4 文字接口网页浏览
- 5.5 封包撷取功能
- 5.6 重点回顾
- 5.7 本章习题
- 5.8 参考数据与延伸阅读
- 第六章、 Linux 网络侦错
- 6.1 无法联机原因分析
- 6.2 处理流程
- 6.3 本章习题
- 6.4 参考数据与延伸阅读
- 第二部分:主机的简易资安防护措施
- 第七章、网络安全与主机基本防护:限制端口, 网络升级与 SELinux
- 7.1 网络封包联机进入主机的流程
- 7.2 网络自动升级软件
- 7.3 限制联机埠口 (port)
- 7.4 SELinux 管理原则
- 7.5 被攻击后的主机修复工作
- 7.6 重点回顾
- 7.7 课后练习
- 7.8 参考数据与延伸阅读
- 第八章、路由观念与路由器设定
- 8.1 路由
- 8.2 路由器架设
- 8.3 动态路由器架设:quagga (zebra + ripd)
- 8.4 特殊状况:路由器两边界面是同一个 IP 网段: ARP Proxy
- 8.5 重点回顾
- 8.6 本章习题
- 8.7 参考数据与延伸阅读
- 第九章、防火墙与 NAT 服务器
- 9.1 认识防火墙
- 9.2 TCP Wrappers
- 9.3 Linux 的封包过滤软件:iptables
- 9.4 单机防火墙的一个实例
- 9.5 NAT 服务器的设定
- 9.6 重点回顾
- 9.7 本章习题
- 9.8 参考数据与延伸阅读
- 第十章、申请合法的主机名
- 10.1 为何需要主机名
- 10.2 注册一个合法的主机名
- 10.3 重点回顾
- 10.4 本章习题
- 10.5 参考数据与延伸阅读
- 第三部分:局域网络内常见的服务器架设
- 第十一章、远程联机服务器SSH / XDMCP / VNC / RDP
- 11.1 远程联机服务器
- 11.2 文字接口联机服务器: SSH 服务器
- 11.3 最原始图形接口: Xdmcp 服务的启用
- 11.4 华丽的图形接口: VNC 服务器
- 11.5 仿真的远程桌面系统: XRDP 服务器
- 11.6 SSH 服务器的进阶应用
- 11.7 重点回顾
- 11.8 本章习题
- 11.9 参考数据与延伸阅读
- 第十二章、网络参数控管者: DHCP 服务器
- 12.1 DHCP 运作的原理
- 12.2 DHCP 服务器端的设定
- 12.3 DHCP 客户端的设定
- 12.4 DHCP 服务器端进阶观察与使用
- 12.5 重点回顾
- 12.6 本章习题
- 12.7 参考数据与延伸阅读
- 第十三章、文件服务器之一:NFS 服务器
- 13.1 NFS 的由来与其功能
- 13.2 NFS Server 端的设定
- 13.3 NFS 客户端的设定
- 13.4 案例演练
- 13.5 重点回顾
- 13.6 本章习题
- 13.7 参考数据与延伸阅读
- 第十四章、账号控管: NIS 服务器
- 14.1 NIS 的由来与功能
- 14.2 NIS Server 端的设定
- 14.3 NIS Client 端的设定
- 14.4 NIS 搭配 NFS 的设定在丛集计算机上的应用
- 14.5 重点回顾
- 14.6 本章习题
- 14.7 参考数据与延伸阅读
- 第十五章、时间服务器: NTP 服务器
- 15.1 关于时区与网络校时的通讯协议
- 15.2 NTP 服务器的安装与设定
- 15.3 客户端的时间更新方式
- 15.4 重点回顾
- 15.5 本章习题
- 15.6 参考数据与延伸阅读
- 第十六章、文件服务器之二: SAMBA 服务器
- 16.1 什么是 SAMBA
- 16.2 SAMBA 服务器的基础设定
- 16.3 Samba 客户端软件功能
- 16.4 以 PDC 服务器提供账号管理
- 16.5 服务器简单维护与管理
- 16.6 重点回顾
- 16.7 本章习题
- 16.8 参考数据与延伸阅读
- 第十七章、区网控制者: Proxy 服务器
- 17.1 什么是代理服务器 (Proxy)
- 17.2 Proxy 服务器的基础设定
- 17.3 客户端的使用与测试
- 17.4 服务器的其他应用设定
- 17.5 重点回顾
- 17.6 本章习题
- 17.7 参考数据与延伸阅读
- 第十八章、网络驱动器装置: iSCSI 服务器
- 18.1 网络文件系统还是网络驱动器
- 18.2 iSCSI target 的设定
- 18.3 iSCSI initiator 的设定
- 18.4 重点回顾
- 18.5 本章习题
- 18.6 参考数据与延伸阅读
- 第四部分:常见因特网服务器架设
- 第十九章、主机名控制者: DNS 服务器
- 19.1 什么是 DNS
- 19.2 Client 端的设定
- 19.3 DNS 服务器的软件、种类与 cache only DNS 服务器设定
- 19.4 DNS 服务器的详细设定
- 19.5 协同工作的 DNS: Slave DNS 及子域授权设定
- 19.6 DNS 服务器的进阶设定
- 19.7 重点回顾
- 19.8 本章习题
- 19.9 参考数据与延伸阅读
- 第二十章、WWW 伺服器
- 20.1 WWW 的簡史、資源以及伺服器軟體
- 20.2 WWW (LAMP) 伺服器基本設定
- 20.3 Apache 伺服器的進階設定
- 20.4 登錄檔分析以及 PHP 強化模組
- 20.5 建立連線加密網站 (https) 及防砍站腳本
- 20.6 重點回顧
- 20.7 本章習題
- 20.8 參考資料與延伸閱讀
- 第二十一章、文件服务器之三: FTP 服务器
- 21.1 FTP 的数据链路原理
- 21.2 vsftpd 服务器基础设定
- 21.3 客户端的图形接口 FTP 联机软件
- 21.4 让 vsftpd 增加 SSL 的加密功能
- 21.5 重点回顾
- 21.6 本章习题
- 21.7 参考数据与延伸阅读
- 第二十二章、邮件服务器: Postfix
- 22.1 邮件服务器的功能与运作原理
- 22.2 MTA 服务器: Postfix 基础设定
- 22.3 MRA 服务器: dovecot 设定
- 22.4 MUA 软件:客户端的收发信软件
- 22.5 邮件服务器的进阶设定
- 22.6 重点回顾
- 22.7 本章习题
- 22.8 参考数据与延伸阅读