自动化运维之Iptables安全体系(十二)

598 阅读12分钟

"有多少次我们把真话当玩笑说 又有多少人把我们当笑话看"

以下内容,网络大神可直接跳过,小白的话可以看看了解了解概念及其知识,方便后续的学习

1. 网络安全的认知

黑客通过基于网络的入侵来达到窃取敏感信息的目的,也有人以基于网络的攻击见长,被人收买通过网络来攻击商业竞争对手企业,造成网络企业无法正常营运,网络安全就是为了防范这种信息盗窃和商业竞争攻击所采取的措施。

网络安全是一种保护计算机、服务器、移动设备、电子系统、网络和数据免受恶意攻击的技术,这种技术也称为信息技术安全或电子信息安全。该术语适用于从业务到移动计算的各种环境,可以分为几个常见类别。

  • 网络安全是一种保护计算机网络免受入侵者(无论是定向攻击还是条件恶意软件)攻击的技术。
  • 应用程序安全侧重于保护软件和设备免受威胁。受到侵害的应用程序可能会对其旨在保护的数据提供访问权限。并且,早在应用程序设计阶段而非部署程序或设备之前,就决定了此应用程序能否成功保障安全。
  • 信息安全设计用于在存储和传输过程中保护数据的完整和私密。
  • 运营安全包括处理和保护数据资产的过程和决策。用户在访问网络时所具有的权限与确定存储/共享数据的时间和位置的步骤均包含在此保护伞下。
  • 灾难恢复和业务连续性定义了组织如何应对网络安全事件或任何其它导致运营/数据损失的事件。灾难恢复策略规定了组织如何恢复其运营和信息,以恢复到事件发生之前的等同运营能力。业务连续性指组织在没有某些资源的情况下尝试运营时所依靠的计划。
  • 最终用户教育解决了最不可预测的网络安全因素:人。任何人都可能因未遵循良好的安全实践而意外将病毒引入到其他安全系统中。因此,教会用户删除可疑电子邮件附件、不要插入未识别的 USB 驱动器,以及其他各种重要的课程对于所有组织的安全都至关重要。

2. 安全现状

进入到互联网行业了,我们学习各种各样的新技术,做出来多姿多彩的产品,为用户带来不同凡响的体验,而且采取层层的管理措施、技术手段,其实就是为了一个目的 -- 网站稳定。但是互联网行业却是一个安全事故频发的行业,而且层出不穷的事情,只有你想不到的,没有它发生不了的。

  • 安全案例

1 2012.10 Google的项目软件升级失败,导致全球Gmail业务中断18分钟。

2 2014.06 Facebook项目软件配置更新,导致软件中断31分钟。

3 2014.12 Dropbox对底层操作系统升级,导致公司项目中断3小时。

4 2017.02 gitlab公司数据库更新操作失误,导致产品中断18小时,数据丢失6小时。

5 2017.06 苹果公司业务更新操作失误,导致业务中断36+小时。

6 2018.07 腾讯云业务维护操作失误,导致业务中断数小时,部分数据完全丢失。

7 2018.01 kubernetes公司某项目更新失误,导致中断19小时。

8 2018.08 新三板挂牌公司涉窃取30亿条个人信息,非法操控公众账号加粉或关注

9 2018.X Facebook连续三次发生数据泄露事件,影响范围8700万、3000万、6800万人数

10 2019.02 TLS 1.2版本出现安全漏洞,影响3000家网站正常运营。

威胁:

电脑犯罪
计算机安全隐患
窃听
恶意软件
间谍软件
勒索软体
特洛伊木马
计算机病毒
电脑蠕虫
Rootkit
键盘记录
屏幕抓取
漏洞利用
软体后门
逻辑炸弹
负载
阻断服务攻击

各种各样,不同层次、不同深度的安全事件,有条不紊的出现在世界的各个角落。

  • 项目现状

    • 对于一个网站项目或者一个企业的发展来说,在项目的发展初期,为了快速的回笼资金,一般采取加快研发进度,提高上线效率、加强广告营销等方式,迅速的做大做广。由于安全方面术语投入大、见效慢的"维稳手段",所以在项目前期一般都不会关注安全,毕竟"光脚不怕穿鞋"。

    • 随着互联网项目越做越大,影响力越来越大,产生的用户数据越来越多,尤其是对一个大型项目,数据就是"王",项目的一切、外部的关系、公司的未来等一切都体现在数据中,这个时候,领导层开始有人关注"命根子",所以开始采取各种各样的措施,保证公司持久的运行下去。所以,安全是"越久越吃香"。

    • 其实,安全并不是一个工具,一个技术,而是一系列的网站维稳的方案措施。它存在一个网站项目的各个方面,从底层的基础硬件,到上层的项目运营维护,都容纳了各种各样的安全措施。

3. 安全架构体系

  • 底层硬件

    采购质量合格的物理设备

  • 基础设施

    所有的物理主机部署好操作系统后,为了更充分的利用主机的资源,我们需要完备的网络通信机制,合理的网站拓扑效果,可以满足数据的通信需求。这部分的内容就涉及到通信设备的采购和系统中基础软件尤其是网络软件的配置。

  • 应用环境

    应用环境的安全,主要体现在我们对应用软件的理解和业务对应用软件的配置要求。

  • 业务环境

    产品团队、开发团队、测试团队、运维团队的协作交流,将软件项目进行不同程度的拆解,有合适的人去做对应的事情,保质保量的完成工作任务。比如说产品团队负责项目的目标和方向、开发团队负责功能代码实现质量、测试团队负责项目功能质量、运维团队负责项目的部署发布质量等

  • 运营维护

    通过当前的业务状态数据,合理的分析项目的质量,通过自测或者故障演练等方式来保证项目的正常运行安全。采取合理的项目研发模型及团队沟通机制,来保证项目在功能迭代方面的稳定安全。

4. 安全防范

  • 基础设施

    系统安装、软件安装、系统优化、网络配置等

  • 应用环境

    软件安装、防火墙、安全插件、软件集成等

  • 业务环境

    代码研发、代码管理、配置管理、测试管理、持续集成、持续发布等

  • 运营维护

    监控方案、数据分析方案、开发模型、风险评估等

防御方式:

电脑存取控制

应用程式安全

杀毒软件

程式编写安全

设计安全

作业系统安全

身份验证

多重要素验证

授权

资料安全

加密

防火墙

入侵检测系统

安全行动闸道

应用程式执行期保护

5. 防火墙

  • 概念

    在计算机科学领域中是一个架设在互联网与企业内网之间的信息安全系统,根据企业预定的策略来监控往来的传输。防火墙可能是一台专属的网络设备或是运行于主机上来检查各个网络接口上的网络传输。它是目前最重要的一种网络防护设备,从专业角度来说,防火墙是位于两个(或多个)网络间,实行网络间访问或控制的一组组件集合之硬件或软件。

    防火墙最基本的功能就是隔离网络,通过将网络划分成不同的区域(通常情况下称为ZONE),制定出不同区域之间的访问控制策略来控制不同信任程度区域间传送的数据流。例如互联网是不可信任的区域,而内部网络是高度信任的区域。以避免安全策略中禁止的一些通信。它有控制信息基本的任务在不同信任的区域。

  • 防火墙类型

    • 网络层防火墙
      • 运作于TCP/IP协议堆栈上。管理者会先根据企业/组织的策略预先设置好数据包通过的规则或采用内置规则,只允许符合规则的数据包通过。

        一般而言,由于来源IP不易阻挡,通常借由阻挡非80/443的端口,以阻挡来自非80/443的端口的不需要的流量。

    • 应用层防火墙
      • 应用层防火墙是在TCP/IP堆栈的“应用层”上运作,使用浏览器时所产生的数据流或是使用 FTP 时的数据流都是属于这一层。应用层防火墙可以拦截进出某应用程序的所有数据包,并且屏蔽其他的数据包(通常是直接将数据包丢弃)。理论上,这一类的防火墙可以完全阻绝外部的数据流进受保护的机器里。

        防火墙借由监测所有的数据包并找出不符规则的内容,可以防范电脑蠕虫或是木马程序的快速蔓延。实际上,这个方法繁复(因软件种类极多),所以大部分防火墙都不会考虑以这种方法设计。

    • 同时运作于网络层和应用层防火墙(代理服务)。
      • 代理(Proxy)服务器(可以是一台专属的网络设备,或是在一般电脑上的一套软件)采用应用程序的运作方式,回应其所收到的数据包(例:连线要求)来实现防火墙的功能,而屏蔽/抛弃其他数据包。

        代理服务器用来连接一个网络(例:互联网)到另一个特定子网(例:企业内网)的转送者。

        代理会使从外部网络窜改一个内部系统更加困难,且只要对于代理有良好的设置,即使内部系统出现问题也不一定会造成安全上的漏洞。相反地,入侵者也许劫持一个公开可及的系统和使用它作为代理人为他们自己的目的;代理人伪装作为那个系统对其它内部机器。当对内部地址空间的用途增加安全,破坏者也许仍然使用方法譬如IP欺骗(IP spoofing)试图通过数据包对目标网络。

  • 防火墙功能

    • 分层管控
    防火墙本质上就是通过对网络传输的数据进行特定的管理操作,才能实现数据信息传输的安全管控,
    根据我们对数据传输的理解,防护墙可以在数据链路层、网络层、传输层、应用层进行响应的管控操作
    
    数据链路层
    数据链路层的数据包内容也就是mac地址了,这层的防火墙动作就是,将用户的主机mac地址记录到防火墙的规则列表中,限制某些特定主机无法进行正常的网络通信。
    由于MAc地址适用的范围太小,所以该方法的作用范围有些小,而且很复杂(因为mac地址太不好记了)
    
    网络层
    网络层的数据包报文信息也就是IP报头了,我们可以基于源IP、目标IP来指定防火墙的规则。比如说允许来自1.1.1.1或者1.1.1.0/24范围的主机允许过来,或者允许目标地址是2.2.2.2或者2.2.2.0/24范围的主机出去等。
    数据包中的IP首部信息非常多,我们经常用的也就是这么几个:
    Source IP Address
    Destination IP Address
    Protocol等
     
    
    传输层
    传输层的数据包报文信息也就是端口了,我们可以基于源Port、目标Port来指定防火墙的规则。比如说允许来自80端口或者80~90端口范围的主机允许过来,或者允许目标地址是80或者80~90范围的主机出去等。
    数据包中的传输层首部信息非常多,我们经常用的也就是这么几个:
    Source Port
    Destination Port等
     
    
    应用层
    应用层的数据包报文信息也就是具体数据了,我们可以基于数据内容的某些关键字来指定防火墙的规则。比如说允许来某时间段接受其他主机发送过来的信息,或者允许包含什么内容信息的数据可以发送出去等。
    
    
    
    • 数据包过滤

      防火墙可以在各个层次来实现数据包的管控操作,其实目前使用频率最高也最高效的,还是采用数据包过滤的方式,也就是集中在网络层和传输层的措施。

                             _____           _    _____   _
                          / ____|         (_)  / ____| | |
                         | |        __ _   _  | |      | |__     ___   _ __
                         | |       / _` | | | | |      | '_ \   / _ \ | '_ \
                         | |____  | (_| | | | | |____  | | | | |  __/ | | | |
                          \_____|  \__,_| |_|  \_____| |_| |_|  \___| |_| |_|
      

好了各位,以上就是这篇文章的全部内容了,能看到这里人啊,都是人才。

如果这个文章写得还不错,觉得「王采臣」我有点东西的话 求点赞👍求关注❤️求分享👥 对耿男我来说真的非常有用!!!

白嫖不好,创作不易,各位的支持和认可,就是我创作的最大动力,我们下篇文章见!

王采臣 | 文 【原创】 如果本篇博客有任何错误,请批评指教,不胜感激 !微信公众号: