私が管理するLinuxサーバーはほぼすべてSSH経由で接続されています。20年以上Linuxに携わってきた経験から、セキュリティを考慮したSSHの設定は私にとって非常に簡単です。しかし、私がこれを行っているのは主に小規模な導入環境で、サーバーにアクセスするユーザーが少数しかいない場合です。このようなマシンでは、SSH設定は手動で行うことが多いです(テキストエディタでssh_configファイルとsshd_configファイルを編集するなど)。
参照: セキュリティインシデント対応ポリシー (TechRepublic Premium)
しかし、データセンターで大規模な導入環境を扱っている場合はどうでしょうか?nanoやviを使って設定をいちいち管理するのは面倒でしょう。もし既にWebminを導入しているなら、設定変更をかなり簡単に行うことができます。
やり方をお見せしましょう。
必要なもの
これを動作させるには、お使いのディストリビューションにWebminがインストールされている必要があります。UbuntuとRocky LinuxへのWebminのインストール方法については既に説明しました。これらの記事を読んで、お使いのサーバーディストリビューションでWebminを起動してください。Webminが起動したら、SSHの設定は完了です。
Webmin経由でSSHを設定する方法
Webmin にログインし、[Webmin] タブをクリックして、[Servers] エントリを展開します (図 A )。
図A

SSH セクション (図 B ) で、[認証] をクリックします。
図B

まず、「ルートによるログインを許可する」で「いいえ」を選択します(図C)。選択が完了したら、「保存」をクリックします。SSHキー認証を設定する予定の場合は、そのサーバーにリモートアクセスするすべてのユーザーに対してキー認証を設定するまで、「パスワードによる認証を許可する」を「はい」のままにしておきます。
図C

「モジュールインデックスに戻る」をクリックし、「アクセス制御」をクリックします。このウィンドウ(図D)では、SSH経由でサーバーにアクセスを許可するユーザーとグループを設定できます。
図C

グループルートを選択する場合は、まず新しいグループを作成し、そのグループにユーザーを追加する必要があります。これはすべて、「システム」>「ユーザーとグループ」で行われます。例えば、「editorial」という新しいグループを作成し、必要なユーザーを追加したとします。完了したら、「SSHアクセス制御」に戻り、「すべて」(「グループのメンバーのみを許可」に関連付けられている)の右側にあるチェックボックスをオンにし、テキストフィールドに「editorial」と入力します。「保存」をクリックしてモジュールインデックスに戻ります。インデックスに戻ったら、「変更を適用」をクリックします。これで、SSHアクセスがそのグループ内のユーザーのみに制限されました。他の操作を行う前に、必ず新しい設定をテストしてください。
次に、SSHを標準以外のポートを使用するように設定することを検討してください。そのためには、WebminのSSH設定ウィンドウで「ネットワーク」オプションをクリックします。ここで(図E)、デフォルトのポート番号22を任意のポート番号に変更できます。
図D

ポートを変更したら、必ず「保存」をクリックし、モジュールインデックスで「変更を適用」をクリックしてください。ただし、SELinuxを採用しているLinuxディストリビューションを使用している場合は、セキュリティシステムに新しいポートへの変更を通知する必要があることに注意してください。Webminには標準ではSELinuxモジュールが含まれていないため、以下のコマンドを使って手動で設定する必要があります。
sudo semanage port -a -t ssh_port_t -p tcp 2112
これを実行すると、次のように SSH にアクセスできるようになります。
ssh 192.168.1.169 -p 2112
これで、Webmin GUIを使ってSSHをより簡単に設定できるようになりました。Linuxサーバーが多数設置された大規模なデータセンターをお持ちの場合は、Webmin GUIの方が効率的(かつ簡単)です。
Jack Wallen によるビジネス プロフェッショナル向けの最新のテクノロジー アドバイスをすべて知るには、YouTube でTechRepublic の How To Make Tech Work を購読してください。