热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

浅谈企业网络安全边界

前言企业网络安全关键在找准安全边界(攻击点):边界的左边是攻击者(脚本小子、骇客、APT攻击),边界的右边是网络资产、信息资产。企业网络安全建设则在安全边界处设防,尽可能做到安全边

前言

企业网络安全关键在找准安全边界(攻击点):边界的左边是攻击者(脚本小子、骇客、APT攻击),边界的右边是网络资产、信息资产。企业网络安全建设则在安全边界处设防,尽可能做到安全边界不被攻破。

然而随着业务增多、技术演变、模式调整等因素,安全边界越来越多,也越来越模糊。但我们仍然要梳理出企业网络所有的安全边界,并全部加以防护,毕竟网络安全遵循短板效应,挂一漏万。

本文结合自身多年乙方安全和甲方安全的经验,尽量梳理出全的、实用的企业网络安全边界,与大家交流。

1、简单的企业网络架构

如下用于发现安全边界的企业网络架构demo图

《浅谈企业网络安全边界》

最新图:https://www.processon.com/view/link/5ba1a731e4b0534c9be1e716

2、发现网络安全边界

从“大安全”的角度,企业网络安全分被攻击和“被”发起攻击,所以企业既要保证自身网络安全,还要保证不被利用起来攻击其他企业网络

本文概括了以下网络安全边界(攻击点)

2.1、DNS服务

①没有托管DNS解析服务,自搭的DNS服务解析内外网域名,注意内外网区分

②DNS服务软件漏洞

②DNS被用来放大攻击他人网络

dns服务最佳实践:https://www.infosecurityeurope.com/__novadocuments/462044?v=636579389924330000

2.2、CDN服务

①CDN的DNS服务失效,导致自己业务无法访问

②CDN回原流量(cdn请求业务服务器)未加密,被嗅探

③CDN边缘服务器存在漏洞,泄露内存数据https://en.wikipedia.org/wiki/Cloudbleed

④同一CDN服务器的其他公司业务存在漏洞(边缘节点不隔离)

cdn工作方式有需要ssl key进行解密和边缘服务器路由(返回最优源服务器地址)两种方式,显然后者更安全

cdn安全:https://www.teridion.com/blog/cdns-safe-cdn-security/

《浅谈企业网络安全边界》

 

2.3、业务服务器

①采用多网关负载均衡 防止DDOS攻击、CC攻击

②网关/防火墙采用最少端口原则,仅允许入方向的80、443端口,不允许出方向的流量,防止外带泄露数据

③对提供web服务进行安全评估,全站https

(大部分企业对外业务为web形式)

2.4、云托管服务器

云服务器提供了类似防火墙的功能,但云服务器内部网络隔离安全仍需验证。

2.5、邮件服务

伪造发件人攻击

以前的邮局递信都是在各邮局分部放置一个邮筒,只要贴上邮票任何人都能以任何身份向任何人寄信

互联网邮件服务分为寄信服务和收信服务。下面是邮件发送接收过程简述

1、用户A使用密码登录163邮箱后,撰写邮件发送到好友B的qq邮箱;

2、163邮箱服务器的寄信服务将邮件递送到qq邮箱服务器,此过程不需要提供密码

3、用户B登录qq邮箱后,通过qq邮箱收信服务,收到来自A的邮件

其实互联网邮件与邮局递信流程上并未改变,只是163邮箱,qq邮箱等代替了邮局分部,都存在身份认证的问题。

比如恶意用户C,伪造邮件递送到qq邮箱服务器发送给用户B,且声称自己是用户A,此过程是可行的,只需要找到QQ邮箱的SMTP服务器地址即可

有两类伪造情况:伪造发件人ceo@qq.com,发邮件到hr@qq.com;另一种是伪造ceo@qq.com发邮件到cfo@163.com。都存在社工攻击场景

配置DNS的SPF(宣称本域发件服务器的ip地址),DKIM(宣称本域公钥)策略,接收域进行验证

检测spf脚本

#coding:utf8
import logging
import subprocess
import sys
def execShell(cmd, t=120):
'''
功能:前台运行shell命令,阻塞
参数:shell命令
返回:成功返回{'d': DATA},失败返回{'e': DATA}
#不同手机执行成功/失败返回值不一致,可使用'ssss' in str(ret)方式判断
'''
ret = {}
try:
if sys.version_info.major == 3 and sys.version_info.minor <6:
p = subprocess.run(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, shell=True, timeout=t)
if p.returncode == 0:
ret['d'] = p.stdout.decode('utf-8')
else:
ret['e'] = p.stderr.decode('utf-8')
else:
p = subprocess.run(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, shell=True, encoding='utf-8', timeout=t)
if p.returncode == 0:
ret['d'] = p.stdout
else:
ret['e'] = p.stderr except subprocess.TimeoutExpired:
ret['e'] = 'timeout'
except Exception as e:
logging.error('subprocess '+str(e))
return ret
def getMiDomain():
return '''
xiaomi.hk
xiaomi.tw
mifile.cn
mipay.com
xiaomiyoupin.com
'''.split('\n')

if __name__ == '__main__':

for d in getMiDomain():
d = d.strip()
if not d:
continue
out = execShell('nslookup -type=txt '+d +' 119.29.29.29')
if out.get('d') and 'v=spf' not in out.get('d'):
print('==='+d)
elif not out.get('d'):
print(d+' '+out.get('e'))

②携带恶意附件,客户端防毒,邮件网关杀毒

③密码爆破,邮件中包含服务器信息、架构信息、商务信息

④邮件客户端漏洞:foxmail,outlook,web方式,企业邮箱

2.6、访客WiFi

①设置WAP2密码,禁止访问内部网络

②保护WiFi物理安全,保证不被重置密码,更新固件等

③限制WiFi强度,不需要扩散很远

④检测伪造的相同SSID的WiFi,防范钓鱼

⑤禁止私搭WiFi接入点

2.7、VPN

①账号及权限设置,不同权限访问不同的内部网络

②证书方式登陆,防止爆破

③VPN软件安全

2.8、办公网络访问业务服务器

办公网络不是所有人都可以操作业务服务器,所以使用堡垒机进行账号认证,且对账号设置不同权限。

业务服务器一般不需要访问办公网络,否则需要做相应访问控制

2.9、办公网络VLAN分区

办公网的交换机应部署VLAN,各部门在各自vlan中,打印机归于各自vlan。(财务、HR等部门涉及的数据更为敏感)。

分区也能有效应对攻击者的后渗透阶段

2.10、办公网络IDS/IPS

攻击者渗透办公网络被后会发动内网攻击,比如端口扫描、arp欺骗、dns欺骗、密码嗅探等。应在内外部署入侵检测及防护系统(IDS/IPS),及时发现内网攻击。(内部员工也可能是攻击者)

2.11、办公网络服务器

办公网会有OA系统,内部共享,测试站、预发布站,项目管理系统,文档系统,内部论坛等供办公使用的系统,这些系统存储了员工资料、项目资料等受保护信息。而且相比员工PC机会稳定许多,且会长久开机,对于攻击者来说是很好的落脚点

攻击者通过员工终端,WiFi等进入到企业办公内网后,一般会继续攻击办公服务器当作落脚点方便后续渗透

2.12、办公网络IoT

办公区的联网饮水机,监控摄像头、打卡机都是小的pc系统,也会被攻击者当作落脚点

2.13、办公网络手机、笔记本访问BYOD

员工手机、自带笔记本可能携带恶意软件,会对内部网络进行攻击。需要对BYOD设备进行强制安装杀毒软件、终端管理软件(MDM)或网络隔离

2.14、办公网络PC软件安装、U盘

域控发布域策略限制员工随意安装软件,禁止插入U盘,禁止进BIOS设置。避免由员工引入恶意攻击软件

域控定期检测员工PC机上是否有恶意攻击软件(挖矿软件等)

2.15、办公网络上网行为管理

禁用部分协议,阻止员工上传代码到GitHub,x云盘等

(GitHub泄露密码后应删除项目,而不是删除密码,因为为残留在history中)

禁止办公网络访问论坛,小说网等

对员工访问行为有所记录,在内部网络对外发起攻击,方便查来源

2.16、web服务

企业暴露在外的最大的受攻击面还是对外提供的业务,即web、app等服务。

攻击者更多的通过这些服务攻击下业务服务器 》 窃取敏感信息 & 利用服务器资源对外攻击(跳板、挖矿、DDOS)》 作为跳板攻击办公内网 》窃取更多的敏感信息 &获得更多的计算资源

企业需要进行SDL安全评估、代码审计(特别框架及模块代码)

当然除了敏感数据、计算资源,各种web漏洞(注入,xss,csrf,越权,上传下载)中的业务逻辑漏洞,也会对企业利益及用户利益造成损害(盗号、盗刷),也需要进行保护。

2.17、社工

员工安装他人软件,使用他人U盘,泄露账号密码等

 

3、总结

不同于Google的零边界安全,所有机器、资源采取零信任模式,均需要通过认证及授权。本文中划分的边界,采取了部分信任的模式,比如业务服务器中有web服务器、数据库服务器、缓存服务器等,它们均属于统一边界内,存在信任关系;而办公网与业务网存是不信任关系。信任关系越少,设计就越复杂

企业保护对象应包含敏感信息、计算资源、业务逻辑

网络安全是一个动态发展的过程,各种新业务出现,各种新系统出现,各种新漏洞出现。企业都需要有个安全运营中心,实时掌握安全边界的安全现状。

本文讨论的是一个非常之宏大的东西,只能“简而言之”,希望能给读者以启发。

本文会不断更新,希望读者能留言交流

欢迎关注

《浅谈企业网络安全边界》


推荐阅读
  • 三小时掌握计算机网络基础(通俗易懂)
    目录1.网络层次划分2.OSI七层网络模型3.IP地址4.子网掩码及网络划分5.ARPRARP协议6.路由选择协议7.TCPIP协议8.UDP协议 9.DNS协议 ... [详细]
  • 如何搭建服务器环境php(2023年最新解答)
    导读:本篇文章编程笔记来给大家介绍有关如何搭建服务器环境php的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、怎么搭建p ... [详细]
  • 解决浏览器打开网页后提示“dns_probe_possible 怎么解决”的方法
    在使用浏览器进行网上冲浪的时候遇到故障是一件很常见的事情,很多用户都遇到过系统提示:dns_probe_possible。从提示中可以看出和DNS是有一定的关系的,经过小编测试之后 ... [详细]
  • CentOS 7配置SSH远程访问及控制
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • POCOCLibraies属于功能广泛、轻量级别的开源框架库,它拥有媲美Boost库的功能以及较小的体积广泛应用在物联网平台、工业自动化等领域。POCOCLibrai ... [详细]
  • 转自:微点阅读(www.weidianyuedu.com)微点阅读-范文大全-免费学习知识的网站电脑唯独搜不到自己家wifi,别人家的都能搜到,手机也可以搜到自己家的,就是电脑不可 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了VoLTE端到端业务详解|VoLTE用户注册流程相关的知识,希望对你有一定的参考价值。书籍来源:艾怀丽 ... [详细]
  • OAuth2.0指南
    引言OAuth2.0是一种应用之间彼此访问数据的开源授权协议。比如,一个游戏应用可以访问Facebook的用户数据,或者一个基于地理的应用可以访问Foursquare的用户数据等。 ... [详细]
  • IP、ARP、TCP、UDP、ICMP、DNS、路由协议、DHCP协议的缺陷,容易受到的攻击,以及防御措施1、IP协议1.1、介绍: ... [详细]
  • 基于SSL的mysql服务器的主从架构实现说明:本文选用172.16.22.1作为主服务器,172.16.22.3作为从服务器从服务器的mysql软件版 ... [详细]
  • 网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
author-avatar
dbvg2q
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有