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系统防火墙的主要内容,如果未能解决你的问题,请参考以下文章

保证Linux系统安全之使用iptables工具管理防火墙

防火墙

Linux系统管理初步Linux系统的防火墙-firewalld 编辑中

linux系统防火墙相关问题及常用命令介绍

linux系统防火墙相关问题及常用命令介绍

Linux系统安全之CentOS 7 firewalld防火墙入门详解