简介

用于实现服务器(Linux)的访问控制的功能的。
分硬件和软件防火墙。
主要是控制访问的流入和服务器的流出。
通过黑名单和白名单的思想来实现更细粒度的控制,这个一般结合其他的应用来定义策略实现。

概念

黑白名单

可以说防御的思想,主要就是黑白名单的思想!!!!是黑白名单的组合。
黑名单指的是对名单上的ip拒绝提供服务,主要用于拒绝恶意访问和攻击。
白名单指的是对名单上的ip是信任的,不做严格的控制(不限速、不限频率等)。比如说用于测试的时候使用、用于cdn回源下载、第三方防ddos服务的ip等。

服务器类型

不同服务器类型的策略是不一样的。暂时定义几个策略。这个需要根据对服务器的架构职责来划分。

  1. 代理服务器。对外的http服务,一般只开放80端口,同时把请求转发到其他服务器。所以即有外网网卡又有内网网卡。
  2. 业务服务器。不对外提供服务。所以没有外网网卡,只有内网网卡。以最小原则的方式,限制可以通信的端口(具体的每一个开放的端口,都需要明确提供什么服务)。特殊情况是需要外网卡的,比如说调用第三方短信或者邮件服务。
  3. 堡垒机。是日常运维使用的服务器,只对外提供ssh服务。所以即有外网网卡又有内网网卡。

场景

  1. 过滤服务,只开放需要的服务
  2. 控制请求的频率和速度
  3. 对指定ip的访问不控制
  4. 拒绝指定ip的访问

方案

iptables是一个链条,通过对链条规则的操作就可以实现场景的需求。链条是顺序执行的。链条是双向的,包括入和出。限制可以做到网卡级别,不同的网卡限制的规则也是不一样的
例如代理服务器的设置
外网提供服务的防火墙设置思路:

  1. 通过黑名单思想,直接拒绝指定的ip(ip黑名单)访问。
  2. 通过白名单思想,只提供80(端口白名单)端口的访问。
  3. 通过白名单思想,对指定的ip(ip白名单)不设置访问限制。
  4. 限制80端口的访问(频率和流量)。
  5. 拒绝所有服务。

内网提供服务的防火墙设置思路:

  1. 通过白名单思想,直接允许内网的指定端口(具体根据业务,比如数据库、ssh、nfs等)可以访问
  2. 拒绝所有服务。

所以,最重要的是规则设定,以及结合其他的应用实现自动添加黑名单ip。比如说结果nginx分析出恶意ip,然后通过添加到防火墙的黑名单里。

验证方法

这里的验证方法和工具还需要不断的补充

1.通过nmap来验证,端口的开放情况
2.通过ab或者webbench来验证,限制和访问的频率

参考资料

  1. iptables详解
  2. linux下IPTABLES配置详解
  3. netfilter/iptables全攻略
  4. iptables限制同一IP连接数
  5. 使用IPTABLES限制IP上传下载速度,如何用iptables限速?

web安全——防火墙的更多相关文章

  1. [转]Web应用防火墙WAF详解

    通过nginx配置文件抵御攻击 0x00 前言 大家好,我们是OpenCDN团队的Twwy.这次我们来讲讲如何通过简单的配置文件来实现nginx防御攻击的效果. 其实很多时候,各种防攻击的思路我们都明 ...

  2. 技术分享:杂谈如何绕过WAF(Web应用防火墙)(转)

    0×01开场白 这个议题呢,主要是教大家一个思路,而不是把现成准备好的代码放给大家. 可能在大家眼中WAF(Web应用防火墙)就是"不要脸"的代名词.如果没有他,我们的" ...

  3. 飞塔Web应用防火墙-FortiWeb

    飞塔Web应用防火墙-FortiWeb 平台: fortiweb 类型: 虚拟机镜像 软件包: linux basic software Fortinet security SSL offloadin ...

  4. 基于lua-nginx-module(openresty)的WEB应用防火墙

    独乐乐,不如众乐乐,分享给大家一篇WEB应用防火墙的文章,基于Lua+ Nginx实现.以下是ngx_lua_waf的作者全文输出. Github地址:https://github.com/loves ...

  5. 2019年十大开源WEB应用防火墙点评

    2019年十大开源WEB应用防火墙点评 随着WEB应用的爆炸式成长和HTTPS加密的普及,针对网络应用层的攻击,像SQL注入.跨站脚本攻击.参数篡改.应用平台漏洞攻击.拒绝服务攻击等越来越多,传统的防 ...

  6. 阿里云Web应用防火墙采用规则引擎、语义分析和深度学习引擎相结合的方式防护Web攻击

    深度学习引擎最佳实践 {#concept_1113021 .concept} 阿里云Web应用防火墙采用多种Web攻击检测引擎组合的方式为您的网站提供全面防护.Web应用防火墙采用规则引擎.语义分析和 ...

  7. 教你用免费的hihttps开源WEB应用防火墙阻止暴力破解密码

    教你用免费的hihttps开源WEB应用防火墙阻止暴力破解密码 很多企业都有自己的网站,需要用户登录后才能访问,但有大量的黑客攻击软件可以暴力破解网站密码,即使破解不了也非常恶心.有没有免费的解决办法 ...

  8. Web应用防火墙云WAF详细介绍

    Web应用防火墙,或叫Web应用防护系统(也称为:网站应用级入侵防御系统.英文:Web Application Firewall,简称: WAF).利用国际上公认的一种说法:Web应用防火墙是通过执行 ...

  9. 干货 | 利用京东云Web应用防火墙实现Web入侵防护

    摘要 本指南描述如何利用京东云Web应用防火墙(简称WAF),对一个简单的网站(无论运行在京东云.其它公有云或者IDC)进行Web完全防护的全过程.该指南包括如下内容: 准备环境 在京东云上准备Web ...

  10. 利用京东云Web应用防火墙实现Web入侵防护

    摘 要 本指南描述如何利用京东云Web应用防火墙(简称WAF),对一个简单的网站(无论运行在京东云.其它公有云或者IDC)进行Web完全防护的全过程.该指南包括如下内容: 1 准备环境 1.1 在京东 ...

随机推荐

  1. 安装Window Services 提示错误 [SC] OpenSCManager FAILED 5

    通过CMD注册Windows服务 之前一直这样写一直也是注册成功,今天却遇到了问题SC Manager 失败 sc create  RenService binPath=  C:\Tools\Stat ...

  2. BeginInvoke与Invoke的区别

    简单的讲就是 BeginInvoke不需要等待方法运行完毕,就会继续执行下面的代码 Invoke则必须等待Invoke中的代码运行完毕,才会继续执行下面的代码. 可以通过下面的项目测试上面所描述的观点 ...

  3. C# FTP FtpWebRequest UsePassive 属性

    属性值 类型:System::Boolean如果客户端应用程序的数据传输过程侦听数据端口上的连接,则为 false:如果客户端应在数据端口上启动连接,则为 true. 默认值为 true. UsePa ...

  4. 使用 AFNetworking 进行 XML 和 JSON 数据请求

    (1)XML 数据请求 使用 AFNetworking 中的 AFHTTPRequestOperation 和 AFXMLParserResponseSerializer,另外结合第三方框架 XMLD ...

  5. TeamViewer连接Windows8.1系统黑屏解决方案

    TeamViewer用win7连接win8.1 都是64位系统,总是黑屏,可以看到鼠标也联动了,聊天传输文件都没有问题,反向用win8.1连接win7也没问题,而且TeamViewer更新到最新版本了 ...

  6. 回归 从注释开始 appledoc

    好久没有管理这个blog了,些许空虚.不知道今天的回归能否坚持.简单介绍一个第三方注释 -- appledoc appledoc http://gentlebytes.com/appledoc/ 安装 ...

  7. c# 时间戳转换为Datetime类型的时间

    private static DateTime GetConvertTime(long ltime) { DateTime dt_time=new DateTime(1970,1,1,8,0,0,0) ...

  8. 编写高质量JS代码的68个有效方法(十三)

    No.61.不要阻塞I/O事件队列 Tips: 异步API使用回调函数来延缓处理代价高昂的操作以避免阻塞主应用程序 JavaScript并发的接收事件,但会使用一个事件队列按序地处理事件处理程序 在应 ...

  9. Ink – 帮助你快速创建响应式邮件(Email)的框架

    Ink 可以帮助你快速创建响应的 HTML 电子邮件,可工作在任何设备和客户端.这个 CSS 框架帮助您构建可在任何设备上阅读的 HTML 电子邮件.曾经需要你兼顾各种邮件客户端的日子一去不复返了,I ...

  10. E:无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系

    安装terminator等一些软件等时候,遇到了这样等问题 leo@leo:~$ sudo apt-get install terminator [sudo] password for leo: 正在 ...