系统安全与网络安全

1、常见攻击类型
口令暴力破解攻击
拒绝服务攻击(DDoS)
应用程序漏洞攻击(挂马、SQL注入)

三大网络攻击简明简述


一、口令暴力破解攻击

是什么?

反复尝试用户名密码,猜对了就登录进去。

常见手法

类型原理例子
字典攻击用常见密码列表撞库admin/123456root/password
穷举攻击所有组合全试一遍aaaaabaac
撞库用他站泄露密码试本站支付宝密码试微信

危害

  • 🔓 服务器被黑、数据被拖
  • 💰 比特币勒索、挖矿植入
  • 🕸️ 成为肉鸡攻击别人

防御

# 1. 禁止密码登录(强制密钥)
PasswordAuthentication no

# 2. fail2ban 自动封IP
fail2ban-client set sshd banip 1.2.3.4

# 3. 修改端口(避开22)
Port 52222

# 4. 登录失败锁定
pam_tally2 --user=root --reset

二、拒绝服务攻击(DDoS)

是什么?

海量垃圾请求塞满通道,正常用户进不来。

常见手法

类型原理例子
流量型带宽打爆NTP反射放大、DNS放大
连接型连接池占满SYN Flood、TCP全连接
应用层慢速攻击打死CPUHTTP慢速POST、CC攻击

危害

  • 📉 业务中断、无法访问
  • 💸 流量计费云厂商、烧钱
  • 🏢 品牌信誉受损

防御

# 1. 云盾/CDN(扛流量)
# 阿里云盾、Cloudflare、AWS Shield

# 2. 内核参数优化(防SYN Flood)
sysctl -w net.ipv4.tcp_syncookies=1
sysctl -w net.ipv4.tcp_syn_retries=2

# 3. Nginx连接限制
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn addr 10;

# 4. 封禁异常IP
iptables -A INPUT -s 1.2.3.4 -j DROP

三、应用程序漏洞攻击

是什么?

利用代码漏洞,执行非预期操作。

常见手法

类型原理例子后果
SQL注入拼接参数进SQL' or 1=1 --拖库、删表
XSS植入恶意JS脚本评论区弹窗、窃取Cookie盗号、钓鱼
文件上传上传Webshellshell.php服务器沦陷
CSRF伪造请求点链接自动转账账号操作劫持
SSRF服务端请求伪造访问内网敏感接口内网漫游

SQL注入实战演示

-- 正常查询
SELECT * FROM users WHERE username = 'zhangsan';

-- 注入攻击
SELECT * FROM users WHERE username = '' OR '1'='1' -- ';
-- 绕过登录!直接以第一个用户身份进入

防御

# 1. 预编译SQL(彻底防注入)
# ❌ 错误
$sql = "SELECT * FROM users WHERE id = $_GET[id]";

# ✅ 正确
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([$_GET['id']]);

# 2. 输入过滤(防XSS)
htmlspecialchars($_POST['content'], ENT_QUOTES, 'UTF-8');

# 3. 文件上传白名单
if (!in_array($ext, ['jpg','png','gif'])) { die(); }

# 4. CSRF Token
$_SESSION['token'] = bin2hex(random_bytes(32));

四、三种攻击对比表

维度暴力破解DDoS漏洞攻击
目标拿到账号打瘫服务控制服务器/窃数据
难度
成本低(1台电脑)高(僵尸网络)中(需挖洞)
特征登录失败日志流量突增特殊请求参数
防御核心密钥+封IP带宽清洗代码安全
事后痕迹日志有IP流量图尖峰后门文件

五、一句话记忆口诀

🔐 暴力破解:改端口、禁密码、fail2ban封IP
🛡️ DDoS:上云盾、开cookies、nginx限连接
💉 SQL注入:预编译、过滤参数、别拼接字符串


漏洞攻击 → 防代码

暴力破解 → 防登录

DDoS → 防流量

2、防范攻击策略

端口能不开的就不开

3、操作系统常用安全策略
(1)密码登录安全
复杂密码+普通用户ssh登录
密钥认证方式远程登录
openssh配置文件/etc/ssh/sshd_config,注意关注下面几个配置项:
Port 22
AuthorizedKeysFile .ssh/authorized_keys
PermitRootLogin prohibit-password
另外,请关注此目录/etc/ssh/sshd_config.d下的文件配置会覆盖/etc/ssh/sshd_config中的配置。

3、操作系统常用安全策略
(2)端口与服务安全
在linux操作系统下,系统共定义了65536个可用端口,这些端口又分为两个部分,以1024作为分割点, 分别是“只有root用户才能启用的port”和“客户端的port”:
0-1023端口,都需要以root身份才能启用,可以通过查阅linux下/etc/services文件得到端口与服务的对应列表。比如20、21端口是预留给ftp服务的,23端口是预留给telnet服务的,25是预留给mail服务的,而80、443是预留给www服务的。
1024以上(包含1024)的端口主要是给客户端软件使用的,这些端口都是有软件随机分配的,大于或者等于1024的端口的启用不受root用户的控制,例如,经常使用的mysql数据库,服务的默认端口是3306,而这个端口就是由mysql用户启用的。redis数据库默认的监听端口是6379,也是由redis用户启动的。

(3)软件安全
yum update glibc
yum update openssl
(4)禁止ping操作
[root@localhost ~]#echo “1”> /proc/sys/net/ipv4/icmp_echo_ignore_all
(5)云主机开启安全组
安全组是云主机的网络安全防护工具,建议开启。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注