• iptables防火墙以及网络协议基本原理


    一、 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:报文经过路由被转发出去,允许manglenat(源地址转换,把原始地址转换为转发主机出口网卡地址)

    四表: 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. 扩展检测机制:

    1time(根据时间),

    2)应用层协议(如qq

    3string 敏感字符

    4state(connection-tracking) 连接追踪

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

    1 DROP 默默的丢弃

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

    3 ACCEPT:接受

    4 SNAT 源地址转换

    5 DNAT:目标地址转换

    6 REDIRECT 端口映射

    7 LOG:日志

    8 RETURN 返回

     






  • 相关阅读:
    由asp的一个错误,看语言的不同:asp & java
    chrome 显示图片遇到的问题,与 淘宝图片服务器 缓存 有关系
    asp 调用 vb(activex dll) ,参数传递(传引用)需要注意
    asp <----> vb(com,dll) <---> c 来回的调用,生命在于折腾
    HTTP/1.1 100 Continue
    java 线程栈 & java.lang.StackOverflowError
    硬盘分区的意义
    硬盘性能 & 文件碎片的一些思考
    Java并发——ReentrantLock类源码阅读
    使用Windows的NAT功能
  • 原文地址:https://www.cnblogs.com/sanyuanempire/p/6168916.html
Copyright © 2020-2023  润新知