• 【操作系统】安全管理/防火墙


    防火墙

    防火墙工具

    在这里插入图片描述

    Netfilter

    1. 是Linux操作系统核心层内部的一个数据包处理模块,Linux平台下的包过滤防火墙;
    
    2.作用:
    	网络地址转换
    	数据包内容修改
    	数据包过滤的防火墙功能 ***(要介绍的部分)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    相关定义:
    1. 表 tables:规则的集合(功能相似 的 规则 的集合)
    2. 链 chains:关卡(一个关卡,可能有多个规则)
    3. 规则 policy:匹配条件,处理动作
    
    • 1
    • 2
    • 3
    • 4

    例子

    在这里插入图片描述

    链、表、规则

    在这里插入图片描述

    在这里插入图片描述

    常见的4类表:
    1. raw表:关闭nat表上启动的连接追踪机制 iptable_raw
    2. mangle表:拆解报文,做出修改,并重新封装 iptable_mangle
    3. nat表:Network Address Translation,网络地址转换 iptable_net
    4. filter表:负责过滤功能,防护墙功能 iptable_filter
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    注意:
    1 - 每个关卡能调用的 表 是不同的;
    2 - 五个关卡基本是固定的:
    	PREROUTING
    	INPUT
    	FORWARD
    	POSTROUTING
    	OUTPUT:4个表
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    规则

    系统防火墙 - Firewalld

    静态防火墙

    只要修改规则,所有的规则都要重新载入,如:iptables service

    动态防火墙

    任何规则的变更都不需要对整个防火墙规则列表进行重新加载,只要将变更的部分保存并更新到运行中 的 iptables 即可,如 :firewalld

    区域

    Firewalld将网卡对应到不同的区域(zone

    zone默认有9个

    1. block
    2. dmz
    3. drop
    4. external
    5. home
    6. internal
    7. public
    8. trusted
    9. work
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    可以理解为:9个样板间

    不同的zone对待数据包的默认行为不同,

    在kylinos中,默认区域是public

    firewalld默认每个服务是拒绝的,需要去设置才能放行;

    区域(zone)默认策略规则
    trusted可接受所有网络连接,允许所有数据包进出
    home用于家庭网络,基本信任网络内的其他主机不会危害该主机。流量、ssh、mdns、ipp-client、amba-client 和 dhcpv6-client 服务相关,允许进入
    internal用于内部网络,等同于home
    work用于工作区,基本信任网络内的其他主机不会危害该主机。仅 流量、ssh、ipp-client和 dhcpv6-client 服务相关,允许进入
    public在公共区域使用,不信任网络内的其他计算机,只能接受经过选取的连接。流量、ssh和 dhcpv6-client 服务相关,允许进入
    external为路由器启用了 伪装功能 的外部网,不信任网络内的其他计算机。流量和ssh服务相关,可以进入
    dmz非军事区,此区域内可公开访问,可以有限的进入内部网络。流量和ssh服务相关,可以进入
    block限制,任何接收的网络连接都会被拒绝
    drop丢弃,任何接收的网络数据包都会被丢弃,仅能有发送出去的网络连接

    命令行操作 firewall

    基础命令

    命令功能
    systemctl start firewalld开启防火墙
    systemct enable firewalld开机自启防火墙
    systemct stop firewalld关闭防火墙
    systemct disable firewalld开机自动关闭防火墙
    firewall-cmd state查看防火墙状态
    firewall-cmd --get-active-zones查看防火墙管理的设备
    firewall-cmd --get-default-zone查看防火墙默认开启的区域
    firewall-cmd --get-zones查看防火墙的所有区域
    firewall-cmd --zone=public --list-all列出public区域的服务 设置
    firewall-cmd --get-services列出可使用的服务
    firewall-cmd --set-default-zone=trusted修改默认区域为trusted
    firewall-cmd --list-all-zones列出所有的域

    查看防火墙状态

    firewall-cmd state	#防护墙状态
    systemctl status firewalld	#防火墙状态
    
    • 1
    • 2

    关闭防火墙

    systemctl stop firewalld.service	#关闭防火墙
    
    • 1

    启动防火墙

    systemctl start firewalld.service
    
    • 1

    开机自启防火墙

    systemctl enable firewalld.service
    
    • 1

    修改安全策略

    命令功能
    firewalld-cmd --add-service=https临时添加服务(默认区域)
    firewalld-cmd --remove-service=https --permanent永久删除服务
    firewalld-cmd --add-port=80/tcp临时添加端口
    firewalld-cmd --remove-interface=eth0删除接口
    firewalld-cmd --permanent --change-interface=eth1 --zone=trusted永久更改接口区域
    firewalld-cmd --add-source=172.25.254.100 --zone=block临时拒绝主机172.25.254.100的所有网络连接
    firewalld-cmd --remove-source=172.25.254.100 --zone=block --permanent永久移除限制
    firewalld-cmd --complete-reload中断连接,重启防火墙策略
    firewalld-cmd --reload不中断连接,重启防火墙策略
    firewalld-cmd --direct --get-all-rules查看设置的规则
  • 相关阅读:
    计算机毕业设计Java高校教师教学业绩考核系统2021(源码+系统+mysql数据库+lw文档)
    JavaScript变量预解析和函数预解析
    期末前端web大作业:餐饮美食网站设计与实现——HTML+CSS+JavaScript美食餐饮网站 3页面
    [附源码]java毕业设计网络身份认证技术及方法
    Mysql高级查询整理
    IntelliJ IDEA启动一个普通的java web项目的配置
    [附源码]计算机毕业设计JAVA星期八酒店管理系统
    「PAT乙级真题解析」Basic Level 1079 延迟的回文数 (问题分析+完整步骤+伪代码描述+提交通过代码)
    JAVA 身份证号码的验证
    C语言【空字符】和【空指针】
  • 原文地址:https://blog.csdn.net/Sanayeah/article/details/126923244