• Linux 防火墙 REJECT 与 DROP 的区别


    原文链接:https://blog.csdn.net/likunwen_001/article/details/44622355

    Linux防火墙内的策略动作有REJECT和DROP两种,区别如下:

    1、REJECT动作会返回一个拒绝(终止)数据包(TCP FIN或UDP-ICMP-PORT-UNREACHABLE),明确的拒绝对方的连接动作。

    连接马上断开,Client会认为访问的主机不存在。

    REJECT在IPTABLES里面有一些返回参数,参数如下:ICMP port-unreachable、ICMP echo-reply 或是 tcp-reset(这个封包会要求对方关闭联机),进行完此处理动作后,将不再比对其它规则,直接中断过滤程序。

    2、DROP动作只是简单的直接丢弃数据,并不反馈任何回应。需要Client等待超时,Client容易发现自己被防火墙所阻挡。

    至于使用DROP还是REJECT更合适一直未有定论,因为的确二者都有适用的场合:

    1、REJECT是一种更符合规范的处理方式,并且在可控的网络环境中,更易于诊断和调试网络/防火墙所产生的问题;

    2、DROP则提供了更高的防火墙安全性和稍许的效率提高,但是由于DROP不很规范(不很符合TCP连接规范)的处理方式,可能会对你的网络造成一些不可预期或难以诊断的问题。因为DROP虽然单方面的中断了连接,但是并不返回任何拒绝信息,因此连接客户端将被动的等到tcp session超时才能判断连接是否成功,这样在企业内部网络中会有一些问题,例如某些客户端程序或应用需要IDENT协议支持(TCP Port 113, RFC 1413),如果防火墙未经通知的应用了DROP规则的话,所有的同类连接都会失败,并且由于超时时间,将导致难以判断是由于防火墙引起的问题还是网络设备/线路故障。

    注:在部署防火墙时,如果是面向企业内部(或部分可信任网络),那么最好使用更绅士REJECT方法,对于需要经常变更或调试规则的网络也是如此;而对于面向危险的Internet/Extranet的防火墙,则有必要使用更为粗暴但是安全的DROP方法,可以在一定程度上延缓黑客攻击的进度(和难度,至少,DROP可以使他们进行TCP-Connect方式端口扫描时间更长)。

  • 相关阅读:
    Matlab 用sort函数排序 二维数组
    kmer
    Matlab Toolbox for Dimensionality Reduction (v0.7.2 November 2010)
    linux下杀死进程
    ObjectiveC 高级编程:iOS与OS X多线程和内存管理
    Cocos2dx中的场景切换特效以及新版接口特性
    Android SoftAp支持 (一)
    C程序访问hadoop出现的各种编译错误和运行时各种类DefFound异常的解决方法
    Spring PropertyPlaceholderConfigurer 站位
    找出linux磁盘莫名其妙消失的根本原因!
  • 原文地址:https://www.cnblogs.com/wangjq19920210/p/15020815.html
Copyright © 2020-2023  润新知