linux-防火墙

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
云防火墙,500元 1000GB
公网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
相关文章
|
23天前
|
网络协议 Linux 网络安全
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
在CentOS 7中,新引入了firewalld服务(防火墙),取代了CentOS 6之前的iptables服务(防火墙)。
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
|
2月前
|
网络协议 Java Linux
Linux常用操作命令、端口、防火墙、磁盘与内存
Linux常用操作命令、端口、防火墙、磁盘与内存
48 0
|
3月前
|
XML 安全 Linux
【Linux】深入探究CentOS防火墙(Firewalld):基础概念、常用命令及实例操作
【Linux】深入探究CentOS防火墙(Firewalld):基础概念、常用命令及实例操作
|
3月前
|
运维 程序员 Linux
运维最全Linux 基本防火墙设置和开放端口命令,2024年最新程序员如何自我学习和成长
运维最全Linux 基本防火墙设置和开放端口命令,2024年最新程序员如何自我学习和成长
|
3月前
|
XML 安全 Linux
Linux 防火墙开启端口
Linux 防火墙开启端口
64 1
|
3月前
|
Linux 网络安全 数据安全/隐私保护
Linux 如何关闭防火墙(开启管理员权限)
Linux 如何关闭防火墙(开启管理员权限)
40 0
|
3月前
|
网络协议 Linux 网络安全
Linux(17)Centos5、6、7、8版本的防火墙常用命令
Linux(17)Centos5、6、7、8版本的防火墙常用命令
71 0
|
8月前
|
运维 网络协议 安全
小白带你学习linux的防火墙
小白带你学习linux的防火墙
177 1
|
3月前
|
网络协议 安全 Linux
linux配置防火墙 Centos7下 添加 端口白名单
linux配置防火墙 Centos7下 添加 端口白名单
730 0
|
3月前
|
存储 安全 网络协议
使用 firewall-cmd 管理 Linux 防火墙端口
本文将介绍如何使用 firewall-cmd 工具在 Linux 系统中进行简单端口管理,包括开放、查询、关闭等操作。通过实例展示相关命令的用法,希望能对大家有所帮助。
432 0