防火墙

Linux防火墙

Selinux :

他是linux系统特有的安全机制,因为这种机制限制太多,一般都是关闭状态

配置文件:永久关闭

/etc/selinux/confi 把他enforcing改为disabled

获取当前selinux状态可以用命令:getenforce

临时关闭selinux: setenforce 0

 

netfilter介绍:

在之前版本的centos6里的防火墙为netfilter,centos7为firewalld。

Iptables工具,

常听说Linux防火墙叫做“iptables”,其实这样的称呼并不是很正确,什么是iptables呢?在前面提过Netfilter所需要的规则是存放在内存中的,但问题是防火墙管理人员该如何将规则存放到内存呢?因此,防火墙管理人员会需要一个规则编辑工具,通过这个工具来对内存中的规则执行添加、删除及修改等操作,这个工具就是iptables以及ip6tables,其中iptables是在IPV4网络环境中使用,而ip6tables是在IPV6网络环境中使用,因此,Linux防火墙比较正确的名称应该是Netfilter/iptables。

yum install -y iptables-services  安装方法(安装完要手动启动)

用法:

查看规则: Iptables -nvl

清空规则: iptables -F  // -F是清空规则(清空完要保存)

保存规则:service iptables save

规则文件保存在 /etc/sysconfig/iptables (这里可以自己重定向一个保存文件,即是备份)

规则还原可以使用重定向(<)

 

 

netfilter的五个表:

filter表:主要用于过滤包,系统默认表,该表有3个链,

INOUT:通过路由表后目的地为本机(进入本机的包)

OUTPUT:由本机产出,向外转发的包(本机发出去的包)

FORWORD:通过路由表后,目的地不为本机(过滤不是来自本机的包)

 

nat表:主要用于网络地址转换,该表有3个链

PREROUTING:数据包进入路由表之前(数据包进入防火墙时改变它的目地地址)

OUTPUT:改变本地产出的包的目地地址(本机发出去的包)

POSTROUTING:包即将离开防火墙时改变其源地址

 

Mangle表:主要用于给数据包做标记,然后根据标记去操作相应的包。该表有5个链

PREROUTINGPOSTROUTINGINPUTOUTPUTFORWARDING

 

Raw表:可以实现不追踪某些数据包,默认系统的数据包都会被追踪,但追踪必消耗一定资源。改变有2个链

PREROUTINGOUTPUT

 

Security表:强制访问MAC的网络规则

 

Netfilter的5个链

PREROUTING:数据包进入路由之前

INPUT:通过路由表后目的地为本机

FORWARDING:通过路由表后,目的地不为本机

OUTPUT:由本机产生,向外转变

POSTROUTING:发送到网卡接口之前

 

原理:

1,当一个数据进入网卡时,他首先进入PREOUTING链(数据包进入路由之前)-然后判断目标IP是否本机。

       如果数据包是进入本机的,他会到达INPUT链(通过路由表后目的地为本机),数据包到达INPUT链后进入本机内核,然后内核进行处理,处理完到OUTPUT链(由本机产生,向外转发)最后到POSTROUTING(发送到网卡接口之前)

        如果不是进入本机的,他会到FORWARDING链(通过路由表后,目的地不为本机)最后POSTROUTING链(发送到网卡接口之前)

Iptables语法:

Iptables [option]

Option:

-P 指定链的默认策略iptables -P OUTPUT DROP (扔掉发出的所有数据包)

-D 删除(删除需要与添加规则前和删除规则后面要一致)

-A:增加规则{添加到那条链} 

-s:指定来源IP  (input链)

-p:指定协议{TCP/UDP/icmp} 

--sport:来源的端口 

-d:目标的IP  (output链)

--dport:目标的端口   

-j    DROP/REJECT/ACCEPT:扔掉/接受/拒绝(差别在于DROP直接扔掉,REJECT先检查再考虑是否扔掉)

方便的删除技巧:

iptables -nvl --line-numbers

iptables -D 链 数字 (直接输入列出来了的数字)

Nat表应用:

实现网络地址转发(就是可以让内网上网)

iptables -t nat -A POSTROUTING -s 192.168.11.0/24 -o ens33 -j MASQUERADE 

 

Firewalld防火墙:

Firewalld有2个基础概念:分辨是zone和service

每个zone下面有不同的规则

每一个zone里面都使用了不同的service,而service即是端口服务(如FTP,SSH、等)

firewalld的zone

Zone常用命令:

  • 查看所有zone命令
  •  firewall-cmd --get-zones
  • 查看默认zone命令  
  • firewall-cmd --get-default-zone (默认是public)
  • 设定系统默认的zone
  •  firewall-cmd --set-default-zone=work
  • 查看指定网卡的zone  
  • firewall-cmd --get-zone-of-interface=ens33
  • 给指定网卡设置zone
  •  firewall-cmd --zone=home --add-interface=ens33
  • 针对网卡更改zone
  •  firewalld-cmd --zone=home --change-interface=ens33
  • 针对网卡删除zone
  •  firewalld-cmd --zone=home --remove-interface=ens33
  • 查看系统所有网卡所在的zone
  •  firewalld-cmd --get-active-zones

 

Service操作命令:

  • 列出系统所有service
  • firewalld-cmd --get-services
  • 查看系统默认的zone下面有那些service
  • firewalld-cmd --list-services
  • 查看知道zone有那些service
  • Firewalld-cmd --zone=public --list-services
  • 知道zone来添加服务
  • firewall-cmd --zone=public  --add-service=ftp

 

总结:zone是一个规则集合,每个zone下面有service,而每个sevice下面可以放行不同的服务(ftp、http),service也是可以自定义的。(多数是端口)

zones模板路径:/usr/lib/firewalld/zones  (9种zones的模板)

service模板路径:/usr/lib/firewalld/service

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值