一、网络封包联机进入主机的流程介绍
Linux 系统有内建的防火墙机制,预设的 Linux 防火墙就有两个机制,这两个机制都是独立存在的。第一层是封包过滤式的 netfilter 防火墙, 另一个则是透过软件控管的 TCP Wrappers 防火墙。
1)IP Filtering 或 Net Filter
要进入 Linux 本机的封包都会先通过 Linux 核心的预设防火墙,就是称为 netfilter 的咚咚,简单的说,就是 iptables 这个软件所提供的防火墙功能。为何称为封包过滤呢?因为他主要是分析 TCP/IP 的封包表头来进行过滤的机制,主要分析的是 OSI 的第二、三、四层,主要控制的就是 MAC, IP, ICMP, TCP 与 UDP 的埠口与状态 (SYN, ACK…) 等。
通过 netfilter 之后,网络封包会开始接受 Super daemons 及 TCP_Wrappers 的检验,那个是什么呢? 说穿了就是 /etc/hosts.allow 与 /etc/hosts.deny 的配置文件功能。 这个功能也是针对 TCP 的 Header 进行再次的分析,同样你可以设定一些机制来抵制某些 IP 或 Port ,好让来源端的封包被丢弃或通过检验;
可以在配置文件httpd.conf内规范某些 IP 来源不能使用httpd服务。
SELinux 可以针对网络服务的权限来设定一些规则 (policy) ,让程序能够进行的功能有限, 因此即使使用者的档案权限设定错误,以及程序有问题时,该程序能够进行的动作还是被限制的,即使该程序使用的是 root 的权限也一样。举例来说,前一个步骤的 httpd 真的被 cracker 攻击而让对方取得 root 的使用权,由于 httpd 已经被 SELinux 控制在 /var/www/html 里面,且能够进行的功能已经被规范住了,因此 cracker 就无法使用该程序来进行系统的进一步破坏。
文件权限。
建立完善的登入密码规则限制;完善的主机权限设定;设定自动升级与修补软件漏洞、及移除危险软件;在每项系统服务的设定当中,强化安全设定的项目;利用 iptables, TCP_Wrappers 强化网络防火墙;利用主机监控软件如 MRTG 与 logwatch 来分析主机状况与登录文件;