Linux网络安全与主机防护
网络数据包进入主机流程
网络数据包进入主机流程1.默认的Linux防火墙就有两个机制,这两个机制都是独立存在的,因此我们有两层默认防火墙;第一层是数据包过滤式的Net Filter防火墙,第二层则是通过软件管理的TCP Wrappers防火墙。
2.如果httpd这个程序本来就又问题的话,那么Client端将可直接利用httpd软件的漏洞来入侵主机,而不需要取得主机内root的密码
3.SELinux可以针对网络服务设置一些规则(Policy),举例:架设httpd真的被Cracker攻击而让对方取得了root使用权,但由于httpd已经被SELinux控制在/var/www/html里面,且能够执行的操作已经被限制了,因此Cracker就无法使用该程序来对系统进行进一步的破坏。
4.Rootkit是指可以取得root权限的一群工具组(Kit)。蠕虫会让你的主机一直发送数据包向外攻击,结果会让你的网络带宽被吃光,例如Nimda、Code Red等。至于木马程序(Trojan Horse)则会在你的主机中开启后门(打开一个Port来让Cracker主动入侵),结果就是绑架。
5.DDos攻击法(Distributed Denial of Service)
如果Clinet端在发送出SYN的数据包后,却将来自Server端的确认数据包丢弃,那么你的Server端就会一直空等,而且Clinet端可以通过软件功能,在短时间内持续发送这样的SYN数据包,那么你的Server端就会持续不断的发送确认包,并且开启大量的Port在空等,等到全部主机的Port都启用完毕,那么就挂了。它不是入侵你的系统,而是让你的系统无法提供正常服务。
6.客户端启动的Port是随机产生的,主要是开启大于1024以上的端口。所谓的“监听”是某个服务程序会一直常驻内存中,所以该程序启动的port就会一直存在。没有所谓的port安全性,因为port的启用是由服务软件造成的。
7.Domain:在主体程序(Subject)中则成为域(Domain)
8.setrobuleshoot:将错误信息写入/var/log/messages。几乎所有SELinux相关的程序都会以se为开头,这个服务也是以se为开头。
路由概念与路由器设置
1.ripd这个服务可以在两台Router之间进行路由规则的交换与沟通。
2.什么是ARP Proxy呢?简单地说,就是让我的某张适配卡的MAC代理与其他主机的IP对应,让想要连接这个IP的MAC数据包由我帮它接下来的意思。举例:在LInux Router的eth0的接口上,规定192.168.1.10、192.168.1.20、192.168.1.30这三个IP都对应到eth0的MAC上,所以三个IP的数据包就会由eht0收下。
防火墙
1.广义来说,只要能够分析与过滤进出我们管理的网络的数据包的数据,就可以称之为防火墙。
2.所以,防火墙最大的功能就是帮助你限制某些服务的访问来源,例如:
- 你可以限制文件传输服务(FTP)只在子域内的主机才能够使用,而不对整个Internet开放
- 你可以限制整台Linux主机仅可以接受客户端的WWW要求,其他的服务都关闭
- 你还可以限制整台主机仅能主动对外连接,也就是说,若有客户端对我们主机发送主动连接的数据包状态(TCP数据包的SYN flag)就予以过滤
3.TCP Wrappers(程序管理):这种机制主要是分析谁对程序进行访问,然后通过规则去分析该服务器程序谁能够连接,谁不能连接。
4.Proxy(代理服务器)
Proxy Server的工作原理- Proxy就会主动帮助Clinet前往google取得资料
- google所返回的数据是传给Proxy Server的
- 而当有人想要攻击Clinet端的主机时,除非他能够攻破Proxy Server,否则是服务与Clinet连接的。
5.NAT(地址转换):是Network Address Translation的缩写,这个表格主要用来进行来源于目的地的IP或port的转换,与Linux本机无关,主要与Linux主机后的局域网内计算机有关。
6.内核2.4后的Linux使用iptable作为防火墙的软件。
- iptable的默认table共有3个,分别是Filter、NAT及Mangle,常用的为Filter(本机)和NAT(后端主机)
- filter table主要为针对本机的防火墙设置,根据数据包流向又分为INPUT、OUTPUT、FORWARD
- NAT table主要针对后端主机,根据数据流向分为PREROUTING、OUTPUT、POSTROUTING,其中PREROUTING与DNAT有关,POSTROUTING则与SNAT有关。