掌握linux系统防火墙有它就够了

一.前言介绍

 企业中的防火墙安全配置原则:

  • 尽可能不给服务器配置外网IP,可以通过代理转发或者通过防火墙进行映射。
  • 并发不是特别大情况有外网IP,可以开启防火墙服务。
  • 一般大并发的情况下不能开iptables,影响性能,利用硬件防火墙提升架构安全。

二.Iptables防火墙概念介绍

  • Netfilter(内核)/Iptables(软件)是unix/linux自带的一款优秀且开放源代码的完全自由的基于包顾虑的防火墙工具
  • 他的功能十分强大,使用灵活可以对流入和流出服务器的数据包进行很精细的控制。
  • iptables是linux2.4及2.6内核中集成的服务,注意:其他内核并没有集成iptables服务
  • 另外iptables主要工作在OSI七层的二三四层,也就是(mac,ip,端口)层,如果要重新编译内核,iptables也可以支持七层控制

三.iptables防火墙使用时名词概念解释

  容器的概念:即为装东西的器皿,docker容器技术,将镜像装在一个系统上,这个系统就称为容器

  • iptables称为一个容器:装着防火墙的表
  • 防火墙的表又是一个容器:装着防火墙的链
  • 防火墙的链也是一个容器:装着防火墙的规则

  

  规则即为:防火墙一条一条的安全策略

  防火墙匹配规则流程图:

  

  具体流程为:

  (1).防火墙是层层过滤的,实际是按照配置规则的顺序从上到下,从前到后进行过滤的

  (2).如果匹配上规则,即明确表示是阻止还是通过,数据包就不再向下匹配新的规则

  (3).如果未匹配上就一直向下进行匹配,直到匹配上为止

  (4).防火墙的默认规则是所有规则执行完才执行的

  防火墙四表五链说明:

  

四.防火墙操作实践

 1.防火墙配置初试化:

  /etc/init.d/iptables start/status/stop -----启动停止防火墙

  chkconfig     iptables   on      -----加入开机自启

  iptables   -F  -----清除防火墙默认规则

  iptables   -X  -----清除防火墙自定义链

  iptables   -Z  -----清除防火墙技术信息

 2.iptables防火墙信息查看方法:

  service iptables status  ------查看防火墙的状态信息

  iptables  -L          ------ -L 以列表形式展示所有规则信息

  iptables  -L  -n       ------ -n 以数字形式显示IP地址或端口信息,不要转换为字符串显示

  iptables  -t nat  -L -n     ------ -t 表示指定查看或者配置相应的表

  iptables  -L  -n  -v       ------ -v 表示显示详细规则信息,包含匹配计数器数值信息

  iptables  -L  -n  --line-number    ------ --line-number   显示规则序号信息

  \

 3.iptables防火墙端口规则配置:

  (1).阻止用户访问服务器的22端口:

  首先需要清除原有的防火墙的规则:iptables  -F

  之后:iptables -t filter -A INPUT -p tcp --dport 22 -j DROP         ---- -A表示添加规则到相应链,默认加到结尾

  也可以直接:iptables -t filter -I INPUT -p tcp --dport 22 -j DROP    ---- -I 表示插入规则到相应链上,默认加到首部

  iptables -t filter -I INPUT 3 -p tcp --dport 22 -j DROP --- 指定规则插入位置

  iptables -t filter -R INPUT 6 -p tcp --dport 8080 -j DROP   --- -R 指定将配置好的规则信息进行替换

  iptables -t filter -D INPUT 规则序号

  总结防火墙参数信息:

  • -A   --- 表示将规则添加到指定链上
  • -I   --- 表示将规则插入到指定链上
  • -D   --- 表示将规则从指定链上删除
  • -R   --- 表示将规则信息进行修改
  • -p   --- 指定相应服务协议信息(tcp udp icmp all)
  • --dport    --- 表示指定目标端口信息
  • --sport    --- 表示指定源端口号信息
  • -j   --- 指定对相应匹配规则执行什么操作(ACCEPT DROP* REJECT)

  注:这里的DROP表示静默拒绝,对方找不到原因,REJECT表示告诉对方我拒绝了你,推荐用DROP

  (2).阻止相应网段主机访问服务器指定端口服务

  192.168.1.0/24   -- 22端口(阻止)

  iptables -t filter -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j DROP

  iptables -t filter -A INPUT -s 192.168.1.175 -p tcp --dport 22 -j DROP

    iptables -t filter -A INPUT -i eth0 -s 10.0.0.9 -p tcp --dport 22 -j DROP

  总结参数信息:

  • -s   --- 指定匹配的源地址网段信息,或者匹配的主机信息
  • -d   --- 指定匹配的目标地址网段信息,或者匹配的主机信息
  • -i    --- 指定匹配的进入流量接口信息 只能配置在INPUT链上
  • -o   --- 指定匹配的发出流量接口信息 只能配置在OUTPUT链上

   (3).除了某个地址可以访问22端口之外,其余地址都不能访问

  只允许192.168.1.5访问22端口,其余都不可以访问

  iptables -t filter -A INPUT -s 192.168.1.5 -p tcp --dport 22 -j ACCEPT

  iptables -t filter -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j DROP

  iptables -t filter -A INPUT ! -s 192.168.1.5 -p tcp --dport 22 -j ACCEPT(通过利用 !进行规则取反,进行策略控制)

  (4).指定阻止访问多个端口服务:

  22-80,22,24,25

  iptables -A INPUT -s 192.168.1.175 -p tcp --dport 22:80 -j DROP

  iptables -A INPUT -s 192.168.1.175 -m multiport  -p tcp --dport 22,24,25 -j DROP

  总结参数信息:

  -m   --指定应用扩展模块参数     multiport    ---可以匹配多个不连续端口信息

  (5).通过防火墙实现禁ping功能

  实现ping功能测试链路是否正常,基于icmp协议实现的,

  icmp协议有多种类型:icmp-type 8:请求类型  icmp-type 0:回复类型

  情景一:实现禁止主机访问防火墙服务器(禁ping)

  iptables -A INPUT -p icmp --icmp-type 8 -j DROP
       iptables -A OUTPUT -p icmp --icmp-type 0 -j DROP

  情景二:实现禁止防火墙访问主机服务器(禁ping)

  iptables -A OUTPUT -p icmp --icmp-type 8 -j DROP
       iptables -A INPUT -p icmp --icmp-type 0 -j DROP

  默认情况:所有icmp类型都禁止
       iptables -A INPUT -p icmp -m icmp --icmp-type any -j DROP
       iptables -A OUTPUT -p icmp -m icmp --icmp-type any -j DROP

  (6).实现防火墙状态机制控制

  NEW: 发送数据包里面控制字段为syn=1,发送第一次握手的数据包
       ESTABLISHED: 请求数据包发出之后,响应回来的数据包称为回复的包
       RELATED: 基于一个连接,然后建立新的连接
       INVALID: 无效的的数据包,数据包结构不符合正常要求的

  iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

五.企业中应用防火墙的方法

  部署一个最安全的企业级防火墙案例:默认规则是不允许的状态最安全

 

  1)保存防火墙配置文件信息
    cp /etc/sysconfig/iptables{,.bak}

  2)清除配置规则
    iptables -F    <- 清空iptables所有规则信息(清除filter)
    iptables -X    <- 清空iptables自定义链配置(清除filter)
    iptables -Z    <- 清空iptables计数器信息(清除filter)

  3)别把自己踢出到门外
    iptables -A INPUT -s 10.0.0.1 -p tcp --dport 22 -j ACCEPT
    iptables -A INPUT -s 10.0.0.0/24 -p tcp --dport 22 -j ACCEPT

  4)配置防火墙filter上各个链的默认规则
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT

  -P   ---指定相应链的默认规则策略,是允许还是阻止

  5)允许iptables服务端ping自己的网卡地址
    iptables -A INPUT -i lo -j ACCEPT   --- 让自己可以ping自己

  6)指定外网可以访问的端口信息
    iptables -A INPUT -p tcp -m multiport --dport 80,443 -j ACCEPT

  7)企业中内网之间不要配置防火墙策略
    iptables -A INPUT -s 172.16.1.0/24 -j ACCEPT  --- 允许架构内部服务进行访问

  8)企业之间有合作关系的,不要将友商的网络禁止(主要经常改动)
    iptables -A INPUT -s 10.0.1.0/24 -j ACCEPT    --- 允许一些合作企业的外网服务器进行访问
    iptables -A INPUT -s 10.0.2.0/24 -j ACCEPT

  9)如果防火墙上配置了FTP服务,需要配置网络状态机制
    iptables -A INPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT  --- 允许web服务与ftp服务器建立连接

 10)实现iptables策略配置永久保存
    ①. 利用防火墙启动脚本命令参数,实现永久保存
    /etc/init.d/iptables save
    ②. 利用防火墙配置信息保存命令,实现永久保存
    iptables-save >/etc/sysconfig/iptables



掌握linux系统防火墙有它就够了

原文地址:https://www.cnblogs.com/datastart/p/10509184.html

时间: 2024-10-10 05:14:28

掌握linux系统防火墙有它就够了的相关文章

linux系统防火墙相关问题及常用命令介绍

今天介绍关于linux系统防火墙:centos5.centos6.redhat6系统自带的是iptables防火墙,centos7.redhat7自带firewall防火墙,ubuntu系统使用的是ufw防火墙.本平台www.gxdeqiong.com 安装的是iptables防火墙(其他云服务供应商可能使用的是其他防火墙). 防火墙导致服务不正常的问题: 在服务器安装某些服务之后,服务无法连接.无法正常启动等情况.查看下系统防火墙有没开放相关的服务端口.(linux系统防火墙开放相关端口后还要

Linux系统防火墙防止DOS攻击

问题 Linux系统防火墙防止DOS攻击 解决方案 用Linux系统防火墙功能抵御网络攻击 虚拟主机服务商在运营过程中可能会受到黑客攻击,常见的攻击方式有SYN,DDOS等.通过更换IP,查找被攻击的站点可能避开攻击,但是中断服务的时间比较长.比较彻底的解决方法是添置硬件防火墙.不过,硬件防火墙价格比较昂贵.可以考虑利用Linux系统本身提供的防火墙功能来防御. 1. 抵御SYNSYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连接,最终导致被攻击服务器的网

linux系统防火墙做IP地址映射

一.环境 服务器IP地址:192.168.1.2 Linux操作系统IP地址:192.168.1.3(eth0):192.168.10.20(eth1) 客户端IP地址:192.168.10.30 拓扑图如下: 二.配置 1.  开启防火墙数据转发功能 配置文件:/proc/sys/net/ipv4/ip_forward 该配置文件中默认值为0,将值改为1 注:0表示此功能能关闭:1表示此功能开启. 2.linux操作系统中的IPTABLES 用到的命令: (1)查看目前本机的防火墙规则:ipt

linux 系统防火墙知识学习

防火墙分为硬件的或者软件的防火墙两种.无论是在哪个网络中,工作于网络的边缘.我们的任务就是需要去定义到底防火墙安全策略.规则,以达到让它对出入网络的IP.数据进行检测.常见的有3.4层的防火墙,叫网络层的防火墙,还有7层的防火墙,其实是代理层的网关. 1.iptables的工作机制 这五个位置也被称为五个钩子函数(hook functions),也叫五个规则链. 1.PREROUTING (路由前) 2.INPUT (数据包流入口) 3.FORWARD (转发管卡) 4.OUTPUT(数据包出口

linux系统防火墙

防火墙的过滤机制: 1.Netfilter(数据包过滤) 将数据包的包头拆分来进行分析,判断哪些行为可以放通进行操作,哪些需要封堵或者拒绝.包括硬件地址.逻辑ip地址.TCP.UDP.ICMP等数据包.主要是ISO七层协议体系里的2.3.4层. netfilter是Linux内核创建的机制,netfilter提供iptables软件进行数据包过滤,效率很高. 2.TCP Wrappers(程序管控) 该机制分析哪些用户需要对程序进行操作,tcp wrappers分析该程序能允许哪些用户操作.该功

Linux -- 系统安全之Iptables防火墙(1)

Linux iptables防火墙介绍: 一.防火墙的概述 (一).防火墙的简介 防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性.它通过访问控制机制,确定哪些内部服务允许外部访问,以及允许哪些外部请求可以访问内部服务.它可以根据网络传输的类型决定IP包是否可以传进或传出内部网. 防火墙通过审查经过的每一个数据包,判断它是否有相匹配的过滤规则,根据规则的先后顺序进行一一比较,直到满足其中的一条规则为止,然后依据控制机制做出相应的动作.如果都不满足,则将数据

Linux -- 系统安全之NAT及防火墙的混合应用

LINUX凭借其稳定性.安全性和代码开放在这几年中,风靡全球:作为一种类UNIX系统,Linux正在互联网的各个层面得到应用,从科学计算到银行取款机,从网络web服务到高层的Oracle 数据库应用.都可以看到linux的影子.而由于Linux遵循于GPL协议(公共软件许可证),任何人可以得到并且修改它的源代码,所以他的安全性相较于其他的非开源系统来说要高的多:并且它可以从网络中免费下载.从这2点来说他非常适合用于网络信息闸(软路由或网关)和自制防火墙(事实上国内的硬件防火墙厂商都是用工业X86

Linux -- 系统安全之Iptables防火墙(2)

一.iptables防水墙的实现方式及iptables命令的格式 iptables防火墙介绍 netfilter/iptables是Linux系统提供的一个非常优秀的防火墙工具,它完全免费.功能强大.使用灵活.占用系统资源少,可以对经过的数据进行非常细致的控制.本节首先介绍有关iptables防火墙的基本知识,包括netfilter框架.iptables防火墙结构与原理.iptables命令格式等内容. netfilter框架 Linux内核包含了一个强大的网络子系统,名为netfilter,它

快速入门linux系统的iptables防火墙 1 本机与外界的基本通信管理

概述 iptables是一种运行在linux下的防火墙组件,下面的介绍可以快速的学习iptables的入门使用. 特点(重要) 它的工作逻辑分为 链.表.规则三层结构. 数据包通过的时候,在对应表中,规则从上向下匹配,匹配到即跳出,后续规则忽略. 常用于过滤数据包和转发数据包(代理服务器). 工作方式基于IP 端口 和MAC 结构 链名 PREROUTING FORWARD POSTROUTING INPUT OUTPUT 含义 一般是指从外网发送到当前主机上 并且在路由规则处理之前 一般指从外