广告
返回顶部
首页 > 资讯 > 操作系统 >linux设置iptables防火墙的详细步骤
  • 548
分享到

linux设置iptables防火墙的详细步骤

2023-06-10 10:06:11 548人浏览 八月长安
摘要

本篇内容介绍了“linux设置iptables防火墙的详细步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先简单介绍一下什么是IPTab

本篇内容介绍了“linux设置iptables防火墙的详细步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

首先简单介绍一下什么是IPTables:

iptables是Linux内核中内置的防火墙,可以允许管理员通过设置table, chain以及相关的规则来进行数据包过滤和NAT。 一般来讲,iptables防火墙已经内置于Centos 6及其他Linux版本中,而且iptables服务默认都是启动的。  iptables应用于IPv4, 如果要用IPv6,需要使用ip6tables.

iptables的命令格式:

代码如下:


iptables[-ttable]command[chain][rules][-jtarget]

[-ttable]:用来指明使用的表,有三种选项:filter,nat和mangle,如果未指定,则使用filter作为缺省表。事实上,对于单个服务器的防火墙配置,一般来讲,我们只需要对filter表进行配件就OK了。filter表包括INPUT,OUTPUT,和FORWARD三个chain.

command表明iptables命名要做什么,比如

-A(–append):该命令会把一条规则附件到chain的末尾。

-D(–delete)用来删除某个规则。

-F(–flush)如果指定了chain,删除该chain中的所有规则,如果未指定chain,则删除所有chain中的所有规则。

target:是由规则指定的操作。包括下面几种:

ACCEPT:接收信息包(允许它前往目的地),并且将停止遍历chain.

DROP:拒绝,

此外还有REJECT,RETURN,LOG,REDIRECT,MARK,MIRROR,MAQUERADE等。

具体的iptables的语法和概念就不再多说了,请参照iptablesmanpage官方文档.

简单来说,iptables防火墙是由一系列的规则(rule)组成,一个数据请求进来,会依次和这些规则进行比较,如果正好符合规则的定义,那这个数据请求要么会被接收ACCEPT,要么被拒绝DRIP。如果不符合任何规则的定义,最后缺省的规则会被应用。

开始操作之前:

注意:一定要把你在DigitalOcean/Linode/阿里云上的服务器做一下快照备份,否则一旦你iptables的配置出了问题,极有可能把你自己挡在门外,你自己都无法连接到服务器了!!出现这种情况可是会欲哭无泪呀,除了重新做系统好像没有更好的办法了。(DigitalOcean提供了一个WEBconsole的界面,有时候会给你反悔和擦除iptables设置的机会,但阿里云没有)

决定哪些端口需要开放

首先,ssh的端口22自然是需要开放的,否则我们就无法登录服务器了。

一般来讲,CentOS的VPS经常作为用LAMP搭建的Web服务器,FTP服务器,Mail服务器等。

对于Web服务来说,需要开放80端口,如果是https/SSL协议的话,还需用开放443端口

对于Mail服务来说,由于涉及SMTP,POP3,IMAP协议,需要开放的端口如下:

SMTP:25SecureSMTP:465POP3:110SecurePOP3:995IMAP:143IMAPoverSSL:993

对于FTP服务来说,需要开放20,21两个端口

屏蔽最常见的攻击

缺省情况下,CentOS的iptables的设置是允许任何数据通过的。

我们首先要清空iptables中的所有的规则:

代码如下:


iptables-F

然后我们加上阻止简单扫描和攻击的规则

代码如下:


iptables-AINPUT-ptcp--tcp-flagsALLNONE-jDROP#NONE包(所有标识bit都没有设置)主要是扫描类的数据包
iptables-AINPUT-ptcp!--syn-mstate--stateNEW-jDROP#防止sync-flood攻击
iptables-AINPUT-ptcp--tcp-flagsALLALL-jDROP#ALL包(所有的标注bit都被设置了)也是网络扫描的数据包

关于sync-flood,请参照wikipedia的解释。

为相应的服务开放对应的端口

首先我们应该接受本机localhost的任何请求,否则,数据库连接等将无法工作

1
iptables-AINPUT-ilo-jACCEPT
对于不同的服务需要开放不同的端口

代码如下:


iptables-AINPUT-ptcp--dport22-jACCEPT#SSH
iptables-AINPUT-ptcp--dport80-jACCEPT#Http
iptables-AINPUT-ptcp--dport443-jACCEPT#HTTPS
iptables-AINPUT-ptcp--dport25-jACCEPT#SMTP
iptables-AINPUT-ptcp--dport465-jACCEPT#SecureSMTP
iptables-AINPUT-ptcp--dport110-jACCEPT#POP3
iptables-AINPUT-ptcp--dport995-jACCEPT#SecurePOP3
iptables-AINPUT-ptcp--dport143-jACCEPT#IMAP
iptables-AINPUT-ptcp--dport993-jACCEPT#SecureIMAP

加上通用的规则

首先要允许所有从服务器端发起的连接,由此返回的响应数据应该是允许的!比如VPS发起的yumupdate,必须要允许外部的update数据进来

代码如下:


iptables-IINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT

最后,设置缺省的策略:屏蔽任何进入的数据请求,允许所有从Server发出的请求

代码如下:


iptables-POUTPUTACCEPT</p><p>iptables-PINPUTDROP

至此,规则设置完毕

保存设置

首先通过下面的命令查看一下我们的设置是否正确!

代码如下:


iptable-L-n

确认没有问题后,执行下面的命令

代码如下:


serviceiptablessave

执行上述命令后,相应的规则会写入/etc/sysconfig/iptables这个文件,你可以检查一下看看。

最后执行

代码如下:


serviceiptablesrestart.

重新启动iptables防火墙,以使上述设置生效。

最佳的方法:

为了更方便的修改和维护自己的iptables的设置,我一般是把所有的iptables的设置先写到一个单独文件中,测试没有问题后。然后再保存到iptable的配置文件中。

下面是我自己的iptables文件~/script/firewall.sh

代码如下:


#!/bin/bash
#Asimpleiptablesfirewallconfiguration</p><p>PATH=/sbin:/bin:/usr/sbin:/usr/bin;exportPATH</p><p>#flush/eraseoriginalrules
iptables-F#清除所有已制定的rule
iptables-X#清除用户自定义的chain/table
iptables-Z#将所有的chain的计数和流量统计归零</p><p>#Acceptlocalhostconnetting,nomatterwhatitis
iptables-AINPUT-ilo-jACCEPT</p><p>#Acceptanyresponsepackagewhichisinitiatedfrominside
iptables-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT</p><p>#blockmostcommonnetworkattacks(reconpacketsandsyn-floodattack)
iptables-AINPUT-ptcp--tcp-flagsALLNONE-jDROP
iptables-AINPUT-ptcp!--syn-mstate--stateNEW-jDROP
iptables-AINPUT-ptcp--tcp-flagsALLALL-jDROP</p><p>#openportsfordifferentservices
iptables-AINPUT-ptcp--dport22-jACCEPT#SSH
iptables-AINPUT-ptcp--dport80-jACCEPT#HTTP
#iptables-AINPUT-ptcp--dport443-jACCEPT#HTTPS
#iptables-AINPUT-ptcp--dport25-jACCEPT#SMTP
#iptables-AINPUT-ptcp--dport465-jACCEPT#SecureSMTP
#iptables-AINPUT-ptcp--dport110-jACCEPT#POP3
#iptables-AINPUT-ptcp--dport995-jACCEPT#SecurePOP</p><p>#ICMPconfiguration
#TopreventICMPDDOS,wedonotallowICMPtype8(echo-request)orlimitthisrequestwith2/second
#someICMPrequestsareallowed.
icmp_type="0341112141618"
forticmpin$icmp_type
do
iptables-AINPUT-picmp--icmp-type$ticmp-jACCEPT
done
#iptables-AINPUT-picmp--icmp-type8-mlimit--limit1/second-jACCEPT</p><p>#defaultpolicies
iptables-POUTPUTACCEPT
iptables-PINPUTDROP</p><p>#saveto/etc/sysconfig/iptables
/etc/init.d/iptablessave

你可以根据你的需要进行相应的修改。

“linux设置iptables防火墙的详细步骤”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: linux设置iptables防火墙的详细步骤

本文链接: https://www.lsjlt.com/news/260099.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • linux设置iptables防火墙的详细步骤
    本篇内容介绍了“linux设置iptables防火墙的详细步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先简单介绍一下什么是IPTab...
    99+
    2023-06-10
  • linux配置防火墙的详细步骤
    本篇内容介绍了“linux配置防火墙的详细步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!通过iptables我们可以为我们的Linux服...
    99+
    2023-06-13
  • linux防火墙iptables的详细教程
    本篇内容主要讲解“linux防火墙iptables的详细教程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux防火墙iptables的详细教程”吧!1 框架图 -->PREROUTI...
    99+
    2023-06-10
  • Linux中如何设置iptables防火墙
    这篇文章给大家介绍Linux中如何设置iptables防火墙,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。查看防火墙规则:iptables -L -n添加防火墙规则:vi /etc/sysconfig/iptables...
    99+
    2023-06-05
  • linux防火墙配置(基于yum仓的配置)详细步骤
    前言 此实验准备两台虚拟机便于调试,一台CentOs6,一台红帽6 1.首先确保yum仓的配置是否完好(CentOs6)  2.要求在centOs6中安装httpd和mo...
    99+
    2022-11-12
  • linux防火墙配置(基于yum仓的配置)详细步骤
    前言 此实验准备两台虚拟机便于调试,一台CentOs6,一台红帽6 1.首先确保yum仓的配置是否完好(CentOs6) 2.要求在centOs6中安装httpd和mod_ssl软件包 [root@cento211...
    99+
    2022-06-04
    linux防火墙配置方法
  • linux防墙iptables详细介绍、配置方法与案例
    1.1 iptables防火墙简介 Netfilter/Iptables(以下简称Iptables)是unix/linux自带的一款优秀且开放源代码的安全自由的**基于包过滤的防火墙工具**,它的功能十分强大,使用非常灵...
    99+
    2022-06-04
    linux防墙iptables详细介绍 iptables配置方法 iptables配置案例 iptables参数 iptables封IP
  • 阿里云Linux服务器防火墙的详细设置与管理
    阿里云Linux服务器防火墙是阿里云为用户提供的一种安全防护措施,它能够有效阻止恶意攻击者入侵服务器,保护用户的网络安全。本文将详细介绍如何在阿里云Linux服务器上设置防火墙。 防火墙的基本概念与原理 防火墙是一种安全设备,它能够对进出网...
    99+
    2023-11-22
    阿里 防火墙 服务器
  • 防火墙配置【最详细的实验演示】
    目录 拓扑及拓扑分析 进入防火墙前准备工作         1.配置其他区域ip         2.如何进入防火墙 防火墙的安全域         1.防火墙的5个安全域         2.如何自定义安全域         3.接口加入...
    99+
    2023-09-01
    服务器 servlet 安全 网络 linux
  • Linux系统防火墙伪装机制的详细介绍
    本篇内容主要讲解“Linux系统防火墙伪装机制的详细介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统防火墙伪装机制的详细介绍”吧!防火墙可分为几种不同的安全等级。在Linux中,...
    99+
    2023-06-14
  • win7系统中的防火墙设置开机自启的方法与步骤
    系统防火墙是为了抵御木马或病毒入侵一层屏障,需要开机随机启动,才能起到主动防御病毒。那么,怎么设置win7系统防火墙开机自动开启呢? 方法/步骤 1、桌面计算机右击 打开管理。 打开管理 2、找到服务和应用程序 。 ...
    99+
    2023-06-08
    win7 防火墙 开机自启 步骤 系统 方法
  • 如何为Linux系统的服务器设置防火墙
    这篇文章主要介绍“如何为Linux系统的服务器设置防火墙”,在日常操作中,相信很多人在如何为Linux系统的服务器设置防火墙问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何为Linux系统的服务器设置防火墙...
    99+
    2023-06-13
  • linux系统对外开放3306、8080等端口,防火墙设置详解
    我们很多时候在liunx系统上安装了web服务应用后(如tomcat、apache等),需要让其它电脑能访问到该应用,而linux系统(centos、redhat等)的防火墙是默认只对外开放了22端口。  li...
    99+
    2022-06-04
    linux 3306 8080端口 linux防火墙设置 linux3306端口 防火墙开放8080端口
  • 不同版本Linux设置防火墙的方法是什么
    今天就跟大家聊聊有关不同版本Linux设置防火墙的方法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Linux系统中如何设置Linux防火墙呢?在Linux系统中不同版本的防火...
    99+
    2023-06-28
  • Linux防火墙的基本设置和端口开放命令
    本篇内容介绍了“Linux防火墙的基本设置和端口开放命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!关闭防火墙CentOS 7、RedHa...
    99+
    2023-06-16
  • 设置MySQL磁盘IO的详细步骤
    下面一起来了解下设置MySQL磁盘IO的详细步骤,相信大家看完肯定会受益匪浅,文字在精不在多,希望设置MySQL磁盘IO的详细步骤这篇短内容是你想要的。1、RAID卡设置 关闭读cache:RAID卡上的c...
    99+
    2022-10-18
  • Linux防火墙伪装机制抵抗恶意黑客的详细介绍
    防火墙可分为几种不同的安全等级。在linux中,由于有许多不同的防火墙软件可供选择,安全性可低可高,最复杂的软件可提供几乎无法渗透的保护能力。不过,Linux核心本身内建了一种称作”伪装”的简单机...
    99+
    2023-05-29
    linux 防火墙 恶意 抵抗 机制 黑客
  • Linux自带防火墙开启IP白名单的的配置详解
    防火墙配置文件名称/etc/sysconfig/iptablesRed Hat Enterprise Linux Server release 6.0开始默认配置如下[root@DMT-Oracle-server ~]# cat /etc/...
    99+
    2023-06-06
  • 设置redis开机启动的详细步骤
    今天小编给大家分享的是设置redis开机启动的详细步骤,相信很多人都不太了解,为了让大家更加了解redis开机启动的详细步骤,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。redis设置开机启...
    99+
    2022-10-18
  • win7设置鼠标灵敏度的详细步骤
      Win7操作系统是很多用户都非常喜欢的操作系统。而鼠标的灵敏度关系着我们的操作是否流畅,最近就有用户问小编win7如何设置鼠标灵敏度,那么今天小编就来教教大家win7设置鼠标灵敏度怎么操作。下面就让我们一起来看看吧!  win7设置鼠标...
    99+
    2023-07-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作