您当前的位置:首页 > 电脑百科 > 网络技术 > 网络安全

如何在Linux安装防火墙,你可能不会见到这么详细的教程。

时间:2021-02-03 11:17:15  来源:  作者:

什么是防火墙

防火墙是一种网络安全系统,它根据预定的一组规则过滤和控制通信量。这是一个介于设备和互联网之间的中介系统。

注:如果您已经了解linux中防火墙的工作,并且只想知道命令,那么请进入教程的末尾。

Linux的防火墙是如何工作的:

Linux发行版的大多数附带默认防火墙工具,可以用来配置它们。我们将使用Linux中提供的默认工具“iptablees”来建立防火墙。Iptable用于在Linux内核中设置、维护和检查IPv 4和IPv 6数据包过滤规则的表。

-以下所有命令都需要sudo特权。

链是为特定任务定义的一组规则。我们有三条用于处理流量的链:输入链,输出链,前向链

1.输入链

从互联网(网络)到本地机器的任何流量都必须通过输入链。这意味着它们必须遍历输入链中设置的所有规则。

2.输出链

从本地机器到互联网的任何流量都需要通过输出链。

3.前向链

从外部网络到另一个网络的任何流量都需要通过前向链。当两台或两台以上的计算机连接在一起,并且我们希望在它们之间发送数据时,就使用它。

Iptable可以对流量执行三个操作:接受,下降,拒绝

1.接受

当流量传递其指定链中的规则时,iptable将接受该通信量。

这意味着它打开了大门,允许这个人进入王国。

2.下降

当流量无法传递其指定链中的规则时,iptable将阻塞该通信量。

这意味着防火墙关闭了。

3.拒绝

此类型的操作类似于DROP操作,但它向通信量的发送方发送一条消息,说明数据传输失败。

通常情况下,当您希望另一端知道端口是不可访问的时,请使用拒绝。‘使用DROP连接到您不希望别人看到的主机。

注:你需要记住一个简单的规则:您在iptable中设置的规则将从最上面的规则到底部进行检查。无论何时数据包通过任何顶级规则,它都可以通过防火墙。不检查较低的规则。所以在制定规则时要小心。

基本iptables命令:.列出iptable的现行规则:列出当前iptable的规则:

sudo iptables -L

这个输出量将是:

正如您所看到的,我们有三条链(输入、向前、输出)。我们也可以看到列标题,但它们不是实际的规则。这是因为大多数Linux都没有预定义的规则。

让我们看看每一列的含义。

Target:这定义了需要对数据包执行哪些操作(接受、丢弃等)

Prot:这定义了数据包的协议(TCP,IP)。

source:这将告诉包的源地址。

destination:这定义了数据包的目标地址。

2.明确规则:

如果您想清除/清除所有现有规则。运行以下命令:

sudo iptables -F

这将重置iptables。

3.改变链条的默认政策:

sudo iptables -P Chain_name Action_to_be_taken

正如您在上面的图片中所看到的,每个链的默认策略是接受。

例如:

如果您看到前向链,您将看到“链式转发(策略接受)”,这意味着您的计算机允许将任何通信量转发到另一台计算机。

为了改变转发的政策以减少:

sudo iptables -P FORWARD DROP

上述命令将停止通过系统转发的任何通信量。这意味着没有其他系统可以作为中介传递数据。

制定你的第一条规则:

1.执行一项中止规则:

现在我们将开始构建防火墙策略,我们将首先在输入链上工作,因为输入的流量将通过输入链。

语法:-

sudo iptables -A/-I chain_name -s source_ip -j action_to_take

我们要来理解这个话题。

假设我们想阻止来自IP地址192.168.1.3的通信量。可以使用以下命令:

sudo iptables -A INPUT -s 192.168.1.3 -j DROP

这可能看上去很复杂,但当我们仔细研究组件时,大部分内容都是有意义的:-

A INPUT

标志-A用于将规则附加到链的末尾。命令的这一部分告诉iptable,我们希望在输入链的末尾添加一个规则。

I INPUT

在此标志中,规则被添加到链的顶部。

-S192.168.1.3:-

标志-s用于指定数据包的源。这告诉iptable查找来自源192.168.1.3的数据包。

-j Drop

这指定了iptable应该如何处理数据包。

简而言之,上面的命令在输入链中添加了一条规则,即如果任何数据包到达其源地址为192.168.1.3,则丢弃该数据包,这意味着不允许数据包到达计算机。

执行上述命令后,可以使用以下命令查看更改:-

sudo iptables -L

这个输出量将是:-

2.执行接受规则:

如果要向网络的特定端口添加规则,则可以使用以下命令。

语法:

sudo iptables -A/-I chain_name -s source_ip -p protocol_name --dport port_number -j Action_to_take

-p协议名称:-

此选项用于匹配遵循协议名称的数据包。

-p protocol_name

只有当您给出-p protocol_name选项时,才能使用此选项。它指定查找到端口“port_number”的数据包。

例子:

假设我们希望保持SSH端口打开(在本指南中假设默认SSH端口是22),在上述情况下,我们阻止了192.168.1.3网络。也就是说,我们只想允许那些来自192.168.1.3的数据包,而这些包想进入端口22。

我们该怎么办:

让我们试试下面的命令:

sudo iptables -A INPUT -s 192.168.1.3 -p tcp --dport 22 -j ACCEPT

上面的命令表示查找来自IP地址192.168.1.3的数据包,该数据包具有TCP协议,并且谁想在我的计算机的端口22上传递一些东西。如果你找到了这些包,然后接受它们。

这个输出量命令是:-

但是,上面的命令有一个问题。它实际上不允许数据包。你能猜到是什么吗?

提示:-它与访问规则的方式有关。

请记住,正如我们前面所讨论的,您在iptables中设置的规则是从上到下检查的。无论何时将数据包处理到顶级规则之一,都不会使用较低的规则进行检查。

好吧!答案是:

在我们的例子中,数据包是用最上面的规则检查的,该规则规定,iptable必须丢弃192.168.1.3中的任何数据包。因此,一旦通过这个规则访问了数据包,它就不会进入允许分组到端口22的下一个规则。因此失败了。

又能做些什么呢?

最简单的答案是,将规则添加到链的顶部。你要做的就是把-A选项改为-I选项。

这样做的命令是:-

sudo iptables -I INPUT -s 192.168.1.3 -p tcp --dport 22 -j ACCEPT

现在使用-L命令检查iptable配置。产出如下:

因此,来自192.168.1.3的任何数据包都会首先检查是否到达端口22,如果不是,则检查

在链中的下一个规则中运行。否则它可以通过防火墙。

现在您已经了解了如何阻止和接受传入的通信量,下面让我们看看如何删除规则:

3.从iptable中删除一条规则:

语法:

sudo iptables -D chain_name rule_number

例子:

如果我们要删除接受到端口22的通信并在前一节中添加的规则,那么:-

sudo iptables -D INPUT 1

记住规则号从1开始

这个输出量 :

4.保存配置:

如果要在不是服务器的个人计算机上实现此部分,则此部分是不必要的,但如果您正在服务器上实现防火墙,那么您的服务器很可能会损坏,并且你可能会丢失你所有的数据。所以,保存配置总是更好的。

有很多方法可以做到这一点,但我发现的最简单的方法是Iptable-持久性包裹。您可以从Ubuntu的默认存储库下载该包:

sudo apt-get update

sudo apt-get install iptables-persistent

安装完成后,可以使用以下命令保存配置:-

sudo invoke-rc.d iptables-persistent save

本教程到此结束。

让我们简要介绍到目前为止学到的所有命令:-

1.列出国际表的现行规则:sudo iptables -L

2.若要更改默认策略,请执行以下操作:sudo iptables -P Chain_name Action_to_be_taken

例子:

sudo iptables -P FORWARD DROP

3.清除/冲洗所有规则sudo iptables -F

4.在链尾附加一条规则:sudo iptables -A

5.在链的开头附加一条规则:sudo iptables -I

6.执行一项接受规则:sudo iptables -A/-I chain_name -s source_ip -j action_to_take

例子:

iptables -A INPUT -s 192.168.1.3 -j ACCEPT

7.执行一项中止规则:sudo iptables -A/-I chain_name -s source_ip -j action_to_take

例子:-

iptables -A INPUT -s 192.168.1.3 -j DROP

8.关于具体港口/议定书的执行规则:sudo iptables -A/-I chain_name -s source_ip -p protocol_name --dport port_number -j Action_to_take

例子:

sudo iptables -I INPUT -s 192.168.1.3 -p tcp --dport 22 -j ACCEPT

9.删除一项规则:sudo iptables -D chain_name rule_number

例子:

sudo iptables -D INPUT 1

10.保存配置:sudo invoke-rc.d iptables-persistent save

本教程到此结束。我们已经看到了在本地计算机上实现防火墙所需的所有必要命令。我们还可以让防火墙执行其他各种操作,但不可能在一篇文章中涵盖所有这些操作。



Tags:防火墙   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
一、背景介绍大家在Linux的日常使用中都晓得如何通过命令行去配置Linux的端口开放规则,但是大家知道如何配置Windows入站出站规则吗?有哪些常见的危险端口呢?如何解决上述问题...【详细内容】
2021-12-01  Tags: 防火墙  点击:(30)  评论:(0)  加入收藏
一、背景介绍大家在Linux的日常使用中都晓得如何通过命令行去配置Linux的端口开放规则,但是大家知道如何配置Windows入站出站规则吗?有哪些常见的危险端口呢?如何解决上述问题...【详细内容】
2021-11-15  Tags: 防火墙  点击:(38)  评论:(0)  加入收藏
介绍其实Iptables服务不是真正的防火墙,只是用来定义防火墙规则功能的"防火墙管理工具",将定义好的规则交由内核中的netfilter即网络过滤器来读取,从而真正实现防火墙功能。fil...【详细内容】
2021-10-18  Tags: 防火墙  点击:(52)  评论:(0)  加入收藏
waf拦截在打某市 Hvv 第一天就找到一个文件上传的点,经过测试,可以直接任意文件上传,没有什么道理。 直接尝试上传 Php 文件,被 waf 拦截了 2021最新整理网络安全/渗透测试/安...【详细内容】
2021-10-11  Tags: 防火墙  点击:(56)  评论:(0)  加入收藏
防火墙一般布置在逻辑区域的入口处,位于三层网络架构的核心和汇聚之间,起到隔离逻辑区域,为逻辑区域创建安全策略的作用。 上面就是应用区的防火墙布置方式,他布置在应用区,可以...【详细内容】
2021-09-03  Tags: 防火墙  点击:(109)  评论:(0)  加入收藏
从实现原理上分,防火墙的技术包括四大类:网络级防火墙、应用级网关、电路级网关和规则检查防火墙。1、网络级防火墙一般是基于源地址和目的地址、应用、协议以及每个IP包的端...【详细内容】
2021-07-20  Tags: 防火墙  点击:(225)  评论:(0)  加入收藏
防火墙是网络和万维网之间的关系,位于网络的入口和出口。它评估网络流量,只允许某些流量进出。防火墙分析网络数据包头,包括关于进出网络流量的信息。然后,根据防火墙配置的策略...【详细内容】
2021-06-22  Tags: 防火墙  点击:(101)  评论:(0)  加入收藏
Windows防火墙是Windows操作系统的组成部分,它管理流经计算机网络端口的流量,以确保未被注意的数据包不会进入计算机并确保其安全。它还负责打开和关闭或侦听网络端口。Window...【详细内容】
2021-04-30  Tags: 防火墙  点击:(215)  评论:(0)  加入收藏
随着越来越多的企业陆续上云,并通过云平台为用户提供服务,云端的 Web 应用程序防火墙(WAF)服务开始逐渐变得流行起来。面对与传统部署截然不同的环境和新的安全威胁,云端 WAF 服...【详细内容】
2021-04-25  Tags: 防火墙  点击:(246)  评论:(0)  加入收藏
为什么要关闭防火墙防火墙对电脑的安全起着重要的保护作用,为什么这一节小课堂会教你如何关闭防火墙呢?因为防火墙在电脑与其他电脑通信的时候会起到保护作用,但是在我们进行一...【详细内容】
2021-03-19  Tags: 防火墙  点击:(199)  评论:(0)  加入收藏
▌简易百科推荐
一、背景介绍永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获...【详细内容】
2021-12-27  Kali与编程    Tags:勒索病毒   点击:(3)  评论:(0)  加入收藏
一、SQL注入漏洞SQL 注入攻击( SQL Injection ),简称注入攻击、SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞。在设计程序,忽略了对输入字符串...【详细内容】
2021-12-10  华清信安    Tags:Web漏洞   点击:(23)  评论:(0)  加入收藏
AD域是目前大型企业常用的内网管理方案,但随着近年来实网演习的常态化和不断深入,AD域安全越来越得到企业的重视。不论是在演练还是在真实的高级攻击场景中,在复盘中可以看出,大...【详细内容】
2021-10-27    中国信息安全  Tags:AD域   点击:(38)  评论:(0)  加入收藏
网友们,过去一年,您的网络安全段位提升了吗?需要更多的专属利器加持吗?今年我们又为您准备了丰富的网络安全知识大餐,助您驰骋网络,为网络安全护航!2021年10月11日至17日为“国家网...【详细内容】
2021-10-13    九派教育  Tags:网络安全   点击:(49)  评论:(0)  加入收藏
拓扑环境 Kali Linux(攻击机) Centos6.4(web服务器) win7(域成员主机无法上网) win2008R2(域控无法上网) 目的通过Kali Linux拿到域控权限2021最新整理网络安全\渗透测试/安全学习(全...【详细内容】
2021-09-17  KaliMa    Tags:内网渗透   点击:(84)  评论:(0)  加入收藏
前言这又是一个关于域内基础概念与原理的系列Active Directory 的查询基础语法BaseDNBaseDN 即基础可分辨名称,其指定了这棵树的根。比如指定 BaseDN 为DC=whoamianony,DC=or...【详细内容】
2021-09-06  KaliMa    Tags:内网渗透   点击:(46)  评论:(0)  加入收藏
堡垒机,听起来就是一个够酷的名字,有用户笑言,听着名儿就觉着安全,就像大块头施瓦辛格一出现在电影镜头里就像终结者一样。 那么,作为内网安全的"终结者",堡垒机究竟是个什么模样...【详细内容】
2021-08-26  IT技术管理那些事儿    Tags:堡垒机   点击:(76)  评论:(0)  加入收藏
1、VMware Workstation Pro 16: https://download3.vmware.com/software/wkst/file/VMware-workstation-full-16.1.0-17198959.exe VMware Workstation Pro 15【建议】 ht...【详细内容】
2021-08-25  Kali与编程    Tags:虚拟机软件   点击:(71)  评论:(0)  加入收藏
很多小伙伴都想入行网络安全,因为网络安全高薪,未来发展前景好,但是不知道网络安全学习路线是什么样的?网络安全学多久能找工作?我们就来梳理一下。 网络安全虽然好上手,入门难度...【详细内容】
2021-08-23  知了堂    Tags:网络安全   点击:(72)  评论:(0)  加入收藏
入侵一些网站,电脑,制作一些病毒,学会多项编程,这是一个普通黑客都会的技能,那么真正黑客能厉害到什么程度呢?除了勒索病毒,熊猫烧香等自动感染的病毒被大家熟知外,还有更厉害的骚操...【详细内容】
2021-08-19  IT技术管理那些事儿    Tags:漏洞   点击:(66)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条