中山网站建设文化策划书,汽车之家如何做团购网站,朔州市2018年建设工程网站,福州快速网站建设一、防火墙
防火墙#xff1a;防火墙是位于内部网和外部网之间的屏障#xff0c;它按照系统管理员预先定义好的规则来控制数据包的进出。防火墙又可以分为硬件防火墙与软件防火墙。
硬件防火墙是由厂商设计好的主机硬件#xff0c;这台硬件防火墙的操作系统主要以提供数据…一、防火墙
防火墙防火墙是位于内部网和外部网之间的屏障它按照系统管理员预先定义好的规则来控制数据包的进出。防火墙又可以分为硬件防火墙与软件防火墙。
硬件防火墙是由厂商设计好的主机硬件这台硬件防火墙的操作系统主要以提供数据包数据的过滤机制为主并将其他不必要的功能拿掉。软件防火墙就是保护 系统网络安全的一套软件或称为机制例如 Netfilter 与 TCP Wrappers都可以称为软件防火墙。
这儿主要介绍linux 系统本身提供的软件防火墙的功能那就是 Netfilter 即数据包过滤机制。数据包过滤也就是分析进入主机的网络数据包将数据包的头部数据提取出来进行分析以决定该连接为放行或抵挡的机制。由于这种方式可以直接分析数据包头部数据包括硬件地址软件地址TCP、 UDP 、 ICMP 等数据包的信息都可以进行过滤分析因此用途非常广泛主要分析 OSI 七层协议的2、 3 、 4 层。由此可知 linux 的 Netfilter 机制可以进行的分析工作有
拒绝让 Internet 的数据包进入主机的某些端口拒绝让某些来源 ip 的数据包进入拒绝让带有某些特殊标志 flag 的数据包进入最常拒绝的就是带有 SYN 的主动连接的标志了分析硬件地址 MAC 来决定连接与否。
虽然 Netfilter 防火墙可以做到这么多事情不过某些情况下它并不能保证我们的网络一定就很安全。
例如防火墙并不能有效阻挡病毒或木马程序。假设主机开放了 www 服务防火墙的设置是一定要将www 服务的 port 开放给 client 端的。假设 www 服务器软件有漏洞或者请求 www 服务的数据包本身就是病毒的一部分时防火墙是阻止不了的防火墙对于内部LAN 的攻击无能为力防火墙对于内部的规则设置通常比较少所以就很容易造成内部员工对于网络无用或滥用的情况netfilter这个数据包过滤机制是由 linux 内核内建的不同的内核版本使用的设置防火墙策略的软件不一样在红帽7 系统中 firewalld 服务取代了 iptables 服务但其实 iptables 服务与 firewalld 服务它们都只是用来定义防火墙策略的“ 防火墙管理工具 ” 而已他们的作用都是用于维护规则而真正使用规则干活的。
二、iptables
1.iptables介绍
防火墙会从以上至下的顺序来读取配置的策略规则在找到匹配项后就立即结束匹配工作并去执行匹配项中定义的行为即放行或阻止。如果在读取完所有的策略规则之后没有匹配项就去执行默认的策略。一般而言防火墙策略规则的设置有两种一种是“ 通 ” 即放行一种是 “ 堵 ” 即阻止。当防火墙的默认策略为拒绝时堵就要设置允许规则通否则谁都进不来如果防火墙的默认策略为允许时就要设置拒绝规则否则谁都能进来防火墙也就失去了防范的作用。 iptables 服务把用于处理或过滤流量的策略条目称之为规则多条规则可以组成一个规则链而规则链则依据数据包处理位置的不同进行分类具体如下
在进行路由选择前处理数据包用于目标地址转换 PREROUTING 处理流入的数据包 INPUT 处理流出的数据包 OUTPUT 处理转发的数据包 FORWARD 在进行路由选择后处理数据包用于源地址转换 POSTROUTING 。
[rootlocalhost ~]# yum install iptables -y
[rootlocalhost ~]# systemctl stop firewalld
[rootlocalhost ~]# systemctl start iptables
[rootserver ~]# iptables -F #清空所有的规则表清空之后客户端可以访问ssh和http服务
iptables 命令可以根据流量的源地址、目的地址、传输协议、服务类型等信息进行匹配一旦匹配成功iptables 就会根据策略规则所预设的动作来处理这些流量。 语法格式iptables -t 表名 -A/I/D/R 规则链名 [规则号] -i/o 网卡名 -p 协议名 -s 源IP/源子网 --sport 源端口 -d 目标IP/目标子网 --dport 目标端口 -j 动作 2.实验
实验一搭建web服务设置任何人能够通过80端口访问。
[rootlocalhost ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
[rootlocalhost ~]# iptables -L --line-numbers
[rootlocalhost ~]# iptables -D INPUT 1
实验二禁止所有人ssh远程登录该服务器
[rootlocalhost ~]# iptables -I INPUT -p tcp --dport 22 -j REJECT
#删除设置的拒绝ssh连接
[rootlocalhost Desktop]# iptables -D INPUT 1
实验三禁止某个主机地址ssh远程登录该服务器允许该主机访问服务器的web服务。服务器地址为172.24.8.128
拒绝172.24.8.129通过ssh远程连接服务器
[rootlocalhost ~]# iptables -I INPUT -p tcp -s 172.24.8.129 --dport 22 -j
REJECT
允许172.24.8.129访问服务器的web服务
[rootlocalhost ~]# iptables -I INPUT -p tcp -s 172.24.8.129 --dport 80 -j
ACCEPT
三、firewalld
1.firewalld介绍
iptables service 首先对旧的防火墙规则进行了清空然后重新完整地加载所有新的防火墙规则而如果配置了需要 reload 内核模块的话过程背后还会包含卸载和重新加载内核模块的动作而不幸的是这个动作很可能对运行中的系统产生额外的不良影响特别是在网络非常繁忙的系统中。如果我们把这种哪怕只修改一条规则也要进行所有规则的重新载入的模式称为静态防火墙的话那么firewalld 所提供的模式就可以叫做动态防火墙它的出现就是为了解决这一问题任何规则的变更都不需要对整个防火墙规则列表进行重新加载只需要将变更部分保存并更新即可, 它具备对 IPv4 和 IPv6 防火墙设置的支持。 相比于传统的防火墙管理工具firewalld 支持动态更新技术并加入了区域的概念。区域就是 firewalld 预先准备了几套防火墙策略集合策略模板用户可以选择不同的集合从而实现防火墙策略之间的快速切换。
firewalld 中常见的区域名称默认为 public 以及相应的策略规则 firewalld 默认提供的九个 zone 配置文件都保存在 “/usr/lib/firewalld/zones/” 目录下分别为
block.xml drop.xml home.xml public.xml work.xml dmz.xml external.xml
internal.xml trusted.xml在RHEL7 中 firewalld 服务是默认的防火墙配置管理工具他拥有基于 CLI 命令行界面和基于GUI 图形用户界面的两种管理方式。 firewall-config 和 firewall-cmd 是直接编辑 xml 文件其中firewall-config 是图形化工具 firewall-cmd 是命令行工具。
安装 firewalld 服务的软件
[rootlocalhost ~]# rpm -qa | grep firewall
firewall-config-0.3.9-14.el7.noarch
firewalld-0.3.9-14.el7.noarch
firewall-cmd 命令的参数说明如下 [rootlocalhost ~]# systemctl stop iptables
[rootlocalhost ~]# systemctl restart firewalld
[rootlocalhost ~]# firewall-cmd --help #查看帮助
[rootlocalhost ~]# firewall-cmd --list-all #查看所有的规则
[rootlocalhost ~]#firewall-cmd --permanent --add-service服务名
使用firewalld配置的防火墙策略默认为当前生效会随着系统的重启而失效。如果想让策略一直存在
就需要使用永久模式了即在使用firewall-cmd命令设置防火墙策略时添加--permanent参数这样
配置的防火墙策略就可以永久生效了最后想要使用这种方式设置的策略生效只能重启或者输入命令
firewall-cmd --reload。
#禁止某个ip地址进行ssh访问应该写成ip/32
#配置端口转发在172.24.8.0网段的主机访问该服务器的5423端口将被转发到80端口
[rootsystem1 ~]# firewall-cmd --permanent --add-rich-rulerule
familyipv4 source address172.24.8.0/24 forward-port port5423
protocoltcp toport80