企业手机网站设计,iis 配置网站详解,杭州网站设计建设,微信网站特点目录
前言
编辑
一、概念
1、防火墙的分类#xff1a;
2、防火墙性能
3、硬件防火墙的品牌、软件防火墙的品牌
4、硬件防火墙与软件防火墙比较
二、linux中的防火墙
1、iptables
2.netfilter/iptables功能
3、四表
iptables中表的优先级
4、五链
三、iptables…目录
前言
编辑
一、概念
1、防火墙的分类
2、防火墙性能
3、硬件防火墙的品牌、软件防火墙的品牌
4、硬件防火墙与软件防火墙比较
二、linux中的防火墙
1、iptables
2.netfilter/iptables功能
3、四表
iptables中表的优先级
4、五链
三、iptables
1、iptables规则匹配条件分类基本匹配条件
基本匹配使用选项及功能
隐式匹配选项及功能
multipor 多端口
iprang 多地址
time 指定访问时间范围
connlimit 连接限制根据每个客户端IP作并发连接数量限制
state 报文速率限制
制定iptables规则思路
iptables链管理方法
iptables规则管理
iptables规则显示
四、iptables应用
五、实验
1、实验一保存策略
2、实验二host2安装http服务禁止访问防火墙的80端口其他都可以访问
3、实验三拒绝多个端口 前言
防火墙的定义
防火墙是一种网络安全设备或软件用于监控和控制网络流量以保护计算机网络免受未经授权的访问、恶意攻击和未经授权的数据传输。防火墙通过筛选网络流量并根据预定义的规则集来允许或阻止特定类型的通信。
防火墙可以在不同的网络层级上操作包括网络层、传输层和应用层。它可以检测和阻止恶意流量如网络攻击、病毒、恶意软件和未经授权的访问。防火墙还可以实施安全策略例如限制特定IP地址或端口的访问允许或阻止特定类型的网络服务或协议。
防火墙通常由硬件设备如网络防火墙或软件如操作系统防火墙实现。它们可以配置为允许特定类型的流量通过而阻止其他类型的流量。防火墙可以是网络边界上的关键设备也可以在内部网络中部署以提供额外的安全性。
总之防火墙是保护计算机网络免受网络威胁和攻击的关键组件它起到了过滤和控制网络流量的作用确保网络的安全性和完整性。 一、概念
1、防火墙的分类
防火墙可以根据其部署位置、功能和实现方式进行分类。以下是常见的防火墙分类
1. 网络层防火墙Network Layer Firewalls这种防火墙工作在网络层OSI模型的第三层通常作为网络边界的第一道防线。它基于源IP地址、目标IP地址、端口号等网络层信息进行过滤和控制网络流量。
2. 应用层防火墙Application Layer Firewalls这种防火墙工作在应用层OSI模型的第七层能够深入理解应用协议和数据流并根据具体应用的特征进行防护。它可以检测和阻止特定应用协议的非法或恶意行为。
3. 主机防火墙Host-based Firewalls这种防火墙运行在主机上可以保护特定主机或服务器免受未经授权的访问和攻击。它可以监控特定主机上的进出流量并基于规则集来处理该流量。
4. 无线防火墙Wireless Firewalls这种防火墙专门用于保护无线网络可以检测和阻止未经授权的无线访问和攻击确保无线网络的安全性。
5. 下一代防火墙Next-Generation Firewalls这种防火墙结合了传统防火墙的流量过滤和访问控制功能以及先进的安全功能如入侵检测和预防IDS/IPS、应用识别、URL过滤、恶意软件检测等。
此外还可以根据实现方式将防火墙分为硬件防火墙和软件防火墙。硬件防火墙是一种独立的设备通常作为网络边界的关键设备。软件防火墙是安装在服务器或主机上的软件程序用于保护特定主机或服务器。
2、防火墙性能
防火墙的性能取决于多个因素包括硬件设备的处理能力、软件算法的效率、流量规模和类型以及所应用的安全策略等。以下是影响防火墙性能的一些关键因素
1. 处理能力防火墙设备的处理能力是决定其性能的关键因素之一。这包括处理器的速度、内存容量和网络接口的带宽等。较高的处理能力可以更快地处理和过滤网络流量。
2. 数据包处理速度防火墙能够处理的数据包数量和速度也会影响其性能。高性能的防火墙可以在较短的时间内处理更多的数据包提高网络的吞吐量。
3. 会话状态跟踪防火墙通常会维护会话状态表来跟踪网络连接的状态。这对于检查流量是否是合法的、执行访问控制策略和实施网络地址转换等功能至关重要。有效的会话状态跟踪算法可以提高防火墙的性能。
4. 安全策略和规则集复杂度防火墙的性能还取决于所使用的安全策略和规则集的复杂度。当规则集非常庞大或存在复杂的规则匹配条件时防火墙可能需要更长的时间来处理流量。
5. 流量类型和规模不同类型的网络流量和流量规模也会对防火墙的性能产生影响。例如处理大量小数据包如VoIP流量可能需要更多的处理能力。
6. 安全功能和服务如果防火墙还提供其他安全功能和服务如入侵检测和预防系统IDS/IPS、虚拟专用网络VPN等这些功能的开启可能会对防火墙的性能造成一定的影响。
请注意以上因素是综合影响防火墙性能的一些关键因素实际性能可能因具体的产品、配置和网络环境而有所不同。选择适合您网络需求的高性能防火墙并进行合理的配置和优化可以提供更好的网络安全保护和流量处理能力。
3、硬件防火墙的品牌、软件防火墙的品牌
硬件防火墙的品牌有 华为、 Cisco ASA, Fortinet FortiGate, Palo Alto Networks, Juniper Networks SRX 等。
软件防火墙的品牌有 Symantec Norton, McAfee, Check Point, Trend Micro, Kaspersky 等。
4、硬件防火墙与软件防火墙比较
硬件防火墙有独立的硬件设备运算效率较高价格略高可为计算机网络提供安全防护。
软件防火墙必须部署在主机系统之上相较于硬件防火墙运算效率低在一定程度上会影响到主机系统性能一般用 于单机系统或个人计算机中不直接用于计算机网络中。
二、linux中的防火墙 1、iptables
iptables不是防火墙是防火墙用户代理用于把用户的安全设置添加到“安全框架”中 “安全框架”是防火墙
“安全框架”的名称为netfilter
netfilter位于内核空间中是Linux操作系统核心层内部的一个数据包处理模块iptables是用于在用户空间对内核空间的netfilter进行操作的命令行工具
2.netfilter/iptables功能
netfilter/iptables可简称为iptables为Linux平台下的包过滤防火墙是开源的内核自带的可以代替成本较高的 企业级硬件防火墙能够实现如下功能
数据包过滤即防火墙数据包重定向即转发网络地址转换即可NAT
3、四表 filter: 过滤功能确定是否放行该数据包属于真正防火墙内核模块iptables_filter nat: 网络地址转换功能修改数据包中的源、目标IP地址或端口内核模块iptable_nat mangle: 对数据包进行重新封装功能为数据包设置标记内核模块iptable_mangle raw: 确定是否对数据包进行跟踪内核模块iptables_raw security:是否定义强制访问控制规则后加上的
iptables中表的优先级
raw-mangle-nat-filter(由高至低)
4、五链 INPUT:处理入站数据包 OUTPUT:处理出站数据包 FORWARD:处理转发数据包(主要是将数据包转发至本机其它网卡) 当数据报文经过本机时网卡接收数据报文至缓冲区内核读取报文ip首部发现报文不是送到本机时目的ip 不是本机由内核直接送到forward链做匹配匹配之后若符合forward的规则再经由postrouting送往下一 跳或目的主机。 PREROUTING:在进行路由选择前处理数据包修改到达防火墙数据包的目的IP地址用于判断目标主机 POSTROUTING:在进行路由选择后处理数据包修改要离开防火墙数据包的源IP地址判断经由哪一接口送往 下一跳 三、iptables 1、iptables规则匹配条件分类基本匹配条件 源地址目标地址源端口目标端口等 语法 iptables [-t 表名] 管理选项 [链名] [条件匹配] [-j 目标动作或跳转] iptables命令具有许多选项以下是常用的一些选项- -A在规则链的末尾添加一条规则。
- -D从规则链中删除一条规则。
- -I在规则链的开头插入一条规则。
- -P设置规则链的默认策略。
- -F清除规则链中的所有规则。
- -L列出规则链中的所有规则。
- -N创建一个自定义的规则链。
- -E重命名规则链。
- -X删除一个自定义的规则链。
- -P设置规则链的默认策略。
- -s指定源IP地址或地址范围。
- -d指定目标IP地址或地址范围。
- -p指定匹配的协议。
- -j指定动作如ACCEPT接受、DROP丢弃、REJECT拒绝等。
- -i指定输入接口。
- -o指定输出接口。
- -m指定使用的模块。这只是一部分常用的选项还有其他更高级的选项用于更复杂的规则配置。您可以使用iptables --help命令查看完整的选项列表和用法说明。 基本匹配使用选项及功能 -p protocal 指定规则协议 tcp 传输层 udp 传输层 icmp 网络层 ip网络层 -s source 指定数据包的源地址 192.168.1.10 -d destination 指定目的地址 -i 输入 网卡 接口 如lo本地回环ens 33 -o 输出 网卡 接口 如ens 37 ens 33 等 ! 取 反 隐式匹配选项及功能 -p tcp --sport 匹配报文源端口可以给出多个端口但只能是连续的端口范围 --dport 匹配报文目标端口可以给出多个端口但只能是连续的端口范围 -p udp --sport 匹配报文源端口可以给出多个端口但只能是连续的端口范围 --dport 匹配报文目标端口可以给出多个端口但只能是连续的端口范围 --icmp-type 0 /0 echo reply 允许其他主机 ping 8 /0 echo request 允许 ping 其他主机 显式匹配使用选项及功能 multipor 多端口 iptables -I INPUT -d 192 .168.2.10 -p tcp -m multiport --dports 22 ,80 -j ACCEPT # 在 INPUT 链中开放本机 tcp 22 tcp80 端口 iptables -I OUTPUT -s 192 .168.2.10 -p tcp -m multiport --sports 22 ,80 -j ACCEPT # 在 OUTPUT 链中开发源端口 tcp 22 tcp80 iprang 多地址 iptables -A INPUT -d 192.168.2.10 -p tcp --dport 23 -m iprange --src-range 192.168.2.11-192.168.2.21 -j ACCEPT iptables -A OUTPUT -s 192 .168.2.10 -p tcp --sport 23 -m iprange --dst-range 192 .168.2.11-192.168.2.21 -j ACCEPT time 指定访问时间范围 iptables -A INPUT -d 192.168.2.10 -p tcp --dport 901 -m time --weekdays Mon,Tus,Wed,Thu,Fri --timestart 08:00:00 --time-stop 18:00:00 -j ACCEPT iptables -A OUTPUT -s 192 .168.2.10 -p tcp --sport 901 -j ACCEPT connlimit 连接限制根据每个客户端IP作并发连接数量限制 --connlimit-upto n 连接数小于等于n时匹配 --connlimit-above n 连接数大于 n 时匹配 state 报文速率限制 --state ESTABLISHED已建立的连接 --state NEW 新连接请求 --state INVALID 无法识别的连接 --state RELATED 该规则用于允许与已建立的连接相关联的其他连接通过防火墙 --state UNTRACKED 未追踪的连接 追踪本机上的请求和响应之间的数据报文的状态。状态有五种INVALID, ESTABLISHED, NEW, RELATED, UNTRACKED 对于进入的状态为ESTABLISHED都应该放行 对于出去的状态为ESTABLISHED都应该放行 严格检查进入的状态为NEW的连接 所有状态为INVALIED都应该拒绝 制定iptables规则思路 选择一张表此表决定了数据报文处理的功能选择一条链此链决定了数据报文流经哪些位置选择合适的规则此条件决定了对数据做何种条件匹配选择处理数据报文的动作 拒绝还是允许 iptables [-t 表名] 管理选项 [链名] [条件匹配] [-j 目标动作或跳转] 动作 ACCEPT允许通过防火墙的数据包即接受该数据包允许其进入或离开防火墙。 DROP丢弃该数据包不允许其通过防火墙不给予响应。REJECT拒绝该数据包并向发送方发送一个错误响应告知数据包已被阻止。LOG记录该数据包的日志信息但继续处理其他规则可以用于跟踪和分析网络流量。RETURN从当前链中返回到调用链继续处理后续规则。REDIRECT重定向数据包到指定的目标地址和端口。SNATSource NAT源地址转换修改数据包的源 IP 地址通常用于网络地址转换NAT。DNATDestination NAT目标地址转换修改数据包的目标 IP 地址通常用于端口转发或服务映射。 iptables链管理方法 -N, --new-chain chain新建一个自定义的规则链 -X, --delete-chain [chain]删除用户自定义的引用计数为0的空链 -F, --flush [chain]清空指定的规则链上的规则 -E, --rename-chain old-chain new-chain重命名链 -Z, --zero [chain [rulenum]]置零计数器 注意每个规则都有两个计数器 packets被本规则所匹配到的所有报文的个数 bytes被本规则所匹配到的所有报文的大小之和 -P, --policy chain target 制定链表的策略(ACCEPT|DROP|REJECT iptables规则管理 -A, --append chain rule-specification追加新规则于指定链的尾部 -I, --insert chain [rulenum] rule-specification插入新规则于指定链的指定位置默认为首部 -R, --replace chain rulenum rule-specification替换指定的规则为新的规则 -D, --delete chain rulenum根据规则编号删除规则 -D, --delete chain rule-specification根据规则本身删除规则 iptables规则显示 -L, --list [chain]列出规则 -v, --verbose详细信息 -vv 更详细的信息 -n, --numeric数字格式显示主机地址和端口号 -x, --exact显示计数器的精确值而非圆整后的数据 --line-numbers列出规则时显示其在链上的相应的编号 -S, --list-rules [chain]显示指定链的所有规则 四、iptables应用 centos7系统中默认存在iptables命令此命令仅为简单查询及操作命令不包含配置文件安装iptables- services后将直接生成配置文件便于配置保存。包含ipv4及ipv6。 ###安装、启动、设为开机自启
yum -y install iptables-servicessystemctl start iptables.servicesystemctl enable iptables##保存规则iptables-save /etc/sysconfig/iptables##重载规则
iptables-restore /etc/sysconfig/iptablesiptables -h #查看帮助信息#删除现有规则iptables -F##查看规则
iptables -nL 五、实验 准备host1192.168.115.148 host2192.168.115.149 在接下来的实验中每次做完一个实验我会删除策略便于下一个实验 1、实验一保存策略 1、现在我想让hos1ping不通host2,但是host2可以ping通host1 ##host2iptables -A INPUT -p icmp --icmp-type 8/0 -j REJECT2、重启host2查看重启后此策略是否生效 重启后可以ping通 3、这次我们保存策略后重启看看 iptables -A INPUT -p icmp --icmp-type 8/0 -j REJECT
iptables-save /etc/sysconfig/iptableshost1依可以ping通host2 我们在host2恢复之前保存的策略 iptables-restore /etc/sysconfig/iptables2、实验二host2安装http服务禁止访问防火墙的80端口其他都可以访问 ###host2安装并启动http
yum -y install httpd
systemctl start httpd
echo 192.168.115.149 /var/www/html/index.html ###host2关闭80端口
iptables -A INPUT -p tcp --dport 80 -j REJECT ###删除
iptables -D INPUT -p tcp --dport 80 -j REJECT 3、实验三拒绝多个端口 ##在host2上我们利用httpd的虚拟主机头来指定多个不同的端口
mkdir /etc/httpd/vhosts
cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/vhostsvim /etc/httpd/conf/httpd.conf
###注释80端口、文末插入、注释131-157行
IncludeOptional vhosts/*.conf
###编辑虚拟主机头
vim /etc/httpd/vhosts/httpd-vhosts.conflisten 80
listen 81
VirtualHost 192.168.115.149:80ServerAdmin webmasterdummy-host.example.comDocumentRoot /var/www/html/ServerName www.test.comServerAlias www.dummy-host.example.comErrorLog /var/log/httpd/80-error_logCustomLog /var/log/httpd/80-access_log common
/VirtualHostVirtualHost 192.168.115.149:81ServerAdmin webmasterdummy-host2.example.comDocumentRoot /opt/www/html/ServerName dummy-host2.example.com#####创建日志
touch /var/log/httpd/80-error_log
touch /var/log/httpd/80-access_log
touch /var/log/httpd/81-access_log
touch /var/log/httpd/81-error_log
#####创建html页面
echo 192.168.115.149 /var/www/html/index.html
mkdir /opt/www/html -p
echo http /opt/www/html/index.html#####
systemctl restart httpd 访问 关闭host2的80、81端口 iptables -A INPUT -p tcp -m multiport --dports 80,81 -j REJECT