linux防火墙

目录

安全技术和防火墙

安全技术

防火墙的分类

按保护范围划分

按实现方式划分

按网络协议划分

正反向代理

linux防火墙的基本认识

netfilter

netfiler中的四个表五个链

iptables

iptables的组成

iptables的实际操作

iptables的命令格式

iptables的操作范例

基础操作

扩展模块操作


安全技术和防火墙

安全技术

  • 入侵检测系统(Intrusion Detection Systems):特点是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,主要以提供报警和事后监督为主,提供有针对性的指导措施和安全决策依据,类 似于监控系统一般采用旁路部署(默默的看着你)方式。

  • 入侵防御系统(Intrusion Prevention System):以透明模式工作,分析数据包的内容如:溢出攻击、拒绝服务攻击、木马、蠕虫、系统漏洞等进行准确的分析判断,在判定为攻击行为后立即予以 阻断,主动而有效的保护网络的安全,一般采用在线部署方式。(必经之路)

  • 防火墙( FireWall ):隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时由规则定义的行为进行处理的一组功能的组件,基本上的实现都是默 认情况下关闭所有的通过型访问,只开放允许访问的策略,会将希望外网访问的主机放在DMZ (demilitarized zone)网络中.

  • 防水墙(Waterwall):与防火墙相对,是一种防止内部信息泄漏的安全产品。   网络、外设接口、存储介质和打印机构成信息泄漏的全部途径。防水墙针对这四种泄密途径,在事前、事  中、事后进行全面防护。其与防病毒产品、外部安全产品一起构成完整的网络安全体系。

防火墙的分类

按保护范围划分

  • 主机防火墙:服务范围为当前一台主机

  • 网络防火墙:服务范围为防火墙一侧的局域网

按实现方式划分

  • 硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现,如:华为, 山石hillstone,天融信,启明星辰,绿盟,深信服, PaloAlto , fortinet, Cisco, Checkpoint, NetScreen(Juniper2004年40亿美元收购)等
  • 软件防火墙:运行于通用硬件平台之上的防火墙的应用软件,Windows 防火墙 ISA --> Forefront

按网络协议划分

  • 网络层防火墙:OSI模型下四层,又称为包过滤防火墙

  • 应用层防火墙/代理服务器:proxy 代理网关,OSI模型七层

正反向代理

正向代理:(),代理的是客户端,绕开防火墙限制,加快访问速度

反向代理:代理的是服务端

轮询:代理的客户端,按照1:1:1的规则分配

加权:按照自定的规则分配(1:2:4)

linux防火墙的基本认识

netfilter

Linux防火墙是由Netfilter组件提供的,Netfilter工作在内核空间,集成在linux内核中

netfiler中的四个表五个链

数据流向表

linux防火墙_第1张图片

五个链:

  • input:进入本机
  • output:出本机
  • prerouting:路由选择前
  • postrouting:路由选择后
  • forward:转发

四个规则表(容纳各种规则链)

  • raw表:确定是否对该数据包进行状态跟踪(跟踪)
  • mangle表:为数据包设置标记(标记)
  • nat表:地址转换
  • filter表:确定是否放行该数据包(过滤)

注:表的作用是存放链,链决定了在什么位置控制流量,表中有链,链中有规则

iptables

iptables的组成

Linux 的防火墙体系主要工作在网络层,针对 TCP/IP 数据包实施过滤和限制,属于典型的包过滤防火墙(或称为网络层防火墙)。

netfilter/iptables:IP 信息包过滤系统,它实际上由两个组件 netfilter 和 iptables组成。

  • netfilter:属于“内核态”又称内核空间(kernel space)的防火墙功能体系。
  • iptables:属于“用户态”(User Space, 又称为用户空间)的防火墙管理体系。是一种用来管理Linux防火墙的命令程序,它使插入、修改和删除数据包过滤表中的规则变得容易,通常位于/sbin/iptables目录下。

linux防火墙_第2张图片

  • raw表:主要用来决定是否对数据包进行状态跟踪 包含两个规则链,OUTPUT,PREROUTING
  • mangle表 : 修改数据包内容,用来做流量整形的,给数据包设置标记。包含五个规则链,INPUT、 OUTPUT、 FORWARD、 PREROUTING、 POSTROUTING
  • nat表:负责网络地址转换,用来修改数据包中的源、目标IP地址或端口。包含三个规则链,OUTPUT、PREROUTING、POSTROUTING
  • filter表:负责过滤数据包,确定是否放行该数据包(过滤)。包含三个链,即PREROUTING、POSTROUTING、OUTPUT

iptables的实际操作

iptables的命令格式

iptables -t 指定表  子命令 指定链  规则

语法表

linux防火墙_第3张图片

管理选项

  • -A:在指定链末尾追加
  • -I:在指定链中插入一条新的,未指定序号默认作为第一条
  • -P:指定默认规则,一般默认的规则是ACCEPT()黑名单, ACCEPT为黑名单(默认允许所有访问) ,DROP为白名单(默认拒绝所有访问)
  • -D:删除指定链
  • -R:替换指定链
  • -Z:清空链的计数器

规则选项

  • -s:源地址
  • -d:目的地址
  • -p:协议(tcp,udp,icmp)
  • --sport:源端口
  • --dport:目标端口
  • -i:进口网卡
  • -o:出口网卡

跳转

  • DROP:丢弃
  • REJECT:拒绝
  • ACCEPT:允许
  • LOG:添加备注(日志)

注:

  • iptables -vnL:看表(v:详细 ,n:数字化 ,L:列表)
  • iptables -vnL --line -num:看表时给规则加上序号
  • iptables -F :清空所有规则

iptables的操作范例

基础操作

1.看表(1)

linux防火墙_第4张图片

2.看表(2)

linux防火墙_第5张图片

3.制定规则拒绝另外一台主机的访问

在20主机设置防火墙

linux防火墙_第6张图片

去到10主机ping20主机,看防火墙规则是否应验

再回到20主机查看iptables表,看记录

linux防火墙_第7张图片

4.添加,删除,替换规则

linux防火墙_第8张图片

linux防火墙_第9张图片

linux防火墙_第10张图片

linux防火墙_第11张图片

5.设置当前主机的防火墙默认规则为白名单,并且将xshell的ssh服务添允许访问加到规则里,让xshell能恢复使用,并且添加另一条白名单允许一台主机也能访问当前主机,最后再将当前虚拟机的默认规则改为黑名单,允许所有访问

此时当前主机拒绝所有访问

linux防火墙_第12张图片

回到虚拟机终端,查看iptables表

linux防火墙_第13张图片

此时,在白名单中添加一些允许的规则,允许这些规则中的主机可以访问当台虚拟机

linux防火墙_第14张图片

再去到xshell,看是否能恢复使用

linux防火墙_第15张图片

再添加另一条ip地址允许访问规则

去到10主机看是否能成功访问20主机

linux防火墙_第16张图片

回到虚拟机终端,恢复默认规则为黑名单

linux防火墙_第17张图片

6.清除计数器

linux防火墙_第18张图片

扩展模块操作

1.限制端口访问

添加input的一条链规则:拒绝192.168.75.40主机访问22端口

去到40主机,进行tcp22端口的ssh服务

linux防火墙_第19张图片

去到30主机,进行tcp22端口的ssh服务

linux防火墙_第20张图片

2.iprange扩展(ip地址范围)

去到30,40主机看能否ping通20主机

linux防火墙_第21张图片

linux防火墙_第22张图片

去到10主机看能否ping通(不在规则范围内)

linux防火墙_第23张图片

3.限制源MAC地址访问

先去客户端10主机看其mac地址

linux防火墙_第24张图片

得到10主机的mac地址后,去服务端20主机添加拒绝规则

回到10主机,测试

4.string字符串

进到20主机服务端写入

在添加规则不允许bilibili字符出现

linux防火墙_第25张图片

规则添加成功后,去10主机客户端进行对20主机服务端的访问

linux防火墙_第26张图片

      

你可能感兴趣的:(linux,服务器,运维)