SSHサービスで弱いハッシュベースのメッセージ認証コードHMACを無効にする

カテゴリを表示

SSHサービスで弱いハッシュベースのメッセージ認証コードHMACを無効にする

所要時間

HMACとは何か #

HMAC(ハッシュベースメッセージ認証コード)は、秘密鍵とハッシュ関数を用いてデータまたはメッセージの整合性と真正性を検証する暗号構造です。HMACは、データが送信中に改ざんされていないこと、そして信頼できるソースから送信されたことを保証する手段を提供します。HMACは、データと秘密鍵を組み合わせ、その結果をハッシュ化し、受信側で参照HMACと比較することで、セキュア通信や認証システムを含む様々なアプリケーションにおいて、データの有効性を確認するための安全な方法を提供します。

SSHd(SSHデーモン)などのSSH(Secure Shell)サービスでは、クライアントとサーバー間の通信のセキュリティを強化するためにHMACが採用されています。SSH鍵交換プロセスにおいて、サーバーとクライアントは、データの整合性検証に使用する暗号化アルゴリズム(HMACアルゴリズムを含む)のセットについてネゴシエートします。選択されたHMACアルゴリズムは、共有秘密鍵と組み合わせて、送信パケットのHMACタグを生成し、受信パケットの整合性を検証するために使用されます。これにより、クライアントとサーバー間で交換されるデータが送信中に改ざんされていないことが保証され、改ざんから保護され、通信の信頼性が確保されます。これはSSHセキュリティモデルの重要な側面です。

SSHDの弱い暗号を無効にする #

SSHdサービスのセキュリティを強化するには、MD5または96ビットHMACが使用されていないことを確認するためにSSHの暗号、MAC、およびキーアルゴリズムを変更する必要がある場合があります(hmac-md5 hmac-md5-96 hmac-sha1-96)。以下の手順に進んでください。

既存のSSHd設定を確認する #

現在のSSH設定を調べて、許可されている暗号、MACアドレス、鍵アルゴリズムを特定します。これらの情報を収集するには、次のコマンドを使用します。

root@noid-ee-01:~# sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"
暗号 chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
マック umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
kexアルゴリズム curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1

SSHD設定の編集 #

セキュリティを強化するには、弱い暗号やMACを無効にすることを検討してください。テキストエディタ( ドワーフ or vi)を使用してSSHD設定ファイル( /etc/ssh/sshd_config)許可したくない暗号とMACアドレスを削除し、ファイルを保存します。設定が存在しない場合は、ファイルの末尾に新しい行を追加してください。

ciphers aes128-ctr,aes192-ctr,aes256-ctr
macs hmac-sha1,hmac-sha2-256,hmac-sha2-512

SSHDサービスを再起動する #

変更を加えたら、SSHD サービスを再起動して新しい構成を適用します。

root@noid-ee-01:~# systemctl sshdを再起動します

新しい設定を確認する #

以前と同じコマンドを使用して、更新された構成を確認します。

root@nid-ee-01:~# sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"
ciphers aes128-ctr,aes192-ctr,aes256-ctr
macs hmac-sha1,hmac-sha2-256,hmac-sha2-512
kexalgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1

これらの手順は、SSHをより安全な暗号スイートとMACアドレスを使用するように設定し、より弱いオプションを無効にすることでSSHのセキュリティを強化し、SSHdサービスの全体的なセキュリティを向上させます。これらの設定を変更すると、古いSSHクライアントや安全性の低いSSHクライアントとの互換性に影響する可能性があるため、変更内容が特定のセキュリティ要件と一致していることを確認してください。

📄 この文書をPDF形式でダウンロードする #

    EMAIL: *