网络对抗原理复习整理

nmap

  • oN/oX

ping

  • -c
  • -i
  • -s
  • -t

tcpdump

  • -i 使标准输出变为缓冲行形式

  • -e 在输出行打印出数据链路层的头部信息,包括源mac和目的mac,以及网络层的协议

  • -c

  • -w 包写入文件中,不打印

  • -n 域名转换成IP地址后显示 ,不把网络地址转换成名字

  • -nn 每个监听到的数据包中的域名转换成IP、端口从应用名称转换成端口号

  • -v[v] 输出详细的报文信息

  • -X[X] 以16进制[ASCII]展示

DDoS

条件

  • 不校验来源

  • 返回比请求大

例如

  • NTP
  • BT
  • DNS

CC/ 过量访问

  • 低于带宽,高于处理能力

清洗

四层清洗

  • 支持非 HTTP 流量

  • 不需要 SSL 证书

七层清洗

  • 支持防 CC
  • 细粒度清洗

防御方法

  • 准备备用 IP (回源 IP )
  • 配置回源 IP ACL ,白名单
  • 配置供应商高防 IP 与回源策略
  • 测试真实 IP 透传
  • 制定预案与响应策略
  • 演练
  • 供应商选择与商务谈判

SQLMAP

参数

  • -r REQUESTFILE 从一个文件中载入HTTP请求
  • -level 执行测试的等级
  • -risk 执行测试的风险
  • --current-user 检索数据库管理系统当前用户
  • -technique BEUST
  • --time-sec=TIMESEC DBMS响应的延迟时间(默认为5秒)
  • --dbms=DBMS 强制后端的DBMS为此值

防御体系构建

  • 让系统更规范
  • 加强对信息的掌握
  • 安全评估
  • 入侵检测
  • 及时响应

渗透路径的启示

启示

  • 网络访问的隔离与限制
  • 漏洞的发现和利用
  • 账号与权限

分层

  • 客户端安全

  • 网络与系统安全

  • 应用安全

  • 业务安全

  • 数据安全

安全域划分

网络准入 外网 ←→ 端口管理
↑↓
办公网 跳板机 内网

审计

  • 事前:风险评估、资格评估
  • 事中:入侵检测
  • 事后:追溯 + 制度

检测方式

  • 误用检测 - 黑名单

  • 异常检测 - 白名单

2018年安全事件

微信支付SDK的XXE漏洞,语言为JAVA,查看SDK给的README.md说明,其中表示在支付结果的回掉接口notify_url 处使用,向商户的notify_url接口发送dtd脏数据,商户服务器加载远程dtd文件,商户服务器将key值发送至attack服务器。漏洞本身只是很简单的XXE漏洞造成的任意文件读取,因为漏洞所处的关键业务点使得造成的损失巨大,但是由于notify_url的使用过程中客户全程并不参与,所以在我看来notify_url的获取方式是该漏洞破坏性的瓶颈。

防止SQL注入

1.过滤/转义

  • 防火墙:直接加在客户端和服务端中间,不修改原有的框架或者体系,防火墙可以插件的方式加入并启用功能。缺点:性能好的waf比较贵。
  • 修改代码:可根据是实际情况修改。缺点:需要技术支持。

2.参数化

服务器被攻击

1.分析

  • 22:SSH登陆密码泄露。密码被记录在纸上/云笔记上/github上;弱密码;被运维人员交易。
  • 80:上传文件漏洞,僵尸程序被上传了。
  • 6397:Redis对外开放,可能有漏洞被利用。

2.紧急处理

  • 22:关闭SSH端口,更换密码。
  • 80:代码审计。
  • 6379:关闭端口。

3.进一步加固

  • 22:转移端口,加强密码管理。

  • 80:更换成HTTPS服务。

  • 6379:禁止Redis服务端口对外开放。

  • 22和6379只对内部办公网开放,办公网要连接SSH和Redis都要经过跳板机。外网连接内网要通过VPN。

SaaS和私有化部署讨论

以下为个人浅显的理解。

题目:SaaS部署的系统(例如CRM系统、ERP系统)和私有化部署在安全性上有什么差异,请就此进行多维度、全面、利弊关系的分析,并说明企业如何决策选择合适的部署模式?

Safety

「SaaS」一般为大型机房,服务提供商一般会考虑到机房自身的承受突发自然灾害、承受断电断网、人为损害等物理伤害的因素,保证自己能提供不间断服务,或者代价不大的自身升级。

「私有化部署」中大型企业有自己的机房,情况大体同「SaaS」。小企业的机房选址可能并不能满足所有的最有条件,可能会出现自然灾害、断电断网、人为伤害等的情况。

Security

1.软件安全

「SaaS」可及时升级自身的软件版本来修复漏洞或者升级功能。

「私有化部署」可能不能及时更新软件,导致漏洞在网络上大范围传播后仍可在私有化部署的平台进行攻击。

2.数据安全

「SaaS」一般提供更强的数据防护能力。若各个所提供的服务间隔离被打破(或者未做有效保障互相关联时的安全措施),则有可能因其中的某一数据而导致其他服务数据泄露,即有可能会出现“千里之堤,溃于蚁穴”的安全状况。

「私有化部署」单从自身企业的角度来看,可能会使自己的数据泄露;但规模和「SaaS」部署的情况比,会小很多。

3.运行环境安全

「SaaS」作为服务提供商,一般会比「私有化部署」提供更多一点的安全措施,包括更有效的防火墙规则、更强的加密方式、抵御更多DDoS流量、反爬虫、防注入挂马等能力。

4.数据恢复

「SaaS」一般提供及时的数据恢复功能。

「私有化部署」可能受限于自身规模而不能恢复最近可用的数据(如西电睿思曾因为一次硬盘使用时间过长损耗过度导致数据丢失,所有数据被迫恢复到半年以前的数据)。

5.用户管理和登陆

「SaaS」一般提供完整的3A认证方案。

「私有化部署」不一定会有完善的认证方式。

updatedupdated2020-05-252020-05-25