【Linux安全管理】iptables配置与iptables基本用法

这篇具有很好参考价值的文章主要介绍了【Linux安全管理】iptables配置与iptables基本用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、服务的启动与关闭命令

二、iptables介绍

1、防火墙分类

2、iptables的启动

① 在开机时禁用firewalld服务:

 ②安装iptables-services

③将它设置为开机自启

3、iptables 四表五链详解

 表和链的关系​编辑

 不是所有的表都附着在同一条链上​编辑

4、iptables基本用法

匹配条件 

 处理动作

 iptables常用的选项​编辑

 iptables常用规则匹配​编辑

iptables配置

基本匹配条件总结

扩展匹配条件总结

(补充)selinux

1、工作模式

2、如何禁用


一、服务的启动与关闭命令

  • 启动服务:systemctl start service
  • 关闭服务:systemctl stop service
  • 重启服务:systemctl restart service
  • 显示服务的状态:systemctl status service
  • 在开机时启用服务:systemctl enable service
  • 在开机时禁用服务:systemctl disable service
  • 查看服务是否开机启动:systemctl is-enabled service
  • 查看已启动的服务列表:systemctl list-unit-files|grep enabled
  • 查看启动失败的服务列表:systemctl --failed

二、iptables介绍

1、防火墙分类

①从逻辑上【Linux安全管理】iptables配置与iptables基本用法

  ②从物理上【Linux安全管理】iptables配置与iptables基本用法

        iptables 并不是真正意义上的防火墙,我们可以理解为一个客户端工具,用户通过 ipatbles 这个客户端,将用户的安全设定执行到对应的"安全框架”中,这个"安全框架"才是真正的防火墙,这个框架的名字叫 netfilter .iptables 是一个命令行工具,位于用户空间,通过这个命令行工具来操作 netfilter



         netfilter 才是防火墙真正的安全框架, netfilter 位于内核空间。

         netfilter / iptables (简称为 iptables )组成 Linux 平台下的包过滤防火墙,与大多数的 Linux 软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换( NAT )等功能。

【Linux安全管理】iptables配置与iptables基本用法

2、iptables的启动

① 在开机时禁用firewalld服务:

[root@localhost ~]# systemctl disable firewalld【Linux安全管理】iptables配置与iptables基本用法

 ②安装iptables-services

[root@localhost ~]# yum install iptables-services -y

【Linux安全管理】iptables配置与iptables基本用法

③将它设置为开机自启

安装以后查看服务状态显示未启动,可以将它设置为开机自启

[root@localhost ~]# systemctl enable iptables

【Linux安全管理】iptables配置与iptables基本用法

3、iptables 四表五链详解

        防火墙是按照规则办事的,我们就来说说规则( rules ),规则其实就是网络管理员预定义的条件,规则一般的定义为"如果数据包头符合这样的条件,就这样处理这个数据包"。规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如 TCP 、 UDP 、 ICMP )和服务类型(如 HTTP 、 FTP 和 SMTP )等。当数据包与规则匹配时, iptables 就根据规则所定义的方法来处理这些数据包,如放行( accept )、拒绝( reject )和丢弃( drop )等。配置防火墙的主要工作就是加、修改和删除这些规则。

        当客户端访问服务器的 web 服务时,客户端发送报文到网卡,而 tcp / ip 协议栈是属于内核的一部分,所以,客户端的信息会通过内核的 TCP 协议传输到用户空间中的 web 服务中,而此时,客户端报文的目标终点为 web 服务所监听的套接字( IP : Port )上,当 web 服务需要响应客户端请求时, web 服务发出的响应报文的目标终点则为客户端,这个时候, web 服务所监听的 IP 与端口反而变成了原点,我们说过, netfilter 才是真正的防火墙,它是内核的一部分,所以,如果我们想要防火墙能够达到"防火"的目的,则需要在内核中设置关卡,所有进出的报文都要通过这些关卡,经过检查后,符合放行条件的才能放行,符合阻拦条件的则需要被阻止,于是,就出现了 input 关卡和 output 关卡,而这些关卡在 iptables 中不被称为"关卡”,而被称为“链”。   【Linux安全管理】iptables配置与iptables基本用法

        这只是一个简单的描述,除过这两个关卡以外,我们还有其他关卡,也就是其他链,他们就是“路由前"、“转发”、“路由后”,对应英文表示为 PREROUTING 、 FORWARD 、POSTROUTING . 

【Linux安全管理】iptables配置与iptables基本用法

报文的流向:

  • 到本机某进程的报文: PREROUTING > INPUT
  • 由本机转发的报文: PREROUTING > FORWARD > POSTROUTING
  • 由本机的某进程发出报文(通常为响应报文): OUTPUT > POSTROUTING 

        防火墙的作用就在于对经过的报文匹配”规则",然后执行对应的”动作",所以,当报文经过这些关卡的时候,则必须匹配这个关卡上的规则,但是,这个关卡上可能不止有一条规则,而是有很多条规则,当我们把这些规则串到一个链条上的时候,就形成了“链”,所以,我们把每一个"关卡”想象成如下图中的模样,这样来说,把他们称为“链”更为合适,每个经过这个"关卡”的报文,都要将这条”链”上的所有规则匹配一遍,如果有符合条件的规则,则执行规则对应的动作。

【Linux安全管理】iptables配置与iptables基本用法


        我们把具有相同功能的规则的集合叫做"表”,不同的规则放置于不同的表中工作,在 iptables 中定义了四种表,每种表对应不同的功能。【Linux安全管理】iptables配置与iptables基本用法


 表和链的关系【Linux安全管理】iptables配置与iptables基本用法


 不是所有的表都附着在同一条链上【Linux安全管理】iptables配置与iptables基本用法

 iptables 为我们定义了4张”表",当他们处于同一条”链”时,执行的优先级如下。

优先级次序(由高而低): raw -> mangle -> nat --> filter 


来看一个完整的图来了解在数据传输过程中,防火墙的表和链的功能体现

【Linux安全管理】iptables配置与iptables基本用法

4、iptables基本用法

        在上述描述中我们一直在提规则,可是没有细说,现在说说它。先说说规则的概念,然后再通俗的解释它
        规则:根据指定的匹配条件来尝试匹配每个流经此处的报文,一旦匹配成功,则由规则后面指定的处理动作进行处理。
        在这里我们提到了两个概念,第一个匹配条件,第二个处理动作,我们通过这两个概念来解释一下什么是iptables的规则。
        在上面讲解中我们提到了每一条”链"都是一个关卡,凡是要通过这个关卡就需要匹配这个关卡上面的规则,根据配规则来决定处理动作。
        举个例子:大家都玩游戏,有一些关卡类游戏,就需要你完成了一些相应的任务,在通过关卡的时候才会通过,到下一个关卡,否则不能到下一个关卡。那么要想通过关卡就需要满足完成任务的"规则”,"完成任务就是一个匹配条件,完成之后就可以通过到下一个关卡,"通过"就是一个处理动作,匹配条件加上处理动作共同组成了规则。


匹配条件 

【Linux安全管理】iptables配置与iptables基本用法


 处理动作

【Linux安全管理】iptables配置与iptables基本用法


 iptables常用的选项【Linux安全管理】iptables配置与iptables基本用法

         -t               指定表

         -j                处理动作 指定处理动作

         --line-numbers   显示规则的序号

          -v               显示详细信息


 iptables常用规则匹配【Linux安全管理】iptables配置与iptables基本用法


iptables配置

清理原有规则:
# iptables -F(临时清除)
# iptables -nvL

增加规则
 # iptables -t filter -I INPUT -s 192.168.100.134 -j DROP

修改(替换)规则 
# iptables -t filter -R INPUT 1 -s 192.168.100.134 -j ACCEPT
(替换规则一定要指明是第几条规则,替换规则未指定唯一地址)

删除规则
第一种 # iptables -D INPUT 1  
(按照规则号删除)
第二种 # iptables -D INPU -s 192.168.100.134 -j ACCEPT
(按照匹配规则删除)

保存规则 centos6 或者是7上禁用firewalld 安装iptables-services后
# service iptables save

保存的文件
/etc/sysconfig/iptables 
# iptables-save > /etc/sysconfig/iptables
(这个命令保存规则到其他文件(除了/etc/sysconfig/iptables)可以通过iptables-restore恢复回来)


恢复规则
# iptables-restore < /etc/sysconfig/iptables

修改链的默认策略 慎重使用 可以采用别的方式实现白名单
# iptables -P INPUT DROP
(设置了DROP后ssh就不能连接了)

       iptables执行规则时,是从从规则表中从上至下顺序执行的,如果没遇到匹配的规则,就一条一条往下执行,如果遇到匹配的规则后,那么就执行本规则,执行后根据本规则的动作 (accept, reject, log等),决定下一步执行的情况。

        先规定表(-t)再用选项给哪一条链制定规则,再用-s/-d匹配源地址/目标地址,再用选项设置处理动作。

        我们在添加iptables规则的时候,一般会同时使用协议类型(-p)和端口号(-dport/sport。只有这样添加的规则,iptables才会知道,我们要对哪个应用程序的通讯进行放行或者禁行的操作。

        如果不指定协议,则默认为所有协议。


基本匹配条件总结

#匹配源地址
# iptables -t filter -I INPUT -s 192.168.100.142 -j REJECT
# iptables -t filter -I INPUT -s 192.168.100.142,192.168.100.143 -j DROP
(指定多个地址源时每个IP用逗号隔开)
# iptables -t filter -I INPUT -s 192.168.100.0/24 -j DROP
(指定一个网段)
# iptables -t filter -I INPUT ! -s 192.168.100.0/24 -j DROP
(指定除了这个网段的数据包,其他IP的数据包均丢弃)

#匹配目标地址
# iptables -t filter -I OUTPUT -d 192.168.100.142 -j REJECT
# iptables -t filter -I INPUT -d 192.168.100.142,192.168.100.143 -j DROP
# iptables -t filter -I INPUT -d 192.168.100.0/24 -j DROP
# iptables -t filter -I INPUT ! -d 192.168.100.0/24 -j DROP
#匹配协议
# iptables -t filter -I INPUT -p tcp -d 192.168.100.142 -j REJECT
# iptables -t filter -I INPUT -p udp -d 192.168.100.142,192.168.100.143 -j DROP
# iptables -t filter -I INPUT -p tcmp -d 192.168.100.0/24 -j DROP
(匹配端口时一定要加协议)

#匹配入口网卡
# iptables -t filter -I INPUT -p tcp -i ens33 -j REJECT
# iptables -t filter -I INPUT -p tcp -i eth0 -j REJECT

扩展匹配条件总结

(-p指定协议 -m表明它是是扩展协议)
-p tcp -m tcp --sport 可以指定一个,或者用冒号指定连续端口
-p tcp -m tcp --dport 可以指定一个,或者用冒号指定连续端口
-p tcp -m multiport --sport 可以指定离散端口,用逗号分隔
-p tcp -m multiport --dport 可以指定离散端口,用逗号分隔
# iptables -t filter -I INPUT -s 192.168.100.142 -p tcp -m tcp --dport 22 -j REJECT

# iptables -t filter -I INPUT -d 192.168.100.142 -p tcp -m tcp --sport 22:80 -j REJECT
(拒绝连续端口)

# iptables -t filter -I INPUT -d 192.168.100.142 -p tcp -m tcp --sport 22: -j REJECT
(指定从22开始的连续端口)

# iptables -t filter -I INPUT -d 192.168.100.142 -p tcp -m tcp --sport :80 -j REJECT
(指定到80结束的连续端口)

# iptables -t filter -I INPUT -d 192.168.100.142 -p tcp -m tcp ! --sport 22:80 -j REJECT

# iptables -t filter -I INPUT -s 192.168.100.142 -p tcp -m multiport --dport 22,80 -j REJECT
(拒绝离散端口)

# iptables -t filter -I INPUT -d 192.168.100.142 -p tcp -m multiport --sport
22,80 -j REJECT

(补充)selinux

SELinux诞生的初衷是防止权限和资源的滥用

1、工作模式

SELinux 有三种工作模式,分别是:

  1. enforcing:强制模式。违反 SELinux 规则的行为将被阻止并记录到日志中。
  2. permissive:宽容模式。违反 SELinux 规则的行为只会记录到日志中。一般为调试用。
  3. disabled:关闭 SELinux。

        SELinux 工作模式可以在 /etc/sysconfig/selinux 中设定。

        如果想从 disabled 切换到 enforcing 或者 permissive 的话,需要重启系统。反过来也一样。

        enforcing 和 permissive 模式可以通过 setenforce 1|0 命令快速切换。

        需要注意的是,如果系统已经在关闭 SELinux 的状态下运行了一段时间,在打开 SELinux 之后的第一次重启速度可能会比较慢。因为系统必须为磁盘中的文件创建安全上下文。

        一般会禁用selinux,因为可能出现莫名其妙的报错

2、如何禁用

1、编写 /etc/sysconfig/selinux文件

[root@localhost ~]# vi /etc/sysconfig/selinux

将高亮显示改为disabled

【Linux安全管理】iptables配置与iptables基本用法

2、重启虚拟机,查看现在的状态

【Linux安全管理】iptables配置与iptables基本用法

 
 文章来源地址https://www.toymoban.com/news/detail-447547.html

到了这里,关于【Linux安全管理】iptables配置与iptables基本用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 高级网络安全管理员 - 网络设备和安全配置:交换机端口安全配置

    Cisco Packet Tracer 是由Cisco公司发布的一个辅助学习工具,为学习思科网络课程的初学者去设计、配置、排除网络故障提供了网络模拟环境。用户可以在软件的图形用户界面上直接使用拖曳方法建立网络拓扑,并可提供数据包在网络中行进的详细处理过程,观察网络实时运行情况

    2024年02月03日
    浏览(62)
  • K8S应用流程安全(镜像安全 配置管理 访问安全)

    1.1.1 构建原则 学习目标 这一节,我们从 基础知识、原则解读、小结 三个方面来学习。 基础知识 k8s平台使用业务环境 需求 镜像的使用流程 Docker镜像加载 UnionFS 原则解读 构建样式 构建原则 实践原则 分层效果 功能效果 小结 1.1.2 Dockerfile实践 学习目标 这一节,我们从 基础

    2024年02月13日
    浏览(50)
  • 高级网络安全管理员 - 网络设备和安全配置:SSH 配置

    Cisco Packet Tracer 是由Cisco公司发布的一个辅助学习工具,为学习思科网络课程的初学者去设计、配置、排除网络故障提供了网络模拟环境。用户可以在软件的图形用户界面上直接使用拖曳方法建立网络拓扑,并可提供数据包在网络中行进的详细处理过程,观察网络实时运行情况

    2024年01月25日
    浏览(54)
  • 【Linux安全管理】Firewalld详解

    目录 1、与iptables不同 2、配置防火墙 3、firewalld区域概念 4、filewalld 配置生效 5、firewalld服务 firewalld 端口映射 富规则 rich-rule firewalld采用区域和服务管理,而不是链式规则 动态管理规则,允许更新规则而不破坏原有会话与连接 firewall-cmd 命令行模式 推荐使用 firewall-config(如

    2024年02月12日
    浏览(35)
  • Linux——管理网络安全

    1.管理服务器防火墙 (1)Linux内核中包含netfilter是网络流量操作(如数据包过滤、网络地址转换和端口转换)的框架。Filewalld是一个动态防火墙管理器,是nftables框架的前端,它会检查进入系统的每个数据包的源地址。若源地址分配到特定区域,则应用该区域的规则;若未分

    2023年04月08日
    浏览(82)
  • 配置交换机SSH管理和端口安全——实验2:配置交换机端口安全

    通过本实验可以掌握: 交换机管理地址配置及接口配置。 查看交换机的MAC地址表。 配置静态端口安全、动态端口安全和粘滞端口安全的方法 配置交换机端口安全的实验拓扑如图所示。                                                 配置交换机端口

    2024年04月25日
    浏览(57)
  • 高级网络安全管理员 - 网络设备和安全配置:标准的ACL配置

    Cisco Packet Tracer 是由Cisco公司发布的一个辅助学习工具,为学习思科网络课程的初学者去设计、配置、排除网络故障提供了网络模拟环境。用户可以在软件的图形用户界面上直接使用拖曳方法建立网络拓扑,并可提供数据包在网络中行进的详细处理过程,观察网络实时运行情况

    2024年02月04日
    浏览(52)
  • 基线管理与安全配置练习题

    一.单选 1.自动化基线检查的缺点是( A ) A.可能造成未知影响           B.检查速度慢          C.检查时间长          D.检查非常不准确 2.Windows基线人工配置主要通过( D ) A.注册表               B.控制面版               C.设置               D.组策略 3.Windows基线

    2024年01月20日
    浏览(43)
  • 配置交换机 SSH 管理和端口安全

    1、实验目的 通过本实验可以掌握: 交换机基本安全配置。 SSH 的工作原理和 SSH服务端和客户端的配置。 2、实验拓扑 交换机基本安全和 SSH管理实验拓扑如图所示。 3、实验步骤 (1)配置交换机S1 (2)从SSH Client通过SSH登录到交换机S1 4、实验调试 (1)使用命令S1#show ip ssh查

    2024年04月14日
    浏览(68)
  • 高级网络安全管理员 - 网络设备和安全配置:三层交换机和ACL配置

    Cisco Packet Tracer 是由Cisco公司发布的一个辅助学习工具,为学习思科网络课程的初学者去设计、配置、排除网络故障提供了网络模拟环境。用户可以在软件的图形用户界面上直接使用拖曳方法建立网络拓扑,并可提供数据包在网络中行进的详细处理过程,观察网络实时运行情况

    2024年01月16日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包