Skip to content

06 网络安全于主机基本防护

1. 网络包进入主机的流程

1.1 包进入主机的流程

1。 经过防火墙

linux内置两个防火墙机制,两者独立存在。

  • 第一层:包过滤式的netfilter,即iptables/firewall。主要是分析TCP/IP 的包表头来进行过滤的机制,主要分析的是OSI 的第二、三、四层,主要控制的是MAC、IP、ICMP、TCP 与 UDP 的端口与状态 (SYN, ACK...) 等。详细介绍参考后续章节。
  • 第二层:TCP wrappers 的校验,即/etc/hosts.allow /etc/hosts.deny文件。

2。 服务 (daemon) 的基本功能

如果想要控管某些目录可以进入, 某些目录则无法使用的功能,那就得要透过权限以及服务器软件提供的相关功能了。比如在软件的配置文件中设定规则来限制能够获取那些资源。但是如果该软件本身就有漏洞的话,就限制不了了。

3。 SELinux 对网络服务的细部权限控制

SELinux 可以针对网络服务的权限来设定一些规则 (policy) ,让程序能够进行的功能有限, 因此即使使用者的文件权限设定错误,以及程序有问题时,该程序能够进行的动作还是被限制的,即使该程序使用的是 root 的权限也一样。

4。 使用主机的文件系统资源

若最终使用资源权限设置错误,仍然无法获取该资源。


在这些步骤之外,我们的 Linux 以及相关的软件都可能还会支持日志文件记录的功能,为了记录历史历程, 以方便管理者在未来的错误查询与入侵检测,良好的分析日志文件的习惯是一定要建立的!!!

1.2 常见的攻击手法及保护

1.2.1 取得帐户信息后猜密码

由于很多人喜欢用自己的名字来作为帐户信息,因此账号的取得是很容易的。

举例:如果你的主机有启动 Mail server 的服务时, 你的登录档就会常常出现有些怪家伙尝试以一些奇怪的常见账号在试图猜测你的密码,admin, administrator, webmaster .... 之类的账号,尝试来窃取你的私人信件。

基本保护方法:

  • 减少信息的曝光机会:例如不要将 Email Address 随意散布到 Internet 上头;
  • 建立较严格的密码设定规则:包括 /etc/shadow, /etc/login.defs 等文件的设定;
  • 完善的用户权限设定。

1.2.2 利用程序漏洞主动攻击

当程序的问题被公布后,某些较高阶的 cracker 会尝试撰写一些针对这个漏洞的攻击程序代码,并且将这个程序代码放置到 cracker 常去的网站上面。

因为这种方式只需要拿到代码就可以了,所以这种攻击模式是目前最常见的。

防护措施:

  • 关闭不需要的网络服务;
  • 随时保持更新;
  • 关闭不需要的软件功能。

1.2.3 利用社会工程学来欺骗

黑客中的社会工程学就是通过人们之间的互动来达到入侵的目的。

防护手段:

  • 防范对话者:不要一味地相信对方,要对他保持警惕;
  • 不要随意透露帐号/密码等信息。

你永远不知道对方屏幕前面坐着的是谁!

1.2.4 利用程序功能的被动攻击

即浏览一些恶意网站时下载的软件,或者浏览器本身主动应答对方所提供的各项功能,或者自动安装对方主机的软件,或者浏览器传送恶意代码来执行等等。

对于这种攻击手段最重要的是建立良好的习惯:

  • 随时更新主机上的所有软件;
  • 减少软件的功能/权限;
  • 不要链接到不明的主机。

1.2.5 蠕虫或木马的 rootkit

rootkit 意思是说可以取得 root 权限的一群工具组 (kit)。主要也是透过主机的程序漏洞。不过,rootkit 也会透过社交工程让用户下载、安装 rootkit 软件。

rootkit 除了可以透过上述的方法来进行入侵之外,rootkit 还会伪装或者是进行自我复制。

rootkit 不好追踪,因为很多时候他会主动的去修改系统查看的指令,包括 ls, top, netstat, ps, who, w, last, find 等等,让你看不到某些有问题的程序。

防备措施:

  • 不要随意安装不明来源的文件或者是不明网站的文件数据;
  • 不要让系统有太多危险的指令:例如 SUID/SGID 的程序,这些程序很可能会造成用户不当的使用,而使得木马程序有机可趁!
  • 可以定时以 rkhunter 之类的软件来追查。点击下载本文提供的linux压缩包

1.2.6 DDoS 攻击

DDoS(Distributed Denial of Service):分布式阻断服务攻击,透过分散在各地的僵尸计算机进行攻击,让你的系统所提供的服务被阻断而无法顺利的提供服务给其他用户的方式。

攻击有很多方式,最常见的是SYN Flood攻击法。

防护手段://TODO

1.3 主机能做的保护

  • 软件更新的重要性

    软件最好保持最新版本以修补漏洞,操作系统也要选择仍在维护且时间较长的。

  • 认识系统服务的重要性

    能够减少网络服务就减少,可以避免很多不必要的麻烦。

  • 权限与 SELinux

    设定好文件的权限,用户的权限,ACL,SELinux。

2. 被攻击后主机的修复工作

2.1 网管人员应具备的技能

  • 了解什么是需要保护的内容

    不要让任何人靠近主机。硬件,软件。

  • 预防黑客的入侵

  • 主机环境安全化

    仔细的分析登录档,常常上网看看最新的安全通告,及时地更新软件等等。

  • 防火墙规则的制定

    不断的测试测试再测试,以取得优化的网络安全设定。如果你的防火墙规则订定得太多的时候,那么一个数据封包就要经过越多的关卡才能完整的通过防火墙,会造成主机性能不佳。

  • 实时维护你的主机

    再严密的防火墙,也会有漏洞的。除了分析 log files 之外,也可以借由实时侦测软件来进行这个工作。

  • 良好的教育训练课程

  • 完善的备份计划

2.2 主机受攻击后复原工作流程

  1. 立即拔除网络线

  2. 分析登录文件信息,搜寻可能的入侵途径

    • 分析日志文件
    • 检查开放的服务
    • 查询因特网上的安全公告
  3. 备份重要数据

  4. 重新全新安装系统

  5. 软件的漏洞修补

    重新安装完毕之后,请立即更新你的系统软件。

  6. 关闭或移除不需要的服务

  7. 数据回复与恢复服务设定

  8. 连上 Internet