1. 写在前面
DDoS(Distributed Denial-of-Service)攻击是最常见的服务器安全威胁之一,攻击频率和强度逐年稳步上升。本文主要介绍如何通过资源监控和及时采取一些措施来缓解 DDos 攻击。
2. 什么是 DDoS 攻击?
DDoS 是一种恶意行为,攻击发起方通过向网络发出大量请求来耗尽目标服务器所有可用资源的攻击,与标准的 DoS(拒绝服务)攻击不同:
DDoS:
-
采用多个分布式的设备:通常情况下,设备已被黑客提前入侵并安装相关木马,设备所有者不知情;
-
攻击针对多种网络设备和协议,而不仅仅是网络端点;
以下是三种主要的 DDoS 攻击类型:
-
应用层 DDoS(OSI模型 第 7 层):重点攻击 Web 服务,如 Apache 和 Nginx 等;
-
协议攻击(OSI模型 第 3/4 层):针对重要网络设备上的操作系统和防火墙;
-
容量攻击(Volumetric attacks):产生大量流量,消耗服务器可用带宽和吞吐量;
3. 如何检查 Linux 服务器是否受到 DDoS 攻击?
恶意行为者(黑客)使用标准网络进行 DDoS 攻击。因此,通过监视网络流量是否存在异常连接来检测攻击通常是一种简单的方式。以下列出了检查服务器是否遭受 DDoS 攻击的一些简单方法。
3.1 检查服务器负载
使用 uptime
命令检查服务器的平均负载:
root@jpzhang-dev:~# uptime
00:28:32 up 12 days, 13:13, 2 users, load average: 0.13, 0.10, 0.04
显示三个值:分别代表一分钟、五分钟和十五分钟内的平均负载:
0.13, 0.10, 0.04
服务器可用线程数是服务器可接受负载的一个便捷参考。如果负载等于或大于线程数,则可能表明活动量过高。
root@jpzhang-dev:~# grep processor /proc/cpuinfo | wc -l
4
在本例中,服务器有 4 个可用线程。平均负载高于 4 表示服务器负载异常高。
200多本网络安全系列电子书
网络安全标准题库资料
项目源码
网络安全基础入门、Linux、web安全、攻防方面的视频
网络安全学习路线图
3.2 检查网络负载
如果服务器只是速度慢,但仍可通过直接连接(如通过 IPMI)访问,可使用以下工具来检查网络负载。
(1). bmon
bmon
是一款带宽监控和速率估算工具,在 Linux 命令行可提供简单的数据可视化。
ubuntu 安装:sudo apt install bmon
启动: root@jpzhang-dev:~# bmon
使用键盘的向上或向下箭头指定到要检查的网络设备。
(2). nload
nload
工具实时监控网络流量和带宽使用情况。
ubuntu 安装:sudo apt install nload
启动: root@jpzhang-dev:~# nload
按向左或向右箭头指定到要监控网络接口,终端将会显示所选接口进出网络流量详情。
(3). vnStat
与 nload
类似,vnStat
也是一款流量监控工具。vnStat
的优势在于它能为指定接口保存每小时、每天和每月的网络流量日志。
ubuntu 安装:sudo apt install vnstat
默认列出所有可用网络接口:
root@jpzhang-dev:~# vnstat
------------------------------------------------------------------------------------
rx / tx / total / estimated
br-3c911bd828a7: Not enough data available yet.
br-921af635eb7e:
2024-01 1.02 KiB / 210 B / 1.22 KiB / --
today 1.02 KiB / 210 B / 1.22 KiB / 34 KiB
docker0: Not enough data available yet.
ens3:
2024-01 33.11 KiB / 39.63 KiB / 72.74 KiB / --
today 33.11 KiB / 39.63 KiB / 72.74 KiB / 1.97 MiB
veth15be175:
2024-01 2.23 MiB / 1.19 MiB / 3.41 MiB / --
today 2.23 MiB / 1.19 MiB / 3.41 MiB / 94.55 MiB
... ...
**注意:**如果刚刚安装了 vnStat
,它将给出以下消息“ens3:Not enough data available yet.”。等待一段时间,然后再次尝试该命令。
(4). iftop
iftop
以用户友好的格式显示网络连接列表和相关网络信息。默认情况下,列表按照带宽使用情况排序。
ubuntu 安装:sudo apt install iftop
启动: iftop
(5). ifstat
ifstat
命令输出网络接口统计数据。默认情况下,它会显示每个活动接口的进出网络流量数据。
ubuntu 安装:sudo apt install ifstat
启动: ifstat
3.3 检查连接到服务器的 IP 地址
列出当前连接到服务器的 IP 地址可帮助识别潜在威胁。
netstat
是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。
下面的命令使用带有 -n
、-t
和 -u
选项的 netstat
命令,用于创建包含 TCP 和 UDP 连接的输出,然后使用 awk
、cut
和 sort
命令对输出进行格式化。
root@jpzhang-dev:~# netstat -ntu|awk '{print $5}'|cut -d: -f1 -s|sort|uniq -c|sort -nk1 -r
--------------------------------------------------------------------------------------
1 10.20.0.6
显示已连接的 IP 地址。
负载高的服务器上,列表可能很长,难以阅读。可以过滤输出,在一行中显示同一子网中的所有连接。下面的示例合并了同一 255.255.0.0 子网掩码中的 IP 地址。
netstat -ntu|awk '{print $5}'|cut -d: -f1 -s |cut -f1,2 -d'.'|sed 's/$/.0.0/'|sort|uniq -c|sort -nk1 -r
现在输出只显示一行,10.20.0.6 前面的数字 1 表明有1个连接来自该 IP 地址。
200多本网络安全系列电子书
网络安全标准题库资料
项目源码
网络安全基础入门、Linux、web安全、攻防方面的视频
网络安全学习路线图
4. 如何缓解 Linux 服务器的 DDoS 攻击?
一旦确认服务器遭受 DDoS 攻击,采取一些快速措施以减轻损失。
**注:**未受保护的服务器很容易成为 DDoS 攻击对象。具有 DDoS 保护功能的专用服务器可在不中断可用性的情况下继续工作。
使用路由命令阻止攻击者的 IP 地址:
sudo route add [ip-address] reject
- 1
- 2
**注意:**路由(route)命令是 net-tools
软件包的一部分。要在 Ubuntu 上安装:sudo apt install net-tools
或者使用 iptables
:
(1)阻止某个 IP 地址访问:
iptables -A INPUT 1 -s [ip-address] -j DROP/REJECT
- 1
- 2
(2)保存新策略规则:
service iptables save
- 1
- 2
(3)重新启动服务:
service iptables restart
- 1
- 2
(4)重新启动 Web 服务。例如,如果运行的是 Apache 网络服务器:
sudo systemctl restart apache2
- 1
- 2
现在,系统已被配置为拒绝来自可疑 IP 地址的流量。
题外话
初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:
-
2023届全国高校毕业生预计达到1158万人,就业形势严峻;
-
国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。
一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。
6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。
2022届大学毕业生月收入较高的前10个专业
本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。
具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。
“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。
网络安全行业特点
1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!
2、人才缺口大,就业机会多
2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。
行业发展空间大,岗位非常多
网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…
职业增值潜力大
网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。
随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。
从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。
黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
学习资料工具包
压箱底的好资料,全面地介绍网络安全的基础理论,包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等,将基础理论和主流工具的应用实践紧密结合,有利于读者理解各种主流工具背后的实现机制。
网络安全源码合集+工具包
视频教程
视频配套资料&国内外网安书籍、文档&工具
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
黑客/网安大礼包:CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
好了就写到这了,大家有任何问题也可以随时私信问我!希望大家不要忘记点赞收藏哦!