摘要:保障网络环境的安全,我们得“武装”起来,守住各个入口。怎么“武装”呢?

网络世界就和现实世界一样,总是会有些不怀好意的“人”出现,扫扫你的端口啊,探测探测你的应用情况啊,看看有没有什么漏洞啊,然后趁虚而入......

像不像个小偷,这瞅瞅那瞅瞅,门有没有上锁,窗户有没有关严,看准时机就悄悄潜入了。

所以为了保障网络环境的安全,我们得“武装”起来,守住各个入口。

怎么“武装”呢?

使用iptables就可以做到,您可以根据业务需要设计一套自己的“八卦阵”,每一个报文要进来或者出去都得经过“八卦阵”里的障碍,能经过严格筛选的报文才是“好”报文。

iptables是什么?

iptables是Linux 防火墙工作在用户空间的管理工具,是netfilter/iptablesIP 信息包过滤系统的一部分,用来设置、维护和检查Linux内核的IP数据包过滤规则。它是免费的,可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。

特点:iptables是基于内核的防火墙,功能非常强大;iptables内置了filter,nat,mangle和raw四张表。所有规则配置后,立即生效,不需要重启服务。

iptables组成

iptables的结构是由表(tables)组成,而tables是由链(chains)组成,链又是由具体的规则组成。因此我们在编写iptables规则时,要先指定表,再指定链。tables的作用是区分不同功能的规则,并且存储这些规则。

iptables的四表五链

四个表包括:raw表、mangle表、nat表、filter表。

这四个优先级依次降低,raw不常用,主要功能都在其他三种表里实现。每个表可以设置多个链。

  • mangle:主要用于修改数据包,表内包括五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD
  • nat:不经内核,用于网络地址转换(IP、端口),表内包括三个链:PREROUTING、POSTROUTING、OUTPUT
  • filter:经过本机内核的数据,负责过滤数据包,表内包括三个链:INPUT、FORWARD、OUTPUT

五个链如下:

  • INPUT:输入,过滤所有目标地址是本机的数据包。
  • FORWARD:转发,过滤所有路过本机的数据包。
  • OUTPUT:输出,过滤所有由本机产生的数据包。
  • PREROUTING:路由前,可以在数据包到达防火墙时改变目标地址。
  • POSTROUTING:路由后,在数据包离开防火墙时改变数据包的源地址。

iptables处理数据包的流程

数据包有两种:目的地址是本机内核的数据包和经过本机内核的数据包。

  1. 数据包进入的时候,首先进入PREROUTING链,本机内核根据数据包目的地址判断是否需要转送出去。
  2. 如果数据包是进入本机内核的,就进入INPUT链。数据包到了INPUT链后,按条件过滤限制进入。
  3. 之后进入本机内核,再进入OUTPUT链,按条件过滤限制出去,然后到达POSTROUTING 链输出。
  4. 如果数据包只是经过本机内核,需要转发出去的,且本机内核允许转发,数据包就会进入FORWARD链,按条件过滤限制转发,然后到达POSTROUTING链输出。

iptables命令

iptables [ -t 表名 ] 管理选项 [ 链名 ] [ 条件匹配 ] [ -j 目标动作或跳转 ]

注意:

1.不指定表名时,默认表示filter表。

2.不指定链名时,默认表示该表内所有链,除非设置规则链的缺省策略,否则需要指定匹配条件。

举个例子,比如:需要拒绝IP地址为10.10.10.8的主机访问本机。

iptables -A INPUT -s 10.10.10.8 -j DROP

更多命令详情请参见:iptables命令。

iptables规则都可以在云服务器里自己配置。但是如果云服务器数目非常多,每个都要配置,那就太麻烦了,如何实现同样需求的云服务器配置相同的iptables规则?

安全组?网络ACL?

没错!!!

它们都通过控制Linux iptables来控制进出云服务器或者用户网络的数据包,在不同的位置使用不同的方法来实现不同的目的,可以同时部署网络ACL和安全组实现双重防护。

安全组将具有相同安全保护需求并相互信任的云服务器加入同一个安全组。不同安全组的虚拟机之间的访问以及外网访问虚拟机,都需要通过安全组进行过滤。

网络ACL则作用于子网上,可以在安全组之前隔离外部过来的恶意流量,对进出用户网络的流量进行过滤。

那么,实践一下,为您的弹性云服务器设置一套“八卦阵”吧~

为云服务器配置安全组,请戳安全组简介了解。

控制出入子网的数据流,请戳网络ACL简介了解。

本文分享自华为云社区《【云小课】基础服务第70课 网络知识一箩筐——担心网络基本安全?iptables八卦阵为您守护》,原文作者:云小萌。

点击关注,第一时间了解华为云新鲜技术~

古有诸葛亮八卦阵阻敌,今有 iptables 护网安的更多相关文章

  1. LINUX命令总结 -------来自 水滴娃娃 的CSDN

    LINUX命令总结 标签: LINUX命令总结 2014-01-27 15:54 41039人阅读 评论(1) 收藏 举报  分类: linux(1)  版权声明:本文为博主原创文章,未经博主允许不得 ...

  2. 全部省市县数据库(MySQL脚本) (转)

    /*MySQL - 5.5.47 *************//*!40101 SET NAMES utf8 */; create table `base_area` (    `codeid` me ...

  3. sql-省市区

    insert into Area (codeid,parentid,cityName) values(11,0,'北京');insert into Area (codeid,parentid,city ...

  4. mongodb的安装与简单操作

    MongoDB中文社区:http://www.mongoing.com     数据库的使用场景 SQL(关系型数据库):MySQL.SQLServer  --->磁盘操作 1.高度事务性的场景 ...

  5. Guava cacha 机制及源码分析

    1.ehcahce 什么时候用比较好:2.问题:当有个消息的key不在guava里面的话,如果大量的消息过来,会同时请求数据库吗?还是只有一个请求数据库,其他的等待第一个把数据从DB加载到Guava中 ...

  6. MySQL基础知识(二)-超详细 Linux安装MySQL5.7完整版教程及遇到的坑

    1.简介 我们经常会在Linux上安装MySQL数据库,但是安装的时候总是会这里错,那里错,不顺利,今天整理了一下安装流程,连续安装来了两遍,没有遇到什么大错误,基本上十分钟左右可以搞定,教程如下.写 ...

  7. Python之常用数据类型详解

    tuple 元组 1 # 定义 2 temp = (2, ) # 规范定义,单个元素的元组 3 tem = 2, # 可行,但不规范定义 4 tep = () # 空元组 5 6 tp = (1, ' ...

  8. HDU 1166 敌兵布阵 (树状数组)

    题目链接 : http://acm.hdu.edu.cn/showproblem.php?pid=1166 敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    ...

  9. HDU 1166 敌兵布阵(分块)

    敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  10. HDU 1166 敌兵布阵(线段树单点更新)

    敌兵布阵 单点更新和区间更新还是有一些区别的,应该注意! [题目链接]敌兵布阵 [题目类型]线段树单点更新 &题意: 第一行一个整数T,表示有T组数据. 每组数据第一行一个正整数N(N< ...

随机推荐

  1. 【第一章 web入门】afr_3——模板注入与proc文件夹

    [第一章 web入门]afr_3--模板注入与proc文件夹 题目来源n1book,buu上的环境 看题 url中提供了name参数,类似在路径中进行了文件名查询然后展示: 随便输入一个数字: 说明肯 ...

  2. [ABC208E] Digit Products 题解

    Digit Products 题目大意 求有多少个不大于 \(n\) 的正整数,使得该正整数各位乘积不大于 \(k\). 思路分析 观察数据范围,首先考虑数位 DP. 考虑设计记忆化搜索函数 dfs( ...

  3. jenkins实践篇(1)——基于分支的自动发布

    问题背景 想起初来公司时,我们还是在发布机上直接执行发布脚本来运行和部署服务,并且正式环境和测试环境的脚本都在一起,直接手动操作脚本时存在比较大的风险就是将环境部署错误,并且当时脚本部署逻辑还没有检测 ...

  4. Gson替换掉多漏洞的FastJson

    添加依赖: <!-- gson --> <dependency> <groupId>com.google.code.gson</groupId> < ...

  5. 推理(Inference)与预测(Prediction)

    在机器学习的背景下,很多人似乎混淆了这两个术语.这篇文章将试图澄清我们所说的这两个词是什么意思,每一个词在哪里有用,以及它们是如何应用的.在这里,我将举几个例子来直观地理解两者之间的区别. 推理和预测 ...

  6. 关于区间DP的一点点心得(虽然还是很菜)

    自己今天对于区间 DP 的一个总结 区间 DP 的数组一般是二维,其状态一般表示区间 \((l,r)\). 区间 DP 在思考的时候是有一定套路的,思考时可以按照如下方式进行思考: 这段区间要维护的信 ...

  7. phpmyadmin修改上传限制,phpmyadmin修改上传文件大小限制,docker版本phpmyadmin

    我用的是DOCKER 版本的phpmyadmin 修改/usr/local/etc/php/conf.d/phpmyadmin-misc.ini 内的限制变量文件为 100M,重启docker 容器后 ...

  8. 金蝶对接电商ERP库存数据,实现监听库存变化

    金蝶云星空实时库存专题 通过向金蝶库存单据注册Python脚本,用于实时监听库存单据审核/反审核,并且将数据发送到轻易云系统集成平台 .通过集成平台将数据分发到对应的目标系统. 向金蝶的库存单据注册脚 ...

  9. 【Spring Boot】【外包杯】学习day02 | 快速搭建一个Spring Boot项目

    1.

  10. python的websockets库

    安装 pip install websockets 分为客户端和服务端两部分 服务端一般与异步的库一起用 因为客户端不可能只服务一个客户 所以要用异步处理多个客户 以asyncio示例 from we ...