综合架构-iptables防火墙

一、防火墙概述

  • 目标:
    • 防火墙:封端口,封ip
    • 实现NAT功能
      • 共享上网
      • 端口映射(端口转发),ip映射

二、防火墙

2.1防火墙种类及使用说明

  • 硬件:整个企业入口
    • 三层路由:H3C 华为 Cisco(思科)
    • 防火墙:深信服,奇安信,绿盟…..
  • 软件:开源软件 网站内部 封ip 封端口
    • iptables 写入到Linux内核中 以后服务docker工作在4层(大部分)
    • firewalld C7 底层也是iptables
    • nfttables C8 C9
    • ufw(ubuntu firewall)Ubuntu
  • 云防火墙(公有云):
    • 阿里云:
      • 安全组(封ip,封端口)
      • NAT网关(共享上网,端口映射)
      • wat应用防火墙
      • DDOS高防
  • waf防火墙(应用防火墙,处理7层的攻击)SQL注入,等攻击
  • 书写规则(描述攻击过程,关键提示,关键操作)

企业选型建议:

中小企业:使用公有云,安全组,waf防火墙,态势感知。

访问量巨大:使用硬件防火墙,waf防火墙,硬件防火墙+云服务器

2.2必须熟悉的名词

  • 容器:瓶子 罐子 存放东西
  • (table): 存放的容器,防火墙最大概念
  • (chain): 存放规则的容器
  • 规则(policy): 准许或拒绝规则,未来书写的防火墙条件就是各种防火墙规则

他们像套娃一样,一层套一层

Netfilter表(tables)链(chains)规则(Policy)
一栋楼楼里的房子房子里的柜子柜子里的衣服,拜访规则

2.3iptables 执行过程

  • 工作流程小结:
    • 防火墙是层层过滤的,实际是按照配置规则的顺序从上到下,从前到后进行过滤的
    • 如果匹配成功规则,即明确表示是拒绝(DROP)还是接受(ACCEPT),数据包就不再向下匹配新的规则
    • 如果规则中没有明确表明阻止还是通过的,也就是没有匹配规则,向下进行匹配,直到匹配默认规则得到明确的阻止还是通过
    • 防火墙的默认规则是所有规则都匹配完才会匹配的

2.4表与链

2.4.1简介

  • 表(table)是对功能的分类,防火墙功能(filter表),共享上网,端口转发(nat表)
  • 链对数据流进行处理,需要不同的链(数据流入(INPUT),数据流出(POUTPUT))
  • iptables是4表伍链
  • 4表:filter表(默认)nat表 raw表 mangle表
  • 伍链:INPUT OUYPUT FORWARD PREROUTUNG POSTROUTING

pre…之前

pre…之后

2.4.2每个表说明

1)filter表

  • 是iptables默认的表,filter表示过滤
  • 实现防火墙功能:(对数据包的filter过滤)屏蔽或准许,端口,ip
filter表强调:主要和自身相关,真正负责主机防火墙功能的(过滤流入流出主机的数据包)filter表示iptables默认使用的表,这个表定义了三个链(chains)企业工作场景:主机防火墙
INOPUT负责过滤所有目标地址是本机地址的数据包 通俗来说:就是过滤进入主机的数据包(能否让数据包进入服务器)
FORWARD路过:负责转发流经主机的数据包。 起转发的作用,和NAT关系很大,后面会详细介绍LVS NAT模式,net.ipv4.ip_forward=0
OUTPUT处理所有源地址是本机地址的数据包 通俗来讲:就是处理从主机发出的数据包

2)nat表

  • 实现nat功能
    • 实现共享上网(内网服务器上外网)
    • 端口映射和ip映射
#防火墙相关模块 加载到内核中
#写入到开机自启动.
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state
#永久
chmod +x /etc/rc.d/rc.local
cat >>/etc/rc.local<<EOF
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state
EOF
#检查是否加载防火墙iptables 模块
[root@m01 ~]# lsmod |egrep ‘filter|nat|ipt’

2.5环境准备及命令

iptables iptables启动或关闭的命令

2.5.2 iptables 命令参数

  • 指定表或链的指令
  • 描述什么类型的数据
  • 指定是准许还是拒绝

2.6 配置fulter表规则

  • 正式配置之前 先备份,清空规则

2.6.1 禁止访问22端口

  • -t 用于指定表,不写默认就是fulter表
  • 删除规则 -D

2.6.2 封ip,屏蔽某个ip

  • 发出DDOS攻击,某个/几个ip对网站发出请求(大量)

2.6.3 禁止网段连入 (禁止10.0.0.0/24网段访问 22端口)

nc ncat netcat

nc -lk

telnet

2.6.4 只允许指定网段连入(允许172.16.1.0网段)

实现阿里云白名单功能:默认是拒绝 开放端口 网段

allow 10.0.0.0/24;

deny all;

  • 修改默认规则
    • 然后添加规则准许10.0.0.0/24访问22
    • 准许172.16.1.0/24访问所有
    • 准许任何人访问80,443

2.6.5 匹配ICMP类型 禁止ping

方案01:防火墙实现

方案02:linux内核参数

  • ICMP internet控制报文协议 ping
  • 整个网站核心

通过防火墙规则 控制是否可以ping

通过内核参数 控制禁止被ping

2.6.6 指定多个端口

2.6.7 匹配网络状态(TCP/IP连接状态)

2.6.8 限制并发及速率

web01进行ping测试

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇