防火墙实战

1.课程内容

  • 常见防火墙选用
硬件
开源软件:iptables (默认规则改为 INPUT DROP)
云服务器:安全组(阿里云 白名单[默认是拒绝])
  • Iptables使用 执行过程
  • Iptables 4表5链
filter nat mangle raw
filter    : INPUT
nat       : PREROUTING POSTROUTING
             pre prefix xxx之前
             routing route
             post xxx之后
  • 准备Iptables环境

  • Iptables功能之防火墙-filter
    封IP 封端口
    准许某个ip访问 网段访问

  • 实际生产iptables配置

  • Iptables功能之内网服务器上外网(共享上网)

  • Iptables功能之端口转发

2.常见防火墙选用

1.公司网站入口使用的硬件防火墙、三层路由带有防火墙功能
2.Iptables访问量小 C5 C6 默认,CentOS 7 Firewalld(关闭 安装iptables)
3.SELinux

3. 名词(关系)与单词

名词                          含义                         对比
容器                    存放内容/存放东西
Netfilter/iptables      Netfilter/iptables是表的容器        国家
表 (table)             表是用来存放链的容器                  省
链 (chain)              链存放 规则容器                      市
规则 ( policy )         准许/拒绝访问                      区县具体地点

4.防火墙执行过程

1. 防火墙是层层过滤的,实际是按照配置规则的顺序从上到下,从前到后进行过滤的。
2. 如果匹配上规则,即明确表示是阻止(DROP)还是通过(ACCEPT)数据包就不再向下匹配新的规则。
3. 如果规则中没有明确表明是阻止还是通过的,也就是没有匹配规则,向下进行匹配,直到匹配默认规则得到明确的阻止还是通过。
4. 防火墙的默认规则是所有规则执行完才执行的。

image.png

5. 四表五链

  • 5.1 整体说明 4表及作用
表                    功能
Filter                过滤,默认的表,防火墙功能
NAT                   实现NAT转化:1.共享上网 2.端口转发
mangle                熟悉名字即可
raw                   熟悉名字即可

参考查询帮助: man iptables

  • 5.2 4表中的5链


    image.png
image.png
  • 5.2.1 filter表
filter表      企业工作场景:主机防火墙
INPUT         就是过滤进入主机的数据包
FORWARD       负责转发流经主机的数据包。
OUTPUT        就是处理从主机发出去的数据包
  • 5.2.2 nat表
PREROUTING          处理用户请求中的目的地址 目的端口 端口转发 ip映射
POSTROUTING         处理离开服务器的请求 源端口 源ip :共享上网
OUTPUT              和主机放出去的数据包有关,改变主机发出数据包的目的地址。
  • 5.2.3 Mangle表
主要负责修改数据包中特殊的路由标记,如TTL,TOS,MARK等,这个表定义了5个链
(chains):

6. 防火墙之filter表

  • 6.1 环境准备
    m01 iptables
    db01
yum install iptables iptables-services
[root@m01 ~]# rpm -qa iptables-services
iptables-services-1.4.21-28.el7.x86_64
[root@m01 ~]# rpm -ql iptables-services
/etc/sysconfig/ip6tables
/etc/sysconfig/iptables #iptables 配置文件
/usr/lib/systemd/system/ip6tables.service
/usr/lib/systemd/system/iptables.service #iptables服务管理配置

启动防火墙:

1 systemctl start iptables.service
2 systemctl enable iptables.service

检查防火墙内核模块是否加载成功:

[root@m01 ~]# lsmod |egrep 'nat|ipt|filter'
ipt_REJECT 12541 2
nf_reject_ipv4 13373 1 ipt_REJECT
iptable_filter 12810 1
xt_nat 12681 1
iptable_nat 12875 1
nf_nat_ipv4 14115 1 iptable_nat
nf_nat 26787 2 nf_nat_ipv4,xt_nat
nf_conntrack 133095 4
nf_nat,nf_nat_ipv4,xt_conntrack,nf_conntrack_ipv4
ip_tables 27126 2 iptable_filter,iptable_nat
libcrc32c 12644 3 xfs,nf_nat,nf_conntrack

手动加载内核模块:

modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state
  • 6.2 配置规则-禁止访问22端口
[root@m01 ~]# iptables -F
[root@m01 ~]# iptables -X
[root@m01 ~]# iptables -Z
[root@m01 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@m01 ~]# iptables -t filter -A INPUT -p tcp --dport 22 -j DROP

配置防火墙规则注意事项:
1. 去机房重启系统或者登陆服务器删除刚才的禁止规则。
2. 让机房人员重启服务器或者让机房人员拿用户密码登录进去
3. 通过服务器的远程管理卡管理(推荐)
4. 先写一个定时任务,每5分钟就停止防火墙
5. 测试环境测试好,写成脚本,批量执行

  • 6.3 iptables 命令及参数
iptables
-t                  指定表 filter(默认) nat
-A                  append 把规则追加到末尾
-I (大写字母I)       insert 把规则插入到规则的第1条 (添加拒绝类规则的时候)
-p                  protocal 指定协议:tcp /udp/icmp
--dport             destination port 目标端口
--sport             source port 源端口
-d                  dest ip address 目标ip地址
-s                  source ip address 源ip地址
-i                  input数据进来的时候通过的网卡

-j                  jump 方法 DROP(拒绝) ACCEPT(准许) REJECT(拒绝)的
iptables查看 删除
-F                            清除链中所有的规则
-X                            清空自定义链的规则
-Z                            清空计数器
-n                            不要把端口解析服务名字
-L                            显示表中的规则
--line-number                 给每个链中的规则加上行号
-D                            删除规则 根据规则的号码进行删除 -D INPUT 2
image.png
  • 6.4 filter表其他规则配置
    6.4.1 只让10.0.0.0/24网段进行访问
    只要是10.0.0.0/24 局域网的用户 访问m01 都ACCEPT
    此例子主要限制:网段或ip地址
[root@m01 ~]# iptables -I INPUT -p tcp ! -s 10.0.0.0/24 -j DROP
[root@m01 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- !10.0.0.0/24 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
  • 6.4.2 准许或禁止端口
    多个端口:表示范围 1-1024范围
[root@m01 ~]# iptables -I INPUT -p tcp ! --dport 1:1024 -j DROP
[root@m01 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp
dpts:!1:1024
DROP tcp -- !10.0.0.0/24 0.0.0.0/0
Chain FORWARD (policy ACCEPT)

nc用法:
nc -l 指定监听端口
nc/telnet 连接
nc 服务端:

[root@m01 ~]# nc -l 99 >/tmp/new.txt
[root@m01 ~]# cat /tmp/new.txt
127.0.0.1 localhost localhost.localdomain localhost4
localhost4.localdomain4
::1 localhost localhost.localdomain localhost6
localhost6.localdomain6
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.7 web01
172.16.1.8 web02
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.51 db01 db01.etiantian.org
172.16.1.61 m01

nc客户端

[root@m01 ~]# cat /etc/hostname |nc 10.0.0.61 99

多个端口 不连续 80,433,52113,22
-m multiport 指定多个端口

[root@m01 ~]# iptables -I INPUT -p tcp -m multiport ! --dport 80,443,22 -
j DROP
[root@m01 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- 0.0.0.0/0 0.0.0.0/0 multiport
dports !80,443,22
DROP tcp -- !10.0.0.0/24 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,692评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,482评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,995评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,223评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,245评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,208评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,091评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,929评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,346评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,570评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,739评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,437评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,037评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,677评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,833评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,760评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,647评论 2 354

推荐阅读更多精彩内容

  • 防火墙的概念iptables的简介iptables命令网络防火墙NATfirewalld服务 一、防火墙的概念 (...
    哈喽别样阅读 1,823评论 0 1
  • 一.防火墙概念 (一)安全技术介绍 (1) 入侵检测与管理系统(Intrusion Detection Syste...
    楠人帮阅读 1,489评论 0 3
  • 1.安全技术 (1)入侵检测与管理系统(Intrusion Detection Systems): 特点是不阻断任...
    尛尛大尹阅读 2,467评论 0 2
  • 学习时间:1小时 学习内容:现代文学作品,日更一篇 明日学习时间:2小时
    阅悦生阅读 352评论 2 9
  • 黑客攻击的蔓延使合法的正版软件更受欢迎,因为正版软件通常自动提供安全更新的升级。 WannaCrypt的目标很清晰...
    葛朗台商业简讯阅读 130评论 0 0