服务器防御网络攻击理论

引言

在发表这篇文章时我有些犹豫,不知道这套理论是否正确,也有可能只适合部分场景或者个人服务器。

习惯的养成

内网环境(指的是服务器业务相关的服务器,包括能够直连的设备)只进行业务操作,不要干别的。

防火墙

在这里适用于IDC机房租赁的机器,比如说阿里云、腾讯云等,在控制台页面,你需要仅开放需要的端口,比如80(http), 443(https), 其他的能不开放就不开放,如果运维需要,那么仅在需要时在防火墙页面启动就好,运维完成后再禁用掉哪些端口,比如21(ftp), 22(ssh), 3306(MySQL) 等

定期查看系统日志

这里的系统日志包括

  • 登录日志
  • Windows的事件记录器
  • Linux 的SSH日志
  • Web应用日志
  • Nginx
  • ApacheHTTP
  • Tomcat
  • (Web服务器的日志主要查看XSS和SQL注入)
  • 数据库查询日志
  • generalLog (union 、load、1=1)等非正常使用记录

定时任务

  • Windows的任务计划程序
  • Linux的crontab

跳转机

如果条件允许,可以使用跳转机进行服务器管理
下面是一个简单的示意图
image.png

Web服务器指的是暴露公网的服务,比如说Web服务器,这个服务器只开放HTTP(s)端口,又Nginx或其他服务转发到内网中的服务中去,如果需要运维,那么需要连接到VPN服务器,通过VPN构建内网通道,从而对内网机器进行控制。

如果只有一台设备,那么就需要云控制台了(这里适用于网上租的服务器)
image.png
尽可能的少开端口,除非有这样的需求,比如蜜罐系统

保持更新

在服务器上,就不要说稳定能用就不要更新系统(好多Windows系统习惯就是关闭系统自动更新),服务器上可不能这样做,保证系统和软件是稳定版,并且没有已知漏洞。但是也并不是说JDK8一定要升级到JDK108(并不是一个确切的版本哈)去。
比如说,现在系统上运行的服务使用的是JDK8,JDK8目前(2022年11月6日)还在维护,所以不必担心大的问题,不更新就不更新了,但是如果说前一阵的Log4j漏洞,如果你使用的是2.17版本以下的,那么就赶快升级吧,这个等不得。
一般情况,中间件的漏洞发生的频率要高一些,而像java、php、python这样的,基本上不会出什么大问题。

DDOS CC攻击

这样的攻击基本上是没有什么好办法,买高防,或者直接停服吧。
当然这不是一个好办法,如果IP数量较少,还是可以在云控制台上禁用哪些攻击者的IP。
接口攻击也不能小看,比如说短信验证码接口如果滥用则会消耗短信次数,造成短信轰炸,代码层面上可以通过技术手段(redis记录次数)防止频繁访问。

C段攻击

同一网段内的设备网络权限也要设定好,坏人也有可能渗透到组织内部了。这时候就需要操作系统上的防火墙(软防火墙)了,

蜜罐系统警示

以下是笔者蜜罐系统的11月数据

日期 陷入蜜罐次数
2022-11-01 14773
2022-11-02 23143
2022-11-03 23609
2022-11-04 25808
2022-11-05 22908
2022-11-06 18783
IP 陷入蜜罐次数
42.157.194.16 6501
117.25.149.164 5314
89.248.163.132 4495
185.170.144.46 3780
89.248.163.167 3638
89.248.165.191 2278
80.66.88.29 3347
152.89.196.122 2947
45.227.259.74 1681
80.66.88.17 1181
IP 敏感端口访问次数
27.128.172.99 203
87.251.75.64 197
222.75.204.7 97
111.46.163.26 60
89.248.163.199 27
89.248.163.132 19
117.187.173.75 18
124.220.158.180 17

评论 0

还没有评论,来说点什么吧。

提交后需要审核才会公开。