防火墙

防火墙:netfilter

在6中管理防火墙工具:iptables

在7中管理防火墙工具:firewalled

(1)Linux系统结构

在X86平台的CPU,是如何执行内核程序和用户程序

精简指令集和复杂指令集

ring0-----ring3:从里到外越来越低级

ring0:与硬件、设备或总线控制相关的程序------内核程序

ring1、ring2:与驱动或虚拟化相关的程序

ring3:与用户程序有关的在

(2)/proc与/sys

1、PID是不是文件? 是,在proc中

2、资源的使用情况是以文件的形式呈现吗? 是,在proc中

3、系统分区的情况会不会记录在文件中? 是,在proc中

4、驱动程序的具体信息能否看到? 能,在sys文件中

(3)防火墙基础

网络防火墙、主机防火墙

硬件防火墙、软件防火墙

网络安全的知名企业:深圳信服、思科、天融信

硬件防火墙:思科(AIR-CT5508-300-K9)、华为(USG6670)

(4)四表,五链

四表:

            filter(INPUT、FORWARD、OUTPUT)

​            nat(PREROUTING、POSTROUTING、OUTPUT)

​			raw(PREROUTING、OUTPUT)

​			mangle(INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING)

五链:

            INPUT

​			OUTPUT

​			FORWARD

​			PREROUTING

​			POSTROUTING

四表在同一链中的优先级:

​ raw(关闭nat表)

​ ---->

​ mangle(解析报文,并重新封装)

​ ---->

​ nat(网络地址转换功能)

​ ---->

​ filter(负责过滤功能,防火墙;内核模块:iptable_filter )

(5)查看防火墙的配置

-L:查看规则

-t 指定表 -L

-n:转化成数字

-v:显示详细信息

–line-number:显示链下规则的行号

[root@localhost ~]# modprobe iptable_nat#重新加载表模块
[root@localhost ~]# iptables -L #查看所有规则
[root@localhost ~]# iptables -F #清除规则
[root@localhost ~]# service iptables restart重新启动
[root@localhost ~]# iptables -t filter -L #指定查找内容
[root@localhost ~]# iptables -nL #将地址转换成数字
[root@localhost ~]# iptables -nvL#详细信息
[root@localhost ~]# iptables -nvL --line-number标出行号

source:源地址 (这个地址ping你)

​ -s 地址

destinat:目标地址(我ping这个地址)

​ -d 地址

target:

​			ACCEPT:容许,接收

​			DROP:丢弃

​			REJECT:拒绝

​				-I:加到第一条

​                -A:加到最后一条

​			    -p:指定协议

​				--dport:目标端口

​                --sport:源端口
增:

[root@localhost ~]# iptables -t filter -I INPUT -s 192.168.220.19 -j REJECT#拒绝源地址的请求
[root@localhost ~]# iptables -t filter -I INPUT -s 192.168.220.19 -j DROP#丢弃源地址的请求
[root@localhost ~]# iptables -nvL --line-number
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 260 21840 DROP all – * * 192.168.220.19 0.0.0.0/0
2 71 5964 REJECT all – * * 192.168.220.19 0.0.0.0/0
#放在前面的优先级高
[root@localhost ~]# iptables -t filter -I OUTPUT -d 192.168.220.19 -j REJECT # 将输出也设为拒绝
[root@localhost ~]# iptables -t filter -A INPUT -s 192.168.220.19 -j DROP#追加到最后
[root@localhost ~]# iptables -t filter -I INPUT 2 -s 192.168.220.19 -j REJECT # 指定行号,具体添加到哪一行
[root@localhost ~]# iptables -t filter -I INPUT -s 192.168.220.19 -p ICMP -j DROP# 只禁掉ping
[root@localhost ~]# iptables -t filter -I INPUT -j REJECT#禁掉全部,拒绝所有
[root@localhost ~]# iptables -t filter -I INPUT -s 192.168.220.19,192.168.220.17 -p ICMP -j ACCEPT # 同时添加多个可ping通的地址
[root@localhost ~]# iptables -t filter -I INPUT -p ICMP -s 192.168.220/24 -j ACCEPT # 添加一个网段,这个网段内的所有网络都可以ping通
[root@localhost ~]# iptables -t filter -I INPUT -p ICMP ! -s 192.168.19 -j ACCEPT # 除了这个网段中的这一个ip地址ping不同,其他都可以ping通

curl:

[root@localhost ~]# iptables -t filter -I INPUT -s 192.168.220.19 -p tcp --dport 80 -j ACCEPT # 接收curl
[root@localhost ~]# iptables -t filter -I INPUT -s 192.168.220.19 -p tcp --sport 80 -j REJECT# 禁掉curl

ssh:

[root@localhost ~]# iptables -t filter -I INPUT -p tcp --dport 22 -j ACCEPT# 接收ssh
[root@localhost ~]# iptables -t filter -A INPUT -j REJECT# 禁掉全部,拒绝所有,先执行接收ssh
[root@localhost ~]# iptables -t filter -I INPUT -p tcp -m tcp --dport 22:80 -j ACCEPT

ping ip:

[root@localhost ~]# iptables -t filter -I INPUT -p ICMP ! -s 192.168.19 -j ACCEPT# 除了这个网段中的这一个ip地址ping不同,其他都可以ping通
[root@localhost ~]# iptables -t filter -I INPUT -p ICMP -s 192.168.220/24 -j ACCEPT # 添加一个网段,这个网段内的所有网络都可以ping通

删:

[root@localhost ~]# iptables -F #清除规则
[root@localhost ~]# iptables -t filter -D INPUT 3 #指定行号删除
[root@localhost ~]# iptables -t filter -D INPUT -p tcp --sport 22 -j ACCEPT# 指定条件删除(自己为源端口)

改:

[root@localhost ~]# iptables -t filter -R INPUT 2 -p tcp --dport 80 -s 192.168.220.15 -j ACCEPT

查:

[root@localhost ~]# iptables -nL #将地址转换成数字
[root@localhost ~]# iptables -nvL#详细信息
[root@localhost ~]# iptables -nvL --line-number#列出行数

保存:

[root@localhost ~]# iptables-save # 输出到屏幕
[root@localhost ~]# iptables-save > /etc/sysconfig/iptables # 重定向到文件中
[root@localhost ~]# service iptables save# 保存到/etc/sysconfig/iptables文件中
[root@localhost ~]# md5sum iptables
[root@localhost ~]# md5sum /etc/sysconfig/iptables
#校验两个文件内容是否相同,若校验码相同,则可以替换,若校验码不同,不能替换

若7中没有iptables,使用不了service iptables save指令

首先不管防火墙有没有关 先使用systemctl stop firewalld 关闭防火墙
然后使用 yum install iptables-services 安装或更新服务
再使用systemctl enable iptables 启动iptables
最后 systemctl start iptables 打开iptables
最后 service iptables save
查看端口号

[root@localhost ~]# netstat -lunpt

你可能感兴趣的:(防火墙)