一、操作系统安全配置(以 Linux 为主)
- 用户与权限
禁用 root 直接登录,使用普通用户 + sudo
密码复杂度:长度≥12 位、字母 + 数字 + 特殊字符
密码有效期、登录失败锁定(防暴力破解)
最小权限原则:业务程序不使用 root 运行 - 登录与远程访问
SSH 安全配置:
修改默认端口 22
禁用密码登录,改用密钥认证
限制允许登录的用户 / IP
关闭不必要的远程服务:telnet、rlogin、ftp 等 - 服务与端口
关闭无用服务:sendmail、rpc、avahi、cups 等
只开放业务必需端口(80/443/22 等)
使用 firewalld/iptables 做端口白名单 - 文件与目录权限
重要目录权限最小化:/etc、/root、/var/log
禁止普通用户访问敏感配置文件
禁用不必要的 SUID/SGID 程序 - 日志与审计
开启系统日志、安全日志、登录日志
日志定期轮转、备份、不可篡改
开启 auditd 审计关键操作(文件修改、用户变更) - 系统加固
及时更新补丁:kernel、openssl、glibc 等高危组件
关闭不必要的内核模块
开启 SELinux/AppArmor
禁用 USB 存储、光驱等外部设备(服务器场景)
二、网络安全配置
- 网络设备(防火墙 / 交换机 / 路由器)
更改默认账号密码,禁用默认账户
关闭远程管理 HTTP,改用 HTTPS/SSH
管理口仅允许内网 / 堡垒机 IP 访问
关闭不必要服务:SNMP(如不用)、Telnet、FTP - 访问控制
防火墙策略:默认拒绝,仅放通必需
内外网隔离,划分 VLAN
关键区域(数据库、运维区)单独网段,严格控制访问 - 传输安全
全站 HTTPS,禁用 HTTP
禁用弱协议 / 弱加密:SSLv3、TLS1.0/1.1、SHA1、3DES
使用 TLS1.2+/AES-256-GCM 等安全套件 - 边界安全
部署 WAF 防 SQL 注入、XSS、文件上传等 Web 攻击
开启 DDoS 防护、流量清洗
入侵检测 / 防御(IDS/IPS) - 无线安全(如有)
使用 WPA3 或 WPA2-Enterprise
隐藏 SSID、MAC 白名单
访客网络与办公网络隔离
三、应用与业务安全(常和系统网络一起答)
关闭应用后台测试接口、调试模式
接口鉴权()、防越权
上传文件校验、防木马
数据库弱口令整改、权限最小、避免公网开放
四、安全管理类
定期漏洞扫描、渗透测试
安全基线检查(等保 2.0 常用)
备份策略:全量 + 增量,异地备份
应急响应预案
Spring Security 和 OAuth2.0
一、先给你一句架构级结论
Spring Security = 应用内部安全底座
负责:认证、鉴权、会话、防护、权限体系
OAuth2.0 = 跨域 / 跨应用 / 第三方安全授权协议
负责:安全的信任传递、权限委托、跨端授权
一个管内部安全,一个管外部信任。
二、从架构安全角度:Spring Security 的用途
- 定位
应用层安全框架
单体应用、微服务内部的统一安全入口。 - 架构安全职责
统一身份认证
用户名密码、验证码、JWT、LDAP 等
防止非法登录、暴力破解
统一权限控制(ABAC/RBAC)
接口权限、菜单权限、数据权限
防止越权访问、水平越权、垂直越权
安全防护能力
防 CSRF、会话固定、点击劫持
密码加密 BCrypt
微服务架构中的作用
网关层统一认证
服务内部鉴权
安全上下文传递 - 解决的架构安全风险
未授权访问
越权操作
会话劫持
弱密码、明文密码
接口裸奔、无权限控制 - 一句话总结(架构视角)
Spring Security 是应用的 “安全门卫”,
管住谁能进、能看什么、能做什么。
三、从架构安全角度:OAuth2.0 的用途 - 定位
跨应用、跨系统、跨信任域的授权协议
解决:不同系统之间如何安全地授权、传递信任,不泄露密码。 - 架构安全职责
第三方授权(微信 / 支付宝 / 钉钉登录)
不把密码给第三方
只授权有限范围(头像、昵称)
微服务之间的安全调用
服务间可信授权
客户端凭证模式(Client Credentials)
跨系统单点登录(SSO)
一次登录,多系统通行
企业统一身份平台
权限委托与最小权限
限时、限范围、限权限
支持 token 过期、吊销 - 解决的架构安全风险
密码跨系统传播、泄露
第三方越权获取用户数据
服务间调用无认证、裸奔
多系统账号体系混乱 -
一句话总结(架构视角)
OAuth2.0 是系统间的 “安全信任中介”,
让外部应用 / 服务在不拿密码的前提下,获得有限授权。
image.png
