Banner需同时配置/etc/issue和SSH Banner,内容含法律警示、审计声明且无敏感信息;操作包括创建统一文件、复制至/etc/issue、启用sshd_config中Banner指令并重载服务。

新手配置 Linux 系统 Banner 欢迎信息,核心目标是:在用户登录前清晰展示法律警示,满足等保、ISO 27001 或内部安全策略对“访问控制提示”的要求。这不是美化界面,而是留下可审计的合规证据。
明确 Banner 类型与生效位置
Linux 登录 Banner 分两类,作用时机和配置文件不同,必须区分清楚:
- /etc/issue:控制本地终端(TTY)和 SSH 非交互式连接(如 scp/sftp)前显示的内容;修改后立即生效,无需重启服务
-
/etc/ssh/sshd_config 中的 Banner 指令:专用于 SSH 服务,控制所有 SSH 连接(包括交互式 shell)前的横幅;修改后需
sudo systemctl reload sshd
安全审计通常要求两者都配置,且内容一致,避免出现“漏提示”场景。
编写合规的 Banner 文本内容
内容需包含法律效力要素,避免模糊表述。推荐模板(可直接复制使用):
Banner file: /etc/issue and /etc/ssh/banner.txt =============================================== WARNING: UNAUTHORIZED ACCESS TO THIS SYSTEM IS PROHIBITED. This system is for authorized users only. All activities are logged, and may be monitored, recorded, and subject to audit. Violations may result in disciplinary action or criminal prosecution. ===============================================
关键点说明:
- 首行注明 Banner 文件路径,便于审计人员快速定位依据
- 使用全大写“WARNING”开头,符合常见合规检查项
- 明确“unauthorized access is prohibited”而非“please login”之类弱提示
- 强调“all activities are logged”和“subject to audit”,体现审计闭环
- 不包含系统版本、内核或主机名等敏感信息(防止被用于攻击侦察)
分步配置操作(以 Ubuntu/Debian 和 CentOS/RHEL 通用方式)
按顺序执行,确保覆盖全部登录入口:
- 创建统一 Banner 文件:
sudo tee /etc/ssh/banner.txt ===============================================<br>WARNING: UNAUTHORIZED ACCESS TO THIS SYSTEM IS PROHIBITED.<br>This system is for authorized users only. All activities are logged,<br>and may be monitored, recorded, and subject to audit.<br>Violations may result in disciplinary action or criminal prosecution.<br>===============================================<br>EOF
- 写入 /etc/issue:
sudo cp /etc/ssh/banner.txt /etc/issue - 启用 SSH Banner:编辑
sudo nano /etc/ssh/sshd_config,取消注释或添加一行:Banner /etc/ssh/banner.txt - 重载 SSH 服务:
sudo systemctl reload sshd - 验证本地 TTY:切换到 Ctrl+Alt+F2 终端,应看到 Banner;验证 SSH:
ssh -o ConnectTimeout=5 user@localhost,连接前即显示
审计验证与日常维护要点
配置完成不等于通过审计,还需验证可追溯性和防篡改性:
- 检查文件权限:
sudo ls -l /etc/issue /etc/ssh/banner.txt,建议设为-rw-r--r--(644),属主 root,禁止组和其他人写入 - 确认无冗余 Banner:检查
/etc/ssh/sshd_config中是否有多余的DebianBanner或PrintLastLog干扰项,建议设为no - 日志联动:Banner 本身不生成日志,但配合 auditd 规则可记录谁读取了这些文件,例如:
sudo auditctl -w /etc/issue -p r -k banner_access - 定期复查:将 Banner 文件哈希加入 AIDE 或自定义校验脚本,防止被恶意替换











