一、 Linux 网络安全模型

1. 防火墙: 工作在主机或者网络边缘,对进出报文使用实现定义的规则进行检测,并且由匹配的规则进行处理的一组硬件或者软件。也可能两者结合。

1) 通常使用的防火墙设备

硬件防火墙:专门的一台防火墙硬件设备,工作在整个网络入口处。

软件防火墙:工作在主机中TCP/IP协议站上面的软件(工作在内核中)。

2) 防火墙工作位置

网络层:工作在网络层,类似路由器,主要拆除物理层和链路层协议,检测IP/TCP/UDP/ICMP网络层协和传输层协议首部,来进行规则定制

应用层:工作在应用层,拆除网络层和传输层首部,查看应用层内容。

2. IDSIntrusion-detection system 入侵检测系统

HIDS(主机入侵检测系统):OSSEC

NISC(网络入侵检测系统):snort(可以作为网络嗅探器)

Filesystem: 文件系统级别检测入侵检测

3. IPS(入侵防御系统): IDS + Firewall两者联动
4. honeypot蜜罐系统,用于诱捕黑客,获取证据。

5. 系统安全漏洞漏洞扫描工具,进行系统安全评估:Nessus, nmap 等

6. rootkit直接在系统层植入后门,将无法防护,只能重新安装系统 。

二、 iptables工作机制

1. iptables/netfilter网络层防火墙,可以链接追踪状态(状态检测), 是一个规则编写工具。规则通过内核中netfilter框架产生作用。

2. 设置iptables防护的五个位置(hook_function
位置)以及允许规则(五链四表):

1) PREROUTING: 主机外报文进入位置,允许的表mangle, nat(目标地址转换,把本机地址转换为真正的目标机地址,通常指响应报文)

2) INPUT:报文进入本机用户空间位置,允许的表filter, mangle

3) OUTPUT:报文从本机用户空间出去的位置,允许filter, mangle, nat

4) FOWARD:报文经过路由并且发觉不是本机决定转发但还不知道从哪个网卡出去,允许filter,
mangle

5) POSTROUTING:报文经过路由被转发出去,允许mangle,nat(源地址转换,把原始地址转换为转发主机出口网卡地址)

四表: filter, nat , mangle, raw

五链:PREROUNTING, INPUT, FORWARD, OUTPUT, POSTROUTING

3. 表与链的对应关系

1) filter: INPUT, FORWARD, OUTPUT

2) nat: PREROUTING, OUTPUT, POSTROUTING

3) mangle: PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING

4) raw:

4. 规则:匹配到后的处理机制

1) 通: 默认为堵, 只对规则匹配到的进行开放

2) 堵: 默认为同, 只对规则匹配到的堵

5. 网络层和传输层协议检查内容

1) IP:

SIP: 源IP

DIP: 目标IP

2) TCP:

SPORT: 源端口

DPORT:目标端口

Flags:标识位

3) ICMP: ICMP-TYPE (ping 命令)

6. 关于TCP协议标识位以及有限状态机图解

TCP协议通信时,伴随着标识位的相互传输,以及在各个状态之间的转换。这些标识位将成为规则检测的内容。

7. 扩展检测机制:

1)time(根据时间),

2)应用层协议(如qq)

3)string 敏感字符

4)state(connection-tracking) 连接追踪

8. 匹配到的报文处理机制:

1) DROP: 默默的丢弃

2) REJECT:拒绝,不建议使用,容易拉仇恨

3) ACCEPT:接受

4) SNAT: 源地址转换

5) DNAT:目标地址转换

6) REDIRECT: 端口映射

7) LOG:日志

8) RETURN: 返回

iptables防火墙以及网络协议基本原理的更多相关文章

  1. iptables (一) 主机防火墙和网络防火墙

    Firewall : 防火墙,隔离工具:工作于主机或网络的边缘,对于进出本主机或网络的报文根据事先定义好的检测规则作匹配,对于能够被规则所匹配到的报文做出相应处理的组件:有主机防火墙和网络防火墙 Ip ...

  2. Netfilter/iptables防火墙

    http://os.51cto.com/art/201107/273443.htm [51CTO独家特稿]Linux系统管理员们都接触过Netfilter/iptables,这是Linux系统自带的免 ...

  3. Linux iptables 防火墙

    内容摘要 防火墙 防火墙定义 防火墙分类 netfilter/iptables netfilter 设计架构 iptables 简述 iptables 命令详解 命令语法 table 参数 comma ...

  4. 编译内核实现iptables防火墙layer7应用层过滤 (三)

    在前面的两篇文章中我们主要讲解了Linux防火墙iptables的原理及配置规则,想博友们也都知道iptables防火墙是工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙.以 ...

  5. 20条IPTables防火墙规则用法!

    导读 管理网络流量是系统管理员必需处理的最棘手工作之一,我们必需规定连接系统的用户满足防火墙的传入和传出要求,以最大限度保证系统免受攻击.很多用户把 Linux 中的 IPTables 当成一个防火墙 ...

  6. Iptables防火墙规则使用梳理

    iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤.封包重定向和网络地址转换(NAT)等功能 ...

  7. Iptables防火墙规则使用

    iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤.封包重定向和网络地址转换(NAT)等功能 ...

  8. centos6.5下系统编译定制iptables防火墙扩展layer7应用层访问控制功能及应用限制QQ2016上网

    iptables防火墙扩展之layer7应用层访问控制 概述: iptables防火墙是工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙.以基于网络层的数据包过滤机制为主,同 ...

  9. CentOS 7中firewall防火墙详解和配置以及切换为iptables防火墙

    官方文档介绍地址: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Gui ...

随机推荐

  1. C++友元函数和运算符重载

    非成员友元函数.成员友元函数和友元类 1.友元的作用: (1)友元提供了不同类的成员函数之间.类的成员函数与一般函数之间进行了数据共享的机制: 2.友元的优点和缺点 优点:提高程序的运行效率: 缺点: ...

  2. 左右分栏页面右侧无法出现滚动条bug

    问题记录 项目比较老了,左右分栏的页面,导航栏右边是一个iframe组成的页面,通过某个操作后,页面右侧内容区域无法实现滚动 问题查明 遇见过好几次,最后查明,总结一句话,修改了右侧页面body的ov ...

  3. 使用iframe引入公共模块

    新建一个公共文件head.html <!DOCTYPE html><html lang="en"><head> <meta charset ...

  4. Windows 命令收集

    定时关机命令:schtasks /create /tn "关机" /tr "shutdown /s" /sc once /st 23:55

  5. 第一章:systemverilog简介

    1.为何要学systemverilog ..... 2.systemverilog起源 ..... 3.systemverilog标准历程 systemverilog3.0 for 综合 system ...

  6. java.sql.SQLException: Data truncated for column 'lastSeason' at row 1

    在使用项目将数据存储到 datetime 的字段 ,抛出了这个异常 而我是使用Java.util.Date 存储过去的 解决代码如下: Date date = new Date(); demo.set ...

  7. GitLab 安装和配置

    一.GitLab 简介 GitLab 是一个利用Ruby on Rails 开发的开源版本控制系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. 它拥有与GitHub类 ...

  8. Spring☞WebApplicationContext的继承关系

    spring mvc里的root/child WebApplicationContext的继承关系 在传统的spring mvc程序里会有两个WebApplicationContext,一个是pare ...

  9. pycharm配置git--图文教程

    1.     下载git客户端 2.     File->Default Setting-> Version Control->Git 3.     Path to Git exec ...

  10. 遇到的Ajax相关问题