LoginSignup
2
1

ssh001.png

SSHがあればサーバーに物理的にアクセスせずともリモートで操作する事が出来ます。

そこで今回はOpenSSH で確認するべきセキュリティー設定についてご紹介致します。

設定ファイルの場所

OpenSSHの設定ファイルのパスはデフォルト設定では下記の様になっております。

設定を変更した場合は読み込みの為、サービス再起動が必要となります。

/etc/ssh/sshd_config

パスワード認証の無効化

初めにご紹介するのはパスワード認証の無効化です。

パスワード認証は読んで字のごとく、ユーザー名とパスワードを使用したログイン方法となります。

一般的にサービスとして公開されているサーバーでは「公開鍵認証」が採用さてており「パスワード認証」が有効化されている事は少ないかと思います。

パスワード認証ではブルートフォース等の攻撃により突破される可能性がある為、有効化しているとセキュリティリスクが高まります。

パスワード認証を無効化するには下記の設定値を変更する必要があります。

PasswordAuthentication yes

上記がyesとなっている場合はパスワード認証が有効化されている状況となっております。

下記に変更しパスワード認証を無効化する事が出来ます。

PasswordAuthentication no

ポートを変更する

次にご紹介するのはデフォルトポートから変更する方法となります。

sshサービスでは22番ポートがデフォルトとして広く利用されております。

その為、悪意のあるユーザーも22番ポートを対象に攻撃を行う事がございます。

上記の理由から利用ポートを変更する事でセキュリティリスクを下げる事が出来ます。

ポートの指定は下記の様に設定する事が出来ます。

Port 番号

今回は例として「7628」ポートを指定する例をご紹介します。

Port 7628

また応用として下記の様に指定する事で複数のポートを利用可能にする事も可能となっております。

Port 7628
Port 7629
Port 7630

またポートを変更する場合は「ファイヤーウォール」の設定や「SELinux」の設定が必要となります。

用途に合わせてご変更お願い致します。

rootログインを禁止する

次にご紹介するのはrootログインを禁止する方法です。

Linuxの運用において、rootを使用した作業は推奨されておりません。

基本的には各ユーザーに対して適切な権限を付与し作業する事が好ましいとされております。

rootアカウントのログインを禁止するには下記の様に設定する事が出来ます。

PermitRootLogin no

パスワード認証のみを禁止し公開鍵認証の利用を許可する場合は以下の様に設定します。

PermitRootLogin prohibit-password

アクセス制限を行う

最後にご紹介するのはアクセス制御をかける方法です。

特定のユーザーやグループのみを許可する事でセキュリティリスクを下げる事が出来ます。

許可するユーザーの指定は下記の様に設定する事が出来ます。

AllowUsers user1 user2 user3

上記設定では「user1」「user2」「user3」のユーザーのみSSHを許可する設定となります。

許可するグループの指定は下記の様に設定する事が出来ます。

AllowGroups Group1 Group2 Group3

上記設定では「Group1」「Group2」「Group3」のグループに所属しているアカウントのみSSHを許可する設定となります。

設定を反映させる

SSHの設定変更が完了したらサービスの再起動が必要となります。

適切な設定が行われている事を確認し下記コマンドを実行してください。

systemctl reload sshd

設定変更が完了しましたら動作確認を行います。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1