Linux:iptables防火墙

防火墙

防火墙作用

防火墙作为一种访问控制设备, 常常安装在内部网络和外部网络的边际上。主要用于保护内部网络的信息安全。

防火墙分类

在这里插入图片描述
逻辑上划分,防火墙可以大体分为主机防火墙和网络防火墙

  • 主机防火墙:针对于单个主机进行防护
  • 网络防火墙:针对网络进行防护,处于网络边缘,防火墙背后是本地局域网
    在这里插入图片描述

物理上划分,防火墙可分为硬件防火墙和软件防火墙

  • 硬件防火墙:在硬件级别实现防火墙功能,另一部分基于软件实现,其性能高,硬件成本高
  • 软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙,其性能相较于硬件防火墙低,成本较低

在这里插入图片描述
在这里插入图片描述

Web应用防火墙(WAF)
Web应用防火墙是对web防护(网页保护)的安全防护设备(软件),主要用于截获所有HTTP数据或仅仅满足某些规则的会话,多见于云平台中。
在这里插入图片描述

网络防火墙主外(服务集体),主机防火墙主内(服务个人)

iptables介绍

iptables官网及名称

官网: https://www.netfilter.org

iptables全称为netfilter/iptables, 是linux平台下自带的的开源包过滤防火墙。

iptables功能

  • 包过滤
  • NAT
  • 协助实现策略路由和流量控制
  • 包标记

在这里插入图片描述

iptables组成

规则

iptables是按照规则(rules)来办事的,而规则就是运维人员所定义的条件;规则一般定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。

规则存储在内核空间的数据包过滤表中,这些规则分别指定了源地址、目的地址,传输协议(TCP、UDP、ICMP)和服务类型(HTTP、FTP)等。

当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,比如放行(ACCEPT)、拒绝(REJECT)、丢弃(DROP)等

当客户端访问服务器端的web服务时,客户端发送访问请求报文至网卡,而tcp/ip协议栈是属于内核的一部分,所以,客户端的请求报文会通过内核的TCP协议传输到用户空间的web服务,而客户端报文的目标地址为web服务器所监听的套接字(ip:port)上,当web服务器响应客户端请求时,web服务所回应的响应报文的目标地址为客户端地址,我们说过,netfilter才是真正的防火墙,属于内核的一部分,所以,我们要想让netfilter起到作用,我们就需要在内核中设置“关口”,所以进出的数据报文都要通过这些关口,经检查,符合放行条件的准允放行,符合阻拦条件的则被阻止,于是就出现了input和output关口,然而在iptables中我们把关口叫做“链”。
在这里插入图片描述

五条链
  • INPUT
  • OUTPUT
  • FORWARD
  • PREROUTING
  • POSTROUTING
    在这里插入图片描述

四张表

  • filter: 实现对数据包的过滤
  • nat: 主要修改数据包的地址和端口,例如源地址或目标地址
  • mangle:对数据包进行修改,例如给数据包打标记MARK
  • raw:主要做连接追踪

iptables-services安装

说明

只要有iptables命令就可以写规则,但是在centos7上软件包不安装完全,是没有iptables服务的(主要安装iptables-services软件包)。

iptables-services安装

# yum  -y install iptables-services
# systemctl start iptables.service
# systemctl enable iptables.service

iptables策略管理

Iptables基本语法

在这里插入图片描述

-A   增加一条规则,后接链名,默认是加到规则的最后面
-D   删除
-L   列出规则 
-n   以数值显示 
-I   在最前面插入规则 
-v   显示统计数据,与-L一起用,看到的信息更多

-F   清空规则
-z   清空计数器
-x   清空自定义链

-t   后接表名
-P   policy,默认策略
-p   protocol,后接协议名
--dport	 目标端口
--sport  源端口
-d  destination,目标地址
-s  source,源地址	
-i  接网卡接口, 进入的网卡接口
-o  接网卡接口, 出去的网卡接口
-j  后接动作

动作的分类:

ACCEPT    	接收数据包
DROP	    丢弃数据包
REJECT   	拒绝数据包,和DROP的区别就是REJECT会返回错误信息,DROP不会
MASQUEREAD  IP地址伪装,使用NAT转换成外网IP,可以PPP拔号(外网IP不固定情况)
SNAT   		源地址转换,它与MASQUEREAD的区别是SNAT是接一个固定IP
DNAT		目标地址转换
LOG    		记录日志

查看规则

注意: 不指定表,默认为filter表

# iptables  -L
# iptables -t filter -L
# iptables -t  nat -L
# iptables -t  mangle -L
# iptables -t  raw -L

清空默认规则

这三张表可能有默认的规则,我们先把规则都清掉

# iptables -t filter -F
# iptables -t nat -F
# iptables -t mangle -F

保存规则

# service iptables save

web服务器防火墙规则配置

场景: 仅允许web客户端访问web服务端TCP 80端口,其它任何访问都拒绝。

# iptables -F
# iptables -P INPUT DROP
# iptables -A INPUT -p tcp --dport 80  -j ACCEPT
# service iptables save
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值