云服务器端口安全:暴露风险排查与最小权限配置指南

端口暴露风险排查方法

通过端口扫描工具(如nmap)检测当前开放的端口:

bash 复制代码
nmap -sS -p 1-65535 <服务器IP>

检查结果中非必要开放的端口(如MySQL默认3306、Redis默认6379),若未使用应立即关闭。

查看服务器当前监听的端口及对应进程:

bash 复制代码
netstat -tulnp

或使用ss命令替代:

bash 复制代码
ss -tulnp

防火墙配置策略

启用防火墙(如iptablesfirewalld)并仅放行业务必要端口。以下为iptables示例,仅允许SSH(22)和HTTP(80):

bash 复制代码
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -j DROP

使用firewalld的等价操作:

bash 复制代码
firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload

最小权限原则实施

修改服务默认端口以降低扫描风险(如将SSH端口改为非22):

编辑/etc/ssh/sshd_config

ini 复制代码
Port 2222

重启服务生效:

bash 复制代码
systemctl restart sshd

数据库类服务(如MySQL)限制访问源IP:

sql 复制代码
GRANT ALL PRIVILEGES ON *.* TO 'user'@'特定IP' IDENTIFIED BY '密码';
FLUSH PRIVILEGES;

安全组与网络ACL配置

在云平台(如AWS、阿里云)配置安全组规则:

  • 入方向:仅允许业务端口(如80、443)及管理端口(SSH/RDP)来自可信IP。
  • 出方向:默认拒绝,按需放行。

网络ACL(如阿里云)建议规则:

  • 优先级1:放行特定IP访问管理端口。
  • 优先级100:拒绝所有其他入站流量。

日志监控与自动化告警

启用日志审计工具(如fail2ban)自动封禁恶意IP:

安装并配置fail2ban

bash 复制代码
apt install fail2ban  # Debian/Ubuntu
systemctl enable fail2ban

编辑/etc/fail2ban/jail.local

ini 复制代码
[sshd]
enabled = true
maxretry = 3

通过云平台日志服务(如AWS CloudTrail、阿里云ActionTrail)监控异常登录行为,并设置阈值告警。

相关推荐
龙亘川2 天前
一网统管AI平台民生业务实践:基于城市数字底座赋能公积金业务服务升级
大数据·安全·智慧城市·开源软件·数据可视化·政务
kybs19912 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
LorryJovens2 天前
【LAAP科研】双系统具身AGI范式研究——基于LAAP认知架构与Jev概率决策模型的系统性技术调研与范式验证
人工智能·gpt·安全·架构
其实防守也摸鱼2 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
山东科恩光电2 天前
提升安全性的关键技术:安全触边在工业自动化中的应用解析
安全
LONGZETECH2 天前
一线职教实测:风光 580 汽车故障诊断仿真系统,破解实车实训四大核心痛点
人工智能·学习·安全·架构·汽车
Mikko72 天前
jackson-databind 升到 2.21.6 就安全了吗?jackson-core 是另一个坐标,它那条 high 全局库至今没收
java·后端·安全·json
赛博守夜人2 天前
反舞弊系列之十四:商业地产与零售招商中的“转租差价与免租期寻租”
安全
xiaoqiMikko2 天前
你升的是 jackson-databind,中招的是 jackson-core:一个超长 JSON key 就能吃掉 200MB 堆
java·安全