linux系统防火墙
Posted wujizhang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux系统防火墙相关的知识,希望对你有一定的参考价值。
防火墙的过滤机制:
1、Netfilter(数据包过滤)
将数据包的包头拆分来进行分析,判断哪些行为可以放通进行操作,哪些需要封堵或者拒绝。包括硬件地址、逻辑ip地址、TCP、UDP、ICMP等数据包。主要是ISO七层协议体系里的2、3、4层。
netfilter是Linux内核创建的机制,netfilter提供iptables软件进行数据包过滤,效率很高。
2、TCP Wrappers(程序管控)
该机制分析哪些用户需要对程序进行操作,tcp wrappers分析该程序能允许哪些用户操作。该功能只对程序进行管控,对程序开放的端口无关。比如ssh默认开放的端口是22,通过TCP Wrappers进行管控时,只对sshd这个名称进行限制,不论ssh开放的是22号端口还是12222端口,都会进行管控处理。
3、proxy(代理服务器)
代理服务器相当于一个中间人,代理用户的访问请求,向相关服务器获取应答,并返回给用户。示意图如下:
A想要访问互联网上的C时,数据流程如下:
1、A向代理服务器B请求数据;
2、代理服务器B收到A的请求后,向C请求数据;
3、C返回数据给B;
4、B再返回数据给A
通过上面的大致流程可以发现,其实A并没有直接上网,所以上面的2、3、4、5对于A来说都不可见。主要A可以连接B就能正常上网。
本小节先讲简单的TCP Wrappers
TCP Wrappers的配置文件:/etc/hosts.allow和/etc/hosts.deny
支持该功能管理的程序:
- 有xinetd所管理的服务
- 有支持libwrap.so模块的服务
xinetd管理的服务有哪些呢?
yum install xinetd -y (未安装先安装)
[root@benxiaohai ~]# chkconfig --list
结果前部分省略
xinetd based services: 这些服务是由xinetd管理的
chargen-dgram: off
chargen-stream: off
daytime-dgram: off
daytime-stream: off
discard-dgram: off
discard-stream: off
echo-dgram: off
echo-stream: off
tcpmux-server: off
time-dgram: off
time-stream: off
常见的sshd是否支持TCP Wrappers呢?
支持TCP Wrappers的服务必定包含libwrapper动态函数库。
ldd $(which sshd),看到该服务包含libwrap这个动态函式库,所以支持。
/etc/hosts.allow和/etc/hosts.deny的设置:
格式如下:
服务名(程序名): IP
限制单个ip写法如下:
[root@benxiaohai ~]# cat /etc/hosts.allow
sshd:192.168.100.125 或者 sshd:192.168.100.125/255.255.255.255,或者sshd:192.168.100.125 192.168.100.126,多个ip用空格隔开,不支持sshd:192.168.100.1/32这种写法
[root@benxiaohai ~]# cat /etc/hosts.deny
sshd:all
使用其他的ip进行登录,发现登录不上
这两个文件上有先后顺序:
1、先查看/etc/hosts.allow,符合的ip就允许
2、再查看/etc/hosts.deny,符合的ip就禁止
3、若都不在这两个文件里,即都不符合规则,最终是允许。
以上是关于linux系统防火墙的主要内容,如果未能解决你的问题,请参考以下文章