服务器访问控制策略需分网络层、应用层、系统层三层实施:网络层用防火墙/ACL限制源头;应用层通过Nginx/Apache按路径与用户精细化管控;系统层落实最小权限原则,并辅以安全响应头、限速及日志审计。

服务器访问控制策略的核心是“谁、能访问什么、在什么条件下”。配置不是一劳永逸,而是按需分层:网络层(防火墙/ACL)、应用层(Web服务器)、系统层(OS权限)各司其职,缺一不可。
网络层:用防火墙或路由器ACL限制源头
这是第一道防线,直接拦截非法流量,不消耗上层资源。
-
Linux(iptables/nftables):例如只允许运维网段(10.10.5.0/24)通过SSH访问:
sudo iptables -A INPUT -s 10.10.5.0/24 -p tcp --dport 22 -j ACCEPT
再加一条默认拒绝:sudo iptables -A INPUT -j DROP - Windows Server:用高级安全防火墙新建入站规则,协议选TCP、端口填443、作用域中“远程IP地址”指定允许的IP段,动作设为“允许连接”
-
企业路由器(如Cisco):用扩展ACL精确控制,比如只放行外部到内网Web服务器的80/443端口:
access-list 102 permit tcp any host 192.168.10.5 eq 80access-list 102 permit tcp any host 192.168.10.5 eq 443
最后绑定到外网接口的in方向
Web服务器层:按路径和用户精细化管控
当请求已到达服务进程,就靠Nginx或Apache做细粒度授权。
宝塔面板11.3.0是一款针对Linux服务器设计的可视化管理工具,通过重构核心模块实现资源占用显著降低,尤其适合低配置服务器环境。它将复杂的命令行操作转化为直观的图形界面,帮助开发者快速完成网站部署、环境配置及日常运维工作,无需专业技术背景即可高效管理服务器。
-
Nginx示例:对后台管理目录
/admin启用密码认证:location /admin {auth_basic "Admin Area";auth_basic_user_file /etc/nginx/.htpasswd;}
同时可叠加IP白名单:allow 172.16.0.0/12; deny all; -
Apache示例:禁止所有对
.env或.git目录的访问:Require all denied -
通用建议:静态资源目录(如
/static)可开放,敏感接口(如/api/v1/user/delete)必须走身份校验,不能仅靠路径隐藏
系统与服务层:最小权限原则落地
即使网络和Web层都放行,也要确保服务本身运行在受限账户下,且文件权限合理。
- Web服务进程(如nginx主进程)不要用root运行,改用专用低权限用户(如
www-data) - 网站根目录归属设为
www-data:www-data,权限设为755(目录)和644(文件),上传目录除外 - 数据库连接账号只授予必要库表的
SELECT/INSERT权限,禁用DROP或GRANT - Windows服务器可用组策略限制服务登录权限:计算机配置 → Windows设置 → 安全设置 → 本地策略 → 用户权限分配 → “作为服务登录”,只添加必需账户
别漏掉关键安全头和限速机制
这不是传统“访问控制”,但直接影响攻击面和资源滥用风险。
- Nginx中全局添加防护响应头:
add_header X-Frame-Options "DENY";add_header X-Content-Type-Options "nosniff";add_header Content-Security-Policy "default-src 'self';"; - 防暴力破解:对登录路径限速,例如每分钟最多5次请求:
limit_req_zone $binary_remote_addr zone=login:10m rate=5r/m;location /login { limit_req zone=login burst=3 nodelay; } - 日志必须开启并保留至少90天,记录源IP、请求路径、状态码、耗时,便于事后追溯










