SSHログインバナーの設定方法|/etc/issue.netとBannerディレクティブ

目次
SSHログインバナーの設定方法
Linuxサーバを運用していると、SSHで接続した際に警告文や利用上の注意事項が表示される環境を見かけることがあります。
例えば企業や官公庁のサーバでは、ログイン前に「Authorized Use Only」や「不正アクセスを禁止します」といったメッセージが表示されることがあります。
この仕組みはSSHのログインバナー機能によって実現されています。
SSHログインバナーは、利用者へ事前に警告文や利用条件を通知するだけでなく、監査対応やセキュリティ対策の一環としても活用されています。
本記事では、SSHログインバナーの仕組みと、/etc/issue.netおよびBannerディレクティブを利用した設定方法について詳しく解説します。
SSHログインバナーとは
SSHログインバナーとは、ユーザ認証が行われる前に表示されるメッセージのことです。
利用者がSSH接続を開始すると、ユーザ名やパスワードを入力する前にメッセージを表示できます。
SSH接続
↓
ログインバナー表示
↓
ユーザ認証
↓
ログイン
ログイン前に表示されるため、利用規約や警告文を通知する用途に適しています。
なぜログインバナーを設定するのか
ログインバナーにはさまざまな用途があります。
- 不正アクセスへの警告
- 利用条件の通知
- 監査対応
- 法的証拠の補強
- 企業ポリシーの周知
- システム利用者への案内
特に企業システムでは、許可された利用者のみ利用可能であることを明示する目的で設定されることが一般的です。
Bannerディレクティブとは
SSHサーバにはBannerディレクティブという設定があります。
この設定を利用することで、ログイン前に表示するメッセージファイルを指定できます。
設定ファイルは以下です。
/etc/ssh/sshd_configBannerディレクティブの書式は次の通りです。
Banner ファイル名
例えば以下のように設定します。
Banner /etc/issue.netこれによりSSH接続時に /etc/issue.net の内容が表示されるようになります。
/etc/issue.netとは
/etc/issue.net はSSH接続時のログイン前メッセージとして利用されるファイルです。
通常のテキストファイルであり、好きな内容を記載できます。
内容を確認するには以下を実行します。
# cat /etc/issue.neファイルが存在しない場合は新規作成します。
ログインバナーを設定する手順
実際にログインバナーを設定してみましょう。
手順1:/etc/issue.netを作成する
まず表示したい内容を作成します。
# vi /etc/issue.net例として以下の内容を設定します。
Authorized Use Only
This system is restricted to authorized users.
All activities may be monitored and recorded.
Unauthorized access is prohibited.英語表記が利用されることが多いですが、日本語でも問題ありません。
手順2:sshd_configを編集する
次にSSHサーバ設定を編集します。
# vi /etc/ssh/sshd_config以下の設定を追加します。
Banner /etc/issue.net既にBanner設定が存在する場合は変更してください。
手順3:設定確認
設定ミスがないか確認します。
# sshd -t何も表示されなければ構文エラーはありません。
手順4:sshdを再起動する
設定を反映します。
# systemctl restart sshd運用中のサーバではrestartの代わりにreloadを利用する場合もあります。
# systemctl reload sshd手順5:動作確認
別端末からSSH接続します。
$ ssh user@server以下のように表示されれば成功です。
Authorized Use Only
This system is restricted to authorized users.
All activities may be monitored and recorded.
password:
SSH接続時の表示順序
SSH接続時には以下の順番で処理されます。
SSH接続開始
↓
Banner表示
↓
ユーザ認証
↓
/etc/motd表示
↓
シェル開始
Bannerは認証前、motdは認証後という違いがあります。
Bannerと/etc/motdの違い
| 項目 | Banner | /etc/motd |
|---|---|---|
| 表示タイミング | 認証前 | 認証後 |
| 主な用途 | 警告文 | 運用通知 |
| 対象者 | 接続者全員 | 認証済ユーザ |
| 監査用途 | 多い | 少ない |
実務では両方を併用することが一般的です。
企業で利用される警告文の例
実際の企業環境では以下のような内容が利用されています。
WARNING
This computer system is for authorized users only.
Individuals using this system without authority are subject to monitoring.
Unauthorized access is prohibited.
監査やセキュリティポリシーに合わせて内容を調整します。
ログインバナー設定時の注意点
ログイン前のメッセージには過度な情報を記載しないよう注意しましょう。
以下の情報は避けるべきです。
- OSの詳細バージョン
- ミドルウェア情報
- ネットワーク構成
- 内部システム情報
- 管理者情報
攻撃者へ情報を与える原因となるためです。
認証前は必要最低限の警告文のみを表示することが推奨されます。
Banner設定が効かない場合の確認ポイント
Bannerが表示されない場合は以下を確認します。
- Bannerディレクティブがコメントアウトされていないか
- /etc/issue.netが存在するか
- sshd -tでエラーがないか
- sshd再起動を実施したか
- 接続先が正しいサーバか
設定ミスの多くは再起動忘れやファイルパスの間違いです。
監査対応におけるSSHログインバナー
金融機関や官公庁などでは、ログインバナーの設定が監査項目になる場合があります。
これは「許可された利用者のみ利用可能であること」を明示するためです。
また、不正アクセスを行った利用者に対して、システム管理者が利用条件を事前に通知していたことを示す材料にもなります。
実務で覚えておきたいポイント
- SSHログインバナーは認証前に表示される
- Bannerディレクティブで設定する
- 表示内容は通常 /etc/issue.net に保存する
- 警告文や利用条件の表示に適している
- 詳細なシステム情報は表示しない
- 監査やセキュリティ対策として活用される
まとめ
SSHログインバナーは、利用者へ警告文や利用条件を通知するための重要な機能です。
Linuxでは /etc/issue.net と Bannerディレクティブを利用することで簡単に設定できます。
企業環境では監査対応やセキュリティ対策の一環として広く利用されており、認証前の警告表示として有効です。
ただし、OS情報や内部情報を過剰に公開しないよう注意し、必要最小限の内容を表示することが重要です。
適切なログインバナー設定を行うことで、安全で管理しやすいサーバ運用を実現できるでしょう。





