一、关于iptables

定义:常见于linux系统下的应用层防火墙工具

二、Iptables规则原理和组成

1) Netfilter

Netfilter是Linux操作系统核心层内部的一个数据包处理模块

2) Hook point

数据包在Netfilter中的挂载点。五个挂载点(PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING)

3) Netfilter与iptables

4) iptables规则组成

1、 组成部分:四张表+五条链(Hook point)+规则

四张表:filter表、nat表、mangle表、raw表

五条链:INPUT、OUTPUT、FORWARD、PRE_ROUTING、POST_ROUTING

raw表:数据包状态的跟踪和分析(iptables1.2.9版本之后)

mangle表:需要对应交换机的一些支持,修改数据包,改变包头中内容(TTL,

TOS,MARK)

                 filter表:访问控制、规则匹配

                 nat表:地址转发

2、 数据包在规则表、链匹配流程

#数据包通过每一条链时,有机会调用函数来进行数据包规则的更改和访问的控制。

#数据包在进来时,通过路由的选择(Destination),如果是传给本机的,走INPUT到localhost;如果不是本机的,就走FORWARD

3、 iptables规则组成

数据包访问控制:ACCEPT(接收允许通过)、DROP(丢弃,无消息返回客户端)、

REJECT(拒绝,有对应消息返回)

数据包改写:SNAT(对原地址即发起端ip数据包地址改写)、DNAT(对目标

                   地址进行改写)

信息纪录:LOG

组成部分:四张表+五条链(Hook point)+规则

iptables

table

command

chain

Parameter&Xmatch

target

-t filter

  nat

-A

-D

-L

-F

-P

-I

-R

-n

INPUT

FORWARD

OUTPUT

PREROUTING

POSYROUTING

-p tcp

-s (发起源IP)

-d (目标地址)

--sport(源端口)

--dport(目标端口)

--dports(端口断)

-m tcp

   state

   multiport

-j ACCEPT

DROP

REJECT

DNAT

SNAT

说明:

-A  添加一条规则(添加到末尾)

-D  删除一条规则

-L  以列表方式显示

-F  flush, 清空规则链

-P  policy,设置默认策略,对filter表来讲,默认规则为accept或DROP

-I   插入一条规则(默认排列到第一行)

-R  修改一条规则

-n  数字格式显示主机地址和端口

三、Iptables实践场景

1) iptables配置-场景一

规则1、对所有的地址开放本机的tcp(80、22、10-21)端口的访问

规则2、允许对所有的地址开放本机的基于ICMP协议的数据包访问

规则3、其他未被允许的端口则禁止访问

思路:先清空之前所有的规则,然后设置白名单方式,允许哪些端口访问,然后允

许哪些协议访问,其他未被允许的端口则被拒绝或者禁止访问

注意:以上设置会导致以下问题

        ①本机无法访问本机

        ②本机无法访问其他主机

2) iptables配置-场景二

3) iptables配置-场景三

四、Iptables中NAT模式设置

五、Iptables防攻击及企业场景应用

六、

Linux之安全应用的更多相关文章

  1. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  2. Linux 内核概述 - Linux Kernel

    Linux 内核学习笔记整理. Unix unix 已有40历史,但计算机科学家仍认为其是现存操作系统中最大和最优秀的系统,它已成为一种传奇的存在,历经时间的考验却依然声名不坠. 1973 年,在用 ...

  3. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  4. NodeJs在Linux下使用的各种问题

    环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linu ...

  5. [linux]阿里云主机的免登陆安全SSH配置与思考

    公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...

  6. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  7. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

  8. SQL Server on Linux 理由浅析

    SQL Server on Linux 理由浅析 今天的爆炸性新闻<SQL Server on Linux>基本上在各大科技媒体上刷屏了 大家看到这个新闻都觉得非常震精,而美股,今天微软开 ...

  9. Microsoft Loves Linux

    微软新任CEO纳德拉提出的“Microsoft Loves Linux”,并且微软宣布.NET框架的开源,近期Microsoft不但宣布了Linux平台的SQL Server,还宣布了Microsof ...

  10. Linux 江湖系列阶段性总结

    引言 我使用 Linux 已经有很多年了,最开始接触 Linux 的时候是从 RedHat 9(没有 Enterprise),中途换过 N 个不同的发行版.多年前,我在 BlogJava 上面分享 J ...

随机推荐

  1. vuex学习笔记

    一.vuex的目的 把组件的共享状态抽取出来,以一个全局单例模式管理.在这种模式下,组件树构成了一个巨大的视图,不管在树的哪个位置,任何组件都能获取状态或触发行为. 二.vuex集中式管理数据 安装 ...

  2. Windows Server 2016-Powershell迁移FSMO角色

    上一章节我们讲到了通过Ntdsutil命令行进行FSMO角色迁移,本章开始之前我们先讨论一下有关FSMO角色放置建议: 建议将架构主机角色(Schema Master)和域命名主机角色(Domain ...

  3. 【翻译】CSS Animations VS the Web Animations API:案例学习

    原文地址:CSS Animations vs the Web Animations API: A Case Study May 03, 2017 css, javascript 上周我写了我如何使用C ...

  4. LeetCode - 654. Maximum Binary Tree

    Given an integer array with no duplicates. A maximum tree building on this array is defined as follo ...

  5. Vue.js依赖收集

    写在前面 因为对Vue.js很感兴趣,而且平时工作的技术栈也是Vue.js,这几个月花了些时间研究学习了一下Vue.js源码,并做了总结与输出.文章的原地址:https://github.com/an ...

  6. Python学习/复习神器-->各种方法/技巧在哪用和典型例子(一)

    就我个人在学习Python的过程中,经常会出现学习了新方法后,如果隔上几天不用,就忘了的情况,或者刚学习的更好的方法没有得到应用,还是沿用已有的方法,这样很不利于学习和掌握新姿势,从而拉长学习时间,增 ...

  7. 通过实例介绍Android App自动化测试框架--Unittest

    1.为什么需要使用框架实现自动化测试 作为测试工程师,可能在代码能力上相比开发工程师要弱一点,所以我们在写脚本的时候就会相对容易的碰到更多的问题,如果有一个成熟的框架供给我们使用的话,可以帮助我们避免 ...

  8. BUNOJ 1011

    字符串处理的题.原题链接 AC代码: #include<cstring> #include<cstdio> #include<string> #include< ...

  9. 傅里叶变换 - Fourier Transform

    傅里叶级数 傅里叶在他的专著<热的解析理论>中提出,任何一个周期函数都可以表示为若干个正弦函数的和,即: \[f(t)=a_0+\sum_{n=1}^{\infty}(a_ncos(n\o ...

  10. Luogu P1596 [USACO10OCT]湖计数Lake Counting

    题目描述 Due to recent rains, water has pooled in various places in Farmer John's field, which is repres ...