Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.3.11.3. SSH の他のセキュア化

プロトコルのバージョン
Red Hat Enterprise Linux 7 で提供されているSSHプロトコルの実装では、SSH クライアントに対して SSH-1 と SSH-2 の両方のバージョンがサポートされていますが、可能な限り後者のみを使用してください。SSH-2 バージョンには、古い SSH-1 に対する多くの改良点が含まれており、その大部分は SSH-2 を使用する場合にのみ利用できます。
Red Hat は、SSHプロトコルが使用される認証および通信を保護する範囲を最大限にするために、SSH-2 を使用することを推奨します。 sshdデーモンが対応しているプロトコルのバージョンは、/etc/ssh/sshd_configファイルのProtocol構成指令を使用して指定できます。デフォルト設定は 2 です。SSH-2 バージョンは、Red Hat Enterprise Linux 7 SSH サーバーでサポートされている唯一のバージョンであることに注意してください。
鍵のタイプ
ssh-keygenコマンドは、デフォルトでは SSH-2RSA鍵のペアを生成しますが、-tオプションを使用して、DSAまたはECDSA鍵も生成するように指示することができます。 ECDSA(Elliptic Curve Digital Signature Algorithm)は、同じ共通鍵の長さであれば、より優れた性能を発揮します。また、短いキーも生成します。
デフォルト以外のポート
デフォルトでは、sshd デーモンは TCP ポート 22 をリッスンします。ポートを変更すると、自動ネットワークスキャンに基づいて攻撃にシステムがさらされる可能性が低減されるため、不利な方法でセキュリティーが強化されます。ポートは、/etc/ssh/sshd_config設定ファイルのPortディレクティブを使用して指定できます。また、デフォルト以外のポートを使用できるように、デフォルトの SELinux ポリシーを変更する必要があることに注意してください。これは、rootとして以下のコマンドを入力して、ssh_port_tSELinuxタイプを変更することで実現できます。
~]# semanage -a -t ssh_port_t -p tcp port_number
上記のコマンドでは、port_numberを、Portディレクティブで指定した新しいポート番号に置き換えます。
root ログインなし
特定の使用例でルートユーザとしてログインする必要がない場合は、/etc/ssh/sshd_configファイル内のPermitRootLogin構成指令をnoに設定することを検討してください。 rootユーザーとしてログインできないようにすることで、管理者は、どのユーザーが通常のユーザーとしてログインした後にroot権限を得て、どの特権コマンドを実行したかを監査することができます。
⁠X セキュリティー拡張機能の使用
Red Hat Enterprise Linux 7 クライアントの X サーバーは、X セキュリティー拡張を提供しません。そのため、クライアントは X11 転送を使用して信頼できない SSH サーバーに接続するときに別のセキュリティー層を要求できません。ほとんどのアプリケーションは、この拡張機能を有効にしても実行できませんでした。既定では、/etc/ssh/ssh_configファイルのForwardX11Trustedオプションがyes に設定されており、ssh -Xremote_machine(untrusted host) とssh -Yremote_machine(trusted host) のコマンドに違いはありません。
警告
Red Hat は、信頼できないホストへの接続中に X11 転送を使用しないことを推奨します。