linux-防火墙

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介: linux-防火墙

一、防火墙概念

linux下防火墙一般分为软件防火墙、硬件防火墙

硬件防火墙:在硬件的级别实现防火墙过滤功能,性能高,但成本也很高

软件防火墙:在软件系统内核级别实现网络流量过滤,性能稍弱,但是成本也很低

1.软件防火墙

在linux上提供的软件防火墙,名字叫做iptables,它是一个防火墙命令行工具,iptables还是一个客户端代理

通过iptables的代理,将用户配置的安全策略,执行到对应的安全框架中netfilter

iptables只是个命令行工具,处于用户空间,离用户最近

真正实现流量过滤的软件是netfileter,处于系统内核空间,和操作系统离得是最近的

iptables+netfilter共同组成了linux的软件防火墙,一般就用来代替昂贵的硬件防火墙了

centos7系统下

firewalld软件,有替代了iptables工具

iptables是把用户配置的防火墙规则,交给内核层的netfiler工具去处理

firewalld服务把用户配置的防火墙规则交给内核层的nftables网格过滤器去处理

2.iptables默认规则

iptables默认会自上而下的读取防火墙规则,匹配到正确规则后,就结束匹配的工作,并且执行对应的工作。

如果读取的防火墙所有规则都没有符合,就执行默认的策略。

默认策略一般分为两种:

  • 允许
  • 拒绝

当默认规则全都是拒绝的时候,你就得设置一些允许通过的流量,否则所有的流量都禁止了

当默认的规则全部都是允许的时候,就得设置一些拒绝的匹配规则,以保证服务器的安全

防火墙的规则默认是存储在linux内核空间的信息包中,这些规则定义了源地址信息,目的地址信息,传输协议类型,服务类型

当数据包符合规则条件的时候,iptables就根据所定义的动作,来处理这些数据包,放行,拒绝,丢弃

3.iptables的五链

iptables把用于处理和过滤流量的策略,称之为规则,多条规则就组成了一个规则链,并且规则链,还有默认的动作,规则链根据数据包所处的不同位置进行不同的分类

linux默认的五个规则链

  • 路由选择前处理数据包,prerouting链
  • 处理流入的数据包,input链
  • 处理流出的数据包,output链
  • 处理转发的数据包,forward链
  • 进行路由选择后处理数据包,postrouting链

主要使用的都是input链

4.iptables动作

服务器流量在通过input链之后,进入到服务器内,还得遵循一些动作去处理数据包

  • accpet,允许数据包通过
  • reject,拒绝数据包通过,还会给客户端一个响应,告知对方被拒绝
  • log,在linux系统的日志目录下/var/log/message中记录防火墙日志,在进行下一个数据包处理
  • drop,直接丢弃数据包,不给予任何的回复
  • SNAT,源地址转换,解决内网用户用同一个公网的问题,用于forward链
  • DNAT,目标地址转换
  • redirect,在本机做端口映射

5.四表五链

表:

  • raw:高级功能,如:网址过滤
  • mangle:数据包修改(QOS),用于实现服务质量
  • net:地址转换,用于网关路由器
  • filter:包过滤,用于防火墙规则

链:

  • input链:处理输入数据包
  • output链:处理输出数据包
  • forward链:处理转发数据包
  • prerouting链:用于目标地址转化(DNAT)
  • postouting链:用于源地址转换(SNAT)

动作:

  • accpet,允许数据包通过
  • reject,拒绝数据包通过,还会给客户端一个响应,告知对方被拒绝
  • log,在linux系统的日志目录下/var/log/message中记录防火墙日志,在进行下一个数据包处理
  • drop,直接丢弃数据包,不给予任何的回复
  • SNAT,源地址转换,解决内网用户用同一个公网的问题,用于forward链
  • DNAT,目标地址转换
  • redirect,重定向,映射,透明代理
  • masquerade:IP伪装(NAT),用于ADSL
  • LOG:日志记录

6.iptables实例

禁止服务器被ping

# -A 指定链 -p 指定协议 --icmp-type 8 指定icmp协议的类型 -s 指定源ip端 -j 动作
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j REJECT

删除指定规则

iptables -D INPUT 1

禁止访问服务器的80端口

iptables -A INPUT -p tcp --dport 80 -j DROP

禁止服务器被ping(动作为丢弃)

# -A 指定链 -p 指定协议 --icmp-type 8 指定icmp协议的类型 -s 指定源ip端 -j 动作
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
相关文章
|
21天前
|
网络协议 安全 Linux
linux配置防火墙 Centos7下 添加 端口白名单
linux配置防火墙 Centos7下 添加 端口白名单
44 0
|
2月前
|
存储 安全 网络协议
使用 firewall-cmd 管理 Linux 防火墙端口
本文将介绍如何使用 firewall-cmd 工具在 Linux 系统中进行简单端口管理,包括开放、查询、关闭等操作。通过实例展示相关命令的用法,希望能对大家有所帮助。
140 0
|
7天前
|
Linux 网络安全 数据安全/隐私保护
Linux 如何关闭防火墙(开启管理员权限)
Linux 如何关闭防火墙(开启管理员权限)
9 0
|
14天前
|
Linux 网络安全
linux如何关闭防火墙
记住,关闭防火墙可能会降低系统安全性,请在真正需要的情况下关闭,并确保你在网络环境中采取其他安全措施。
16 0
|
2月前
|
Linux 网络安全
Linux(CentOS6.5)开放端口,配置防火墙
Linux(CentOS6.5)开放端口,配置防火墙
17 0
|
5月前
|
网络协议 Linux 网络安全
linux服务器防火墙的开启及关闭
linux服务器防火墙的开启及关闭
235 1
|
5月前
|
安全 Linux 网络安全
linux的防火墙
Linux的防火墙是一种网络安全工具,用于保护Linux系统免受网络攻击。
65 0
|
5月前
|
存储 网络协议 Linux
Linux加强篇008-使用Iptables与Firewalld防火墙
山重水复疑无路,柳暗花明又一村
318 0
Linux加强篇008-使用Iptables与Firewalld防火墙
|
5月前
|
运维 网络协议 安全
小白带你学习linux的防火墙
小白带你学习linux的防火墙
151 1
|
7月前
|
安全 Linux 网络安全
Linux一些防火墙实战知识
本文介绍了如何在Linux中设置防火墙和开放端口,以提高服务器的安全性。首先,使用firewalld作为防火墙软件包,并确保firewalld服务正在运行。然后,通过添加服务来定义允许的服务端口,可以使用firewall-cmd命令查看当前已定义的服务,并使用firewall-cmd命令添加服务。添加规则后,需要重新加载firewalld配置以使更改生效。在某些情况下,需要打开特定的端口,例如HTTP端口80和HTTPS端口443。可以使用firewall-cmd命令打开端口,并将规则添加到相应的区域。。。确实都是工作中日常中会用到的一些命令