安全技术和防火墙(iptables)

安全技术

入侵检测系统:特点是不阻断网络访问,主要是提供报警和事后监督,不主动介入,类似于监控。

入侵防御系统:透明模式工作,对数据包,网络监控,服务攻击,木马,蠕虫,系统漏洞等等进行准确的分析和判断,在判定攻击行为后会立即阻断。它是主动防御(所有的数据在进入本机之前必须要通过的设备或者是软件)

防火墙

作用就是隔离,工作在网络或者主机的边缘。对网络或者主机的数据包基于一定的规则进行检查,匹配到的规则放行,匹配不到的规则拒绝,数据包将会被丢弃。只开放允许访问的策略(白名单机制,拒绝所有,允许个别)

防水墙:是一种防止内部信息泄露的产品,对外有防火墙的功能,对内是透明模式工作。类似于监控

应用层防火墙

在应用层对数据进行检查

优点:更安全,精准定位问题

缺点:所有数据都会检查,增加防火墙的负荷

包过滤防火墙(对数据包进行控制)

特点:网络层对数据包进行选择,选择的依据是防火墙设置的策略

策略:包含ip地址、端口、协议

优点:处理速度快,易于维护

缺点:无法检查应用层数据,就是病毒无法进行处理

iptables这个是Linux自带的防火墙,一般用于内部配置,对外一般不使用(对外使用专业的)

firewalld 这个是Linux自带的防火墙,它是centos7版本以后默认的防火墙

iptables

需要安装iptables 和 iptables-services

iptables:工作在网络层,针对数据包实施过滤和限制(包过滤防火墙)

面试题

通信的要素:五大要素和四大要素

五大要素:源ip、目的ip、源端口、目的端口、协议(TCP、UPD)

四大要素:源ip、目的ip、源端口、目的端口

内核态和用户态:

内核态:涉及到软件的底层代码或者系统的基层逻辑,以及一些硬件的编码,如果数据是内核态处理,速度相对较快

iptables的过滤规则就是由内核来进行控制的

用户态

应用层软件层面,人为控制的一系列操作,使用功能

数据只通过用户态处理,速度是比较慢的

面试题

iptables的配置和策略:四表五链

iptables四表:1.raw表:用于控制数据包的状态,跟踪数据包的状态

                       2.mangle表:修改数据包的头部信息

                       3.NAT表:网络地址转换,可以改变数据包的源地址和目的地址

                       4.filter表:也是iptables的默认表,不做声明,默认就是filter表,它的作用就是过滤                            数据包,控制数据包的进出,以及接受和拒绝数据包

iptables五链:1.PREROUTING链:处理数据包进入本机之前的规则(NAT表)

                        2.INPUT链:处理数据包进入本机的规则(filter表,即是否允许数据包进入)

                        3.OUTPUT链:处理本机发出的数据包的规则,或者是数据包离开的本机的规则                                   (filter表,一般不做设置)

                        4.FORWADR链:处理数据包转发到其他主机的规则,或者是否允许本机进行数据                             包转发

                        5.POSTROUTING链:处理数据包离开本机之后的规则(NAT表)

表里有链,链里有规则

管理选项:在表的链中插入,增加,删除,查看规则

匹配条件:数据包的ip地址、端口、协议

控制类型:允许,拒绝,丢弃

注意事项:1.不指定表名,默认就是filter表

                  2.不指定链名,默认就是所有链(必须要指定链名)

                  3.除非设置了链的默认策略,否则必须执行匹配条件(一般都是指定匹配条件)

                  4.选项,链名和控制类型都是大写,其余的都是小写

控制类型

ACCEPT:允许数据包通过

DROP:直接丢弃数据包,没有任何回应信息

REJECT:拒绝数据包通过,数据包也会被丢弃,但是会有一个响应的信息

SNAT:修改数据包的源地址  

DNAT:修改数据包的目的地址

管理选项(都是大写)

-A  在链中添加一条规则,是在链尾添加

-I( i 的大写) 指定位置插入一条规则

-P  指定默认规则,链的规则一般都是设置成拒绝(默认是允许)

-D 删除规则

-R 修改规则(一般不用)

-vnL  查看规则     v是显示详细信息  n是以数字形式展示内容   L是查看

--line-numbers:显示规则的编号,和查看一起使用  -vnL --line-numbers

-F  清空链中所有规则

-X  清除自定义链中的规则

匹配条件

-p  指定协议类型

-s  指定匹配的源ip地址

-d  指定匹配的目的ip地址

-i 指定数据包进入本机的网络设备(ens33)

-o  指定数据包离开本机的网络设备

--sport  指定源端口

--dport  指定目的端口

iptables的命令格式

iptables -t  表名  管理选项  链名(大写)   匹配条件   -j   控制类型

所有的控制类型前面都是-j

iptables 基于的是本机策略 ,谁来访问本机 

匹配原则:每个链中规则都是从上到下的顺序匹配,匹配到之后就不再向下匹配

如果链中没有规则,则执行链的默认策略进行处理

查看规则 

iptables -vnL --line-numbers

添加规则 
指定ip

iptables -A INPUT -p icmp -j REJECT 拒绝其他所有主机ping本机

iptables  -I INPUT   1  -p  icmp -j  ACCEPT  插入规则到第一条 

iptables -A INPUT -s 192.168.233.20 -p icmp -j REJECT 指定20的主机拒绝ping本机

iptables -A INPUT -s  192.168.233.20,192.168.233.30 -p icmp -j DROP 指定多个主机拒绝ping本机

指定端口

iptables -A INPUT -p tcp --dport 22  -j REJECT  拒绝端口22的主机访问本机

iptables -AINPUT -s 192.168.233.20 -p tcp --dport 22 -j REJECT  拒绝ip20主机访问端口22的本机

删除规则

iptables -D INPUT 1

修改规则

iptables -R INPUT 1 -s 192.168.233.30 -p tcp --dport 80 -j REJECT 拒绝30的主机访问端口80的本机

修改链的策略

网络设备

iptables -A INPUT -i ens33 -s 192.168.233.20 -p tcp --dport 80 -j ACCEPT 允许网卡是ens33的20主机访问端口是80的本机

iptables -A INPUT -s 192.168.233.0/24 -p tcp --dport 80 -j REJECT 拒绝整个网段访问本机

一次性对多个端口进行操作

iptables -A INPUT -p tcp --dport 22:80 -j REJECT

-m拓展模块

一次禁止多端口或ip范围或mac地址

iptables -A INPUT -p tcp -m multiport --dport 80,22,21,23,3306 -j REJECT 禁止多端口

iptables -A INPUT -p tcp -m iprange --src-range 192.168.233.20-192.168.233.30  --dport 80 -j REJECT 拒绝20-30的IP访问本机的80端口

--src-range  源地址池

--dst-range 目的地址池

-m multiport --sport 源端口池

-m multiport --dport  目的端口池

-m iprange --src-range  源地址池

-m iprange --dst-range 目的地址池

匹配mac地址

iptables -A INPUT -m mac --mac-source 00:0c:29:94:6d:dd0 -j DROP

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/34606.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTTP协议中的各种请求头、请求类型的作用以及用途

目录 一、http协议介绍二、http协议的请求头三、http协议的请求类型四、http协议中的各种请求头、请求类型的作用以及用途 一、http协议介绍 HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应…

python flask 入门-helloworld

学习视频链接: 01-【前奏】课程介绍_哔哩哔哩_bilibili 1.安装flask pip install flask 踩坑记:本机不要连代理,否则无法install 提示报错valueError: check_hostname requires server_hostname 2.程序编写 在根目录下创建 app.py fr…

React实现二级评论

1. 什么是二级评论 图片来源–blackfrog的掘金文章 口语化的讲当我发布一个评论的时候就是一级评论,当我回复我发布的评论的时候就是二级评论并且将所有回复二级评论的评论也归于二级评论。 2. 二级评论功能的实现逻辑 在这里后端设计了四个接口分别是 获取所有…

jdk1.8升级到jdk11遇到的各种问题

一、第三方依赖使用了BASE64Decoder 如果项目中使用了这个类 sun.misc.BASE64Decoder,就会导致错误,因为再jdk11中,该类已经被删除。 Caused by: java.lang.NoClassDefFoundError: sun/misc/BASE64Encoder 当然这个类也有替换方式&#xf…

第 27 篇 : 搭建maven私服nexus

官网文档 1. 下载应该很慢, 最好是能翻墙 nexus-3.69.0-02-java8-unix.tar.gz 2. 上传到/usr/local/src, 解压及重命名 tar -zxvf nexus-3.69.0-02-java8-unix.tar.gz rm -rf nexus-3.69.0-02-java8-unix.tar.gz mv nexus-3.69.0-02 nexus ls3. 修改配置 cd /usr/local/sr…

作 业 二

cs与msf权限传递 1、进入cs界面,首先来到 Cobalt Strike 目录下,启动 Cobalt Strike 服务端 2、用客户端进 3、建立监听 4、生成脚本文件 5、开启服务,让win_2012 下载木马文件并运行 6、显示已经获取到了win的权限 转到Metasploit Framework 7、进去m…

智慧仓储的秘密武器:数据可视化的应用

智慧仓储中数据可视化是如何应用的?在现代物流和供应链管理中,智慧仓储已成为企业提升效率、降低成本和优化运营的重要手段。而数据可视化作为智慧仓储的重要工具,通过将复杂的数据转化为直观、易理解的图表和图形,极大地提升了仓…

MySQL实训--原神数据库

原神数据库 er图DDL/DML语句查询语句存储过程/触发器 er图 DDL/DML语句 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;DROP TABLE IF EXISTS artifacts; CREATE TABLE artifacts (id int NOT NULL AUTO_INCREMENT,artifacts_name varchar(255) CHARACTER SET utf8 COLLATE …

玩机进阶教程----MTK芯片使用Maui META修复基带 改写参数详细教程步骤解析

目前mtk芯片与高通芯片在主流机型 上使用比较普遍。但有时候版本更新或者误檫除分区等等原因会导致手机基带和串码丢失的故障。mtk芯片区别与高通。在早期mtk芯片中可以使用工具SN_Writer_Tool读写参数。但一些新版本机型兼容性不太好。今天使用另外一款工具来演示mtk芯片改写参…

计算机缺失d3dx9_43.dll的多种解决方法,哪种更推荐使用

我在使用计算机时遇到了一个问题,系统提示我丢失了d3dx9_43.dll文件。丢失d3dx9_43.dll文件通常是由于DirectX组件未正确安装或损坏所致,这直接影响到依赖于DirectX的游戏和应用的运行。经过一番搜索和尝试,我找到了多种修复这个问题的方法&a…

2024最新SCI期刊影响因子发布(JCR2023)(含Top100榜单)

Clarivate Analytics(科睿唯安)2024年度《期刊引证报告》(Journal Citation Reports,简称JCR)发布了SCI期刊2023年影响因子(IF)。该指数备受访问学者、联培博士及博士后研究者关注。今天知识人网小编就简要介绍最新SCI…

【STM32 RTC实时时钟如何配置!超详细的解析和超简单的配置,附上寄存器操作】

STM32 里面RTC模块和时钟配置系统(RCC_BDCR寄存器)处于后备区域,即在系统复位或从待机模式唤醒后,RTC的设置和时间维持不变。因为系统对后备寄存器和RTC相关寄存器有写保护,所以如果想要对后备寄存器和RTC进行访问,则需要通过操作…

一文详解:什么是企业邮箱?最全百科

什么是企业邮箱?企业邮箱即绑定企业自有域名作为邮箱后缀的邮箱,是企业用于内部成员沟通和客户沟通的邮箱系统。 一、企业邮箱概念拆解 1.什么是企业邮箱? 企业邮箱即使用企业域名作为后缀的邮箱系统。它不仅提供专业的电子邮件收发功能&a…

【学习】使用PyTorch训练与评估自己的ResNet网络教程

参考:保姆级使用PyTorch训练与评估自己的ResNet网络教程_训练自己的图像分类网络resnet101 pytorch-CSDN博客 项目地址:GitHub - Fafa-DL/Awesome-Backbones: Integrate deep learning models for image classification | Backbone learning/comparison…

【M1/M2】详细说明Parallels Desktop虚拟机的安装使用

希望文章能给到你启发和灵感~ 如果觉得有帮助的话,点赞+关注+收藏支持一下博主哦~ 阅读指南 开篇说明什么是Paralles Desktop一、基础环境说明1.1 硬件环境1.2 软件环境二、安装Parallels DeskTop2.1 下载软件安装包三、Parallels 下配置Windows 11 系统3.1 Windows 11安装3…

Docker系列之安全

Docker的安全前言一、Docker 容器与虚拟机的区别 1. 隔离与共享 2. 性能与损耗二、Docker 存在的安全问题 1.Docker 自身漏洞 2.Docker 源码问题三、 Docker 架构缺陷与安全机制 1. 容器之间的局域网攻击 2. DDoS 攻击耗尽资源 3. 有漏…

Vue_cli搭建过程项目创建

概述 vue-cli 官方提供的一个脚手架,用于快速生成一个 vue 的项目模板;预先定义 好的目录结构及基础代码,就好比咱们在创建 Maven 项目时可以选择创建一个 骨架项目,这个骨架项目就是脚手架,我们的开发更加的快速&am…

uni-app的showModal提示框,进行删除的二次确认,可自定义确定或取消操作

实现效果: 此处为删除的二次确认示例,点击删除按钮时出现该提示,该提示写在js script中。 实现方式: 通过uni.showModal进行提示,success为确认状态下的操作自定义,此处调用后端接口进行了删除操作&#…

如何成为专业的 .NET 开发人员

如今,网上有大量信息,找到正确的信息并非易事。当你开始编程之旅并希望获得全面的指南时,最好寻找一个可以指导你完成整个过程的指南。 本文将帮助您制定一份路线图,告诉您什么是重要的以及什么是需要学习的. 一.一切从软件基础…

【JavaScript】BOM编程

目录 一、BOM编程是什么 二、window对象的常用方法 1、弹窗API方法 2、计时器任务方法 三、window对象的属性对象常用方法 1、history网页浏览历史 2、location地址栏 3、数据存储属性对象 4、console控制台 一、BOM编程是什么 当我们使用浏览器打开一个网页窗口时,…