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

端口暴露风险排查方法

通过端口扫描工具(如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 小时前
深入剖析 std::optional:实现原理、性能优化与安全编程实践
c++·安全·空值
上海控安2 小时前
嵌入式软件安全解决之道-堆栈分析篇
测试工具·安全
AcrelGHP2 小时前
AIM-D系列直流IT系统绝缘监测产品:筑牢直流电气安全第一道防线
安全
志栋智能2 小时前
安全超自动化如何缩短平均检测与响应时间?
运维·安全·自动化
arvin_xiaoting3 小时前
OpenClaw学习总结_IV_认证与安全_1:OAuth与认证详解
服务器·学习·安全
qq_260241233 小时前
将盾CDN:云原生安全的发展与实践
安全·云原生
CDN3604 小时前
DDoS/CC 攻击下高防不顶用?防护模式与阈值调优教程
tcp/ip·ddos·高防ip
流觞 无依4 小时前
DedeCMS plus/list.php 参数注入(SQL注入)修复教程
sql·安全·php
skilllite作者4 小时前
SkillLite 多入口架构实战:CLI / Python SDK / MCP / Desktop / Swarm 一页理清
开发语言·人工智能·python·安全·架构·rust·agentskills