SSHサービスを利用する際には、しっかりとセキュリティ設定を行う必要があります。
今回はSSHサービスと鍵管理についてご紹介します。
目次
SSHのセキュリティ設定(SSHサービス編)
SSHサービスにもセキュリティ設定が必要です。
以下のような手順で行います。
1.SSHプロトコルのバージョン2のみを許可
SSHプロトコルにはバージョン1と2があり、2のみを許可します。
バージョン1には既知の脆弱性があるため、ガイドラインでは無効化が推奨されているためです。
2.公開鍵認証を使用
SSHログインの際に、パスワード認証を無効化し公開鍵認証を使用します。
これによりパスワード認証に対するブルートフォース攻撃を防げます。
3.ポートフォワードを止める
OpenSSHには任意のTCP通信をカプセル化し暗号化して転送する「ポートフォワード機能」があります。
この機能を悪用されると、不正アクセスが発生した際に踏み台攻撃を誘発する可能性があるので禁止が推奨されています。
4.22/TCP以外でSSHサービスを稼働
ログインに対する攻撃の際は、インターネットに接続したSSHサーバーを無差別に狙ってくるとされています。
SSHサービスはデフォルトでは22/TCPを稼働させており、インターネット接続後にSSHサービスが稼働していることを発見されると攻撃対象になります。
そのため運用上問題がなければ、ポート番号の変更が推奨されています。
5.known_hostsファイルをハッシュ化
SSHサーバー上のknown_hostsファイルにあるホスト名やIPアドレスを悪用されてしまった事案もあります。
そのため特にSSHサーバーをログインホストとして使用している場合には、known_hostsファイルのハッシュ化の実施が推奨されています。
6.特定のユーザーのみログインを許可
リモートからrootユーザーでは直接ログインできない設定にすることで、管理者権限を持っているrootユーザーを狙われにくくします。
出典元:IDCFrontier 「用語集/SSH」
SSHのセキュリティ設定(鍵管理編)
公開鍵認証を用いる場合には、利用者に以下の事項を徹底させることが推奨されています。
1.ユーザー秘密鍵ファイルにパスフレーズをつける
鍵を生成する際に必要なパスフレーズを必ず設定します。
このパスフレーズとユーザー秘密鍵ファイルはどちらの他人に渡さないようにします。
2.ユーザー秘密鍵ファイルをSSHサーバー上に置かない
不正アクセスにユーザー秘密鍵ファイルを悪用されないためにも、SSHサーバー上にユーザー秘密鍵ファイルを格納しないようにします。
出典元:IDCFrontier 「用語集/SSH」
まとめ
SSHはリモート保守やファイル転送などで役立つプロトコルですが、しっかりセキュリティ設定を行わないと踏み台として悪用される可能性があります。
利用の際にはセキュリティ設定を確認し、サイバー攻撃から守りましょう。
ネットワーク・データベース・クラウド・サーバ案件多数! インフラエンジニアの転職なら「FEnet インフラ」
インフラエンジニア専門の転職サイト「FEnetインフラ」
FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。
転職をお考えの方は気軽にご登録・ご相談ください。