title

Top  >> Vine Linux Menu  >> SSH サーバ  >> 接続制限の設定

接続制限の設定

 SSH で接続可能なユーザを制限する

 sshd_config にSSH サーバの各設定を行いますが、このファイルに項目を追記する事によって、接続可能なユーザを限定する事ができます。 デフォルトでは、すべてのユーザが接続可能であり、セキュリティ上好ましくありません。 接続制限は、sshd_config に「AllowUsers」「DenyUsers」といった項目を追記する事で実現できます。 sshd_config に記述するので、SSH の接続とSFTP の接続にのみ有効です。 制限をかける「AllowUsers」と「DenyUsers」は、それぞれ「許可」「拒否」を示し、sshd_config への設定においては以下のような意味合いを持っています。

AllowUsers
記述されたユーザのみ許可。それ以外は拒否。
DenyUsers
記述されたユーザのみ拒否。それ以外は許可。

 基本的には、すべての接続が許可されているので、Allow に必要最低限のユーザの記述を行う方が良いです。 AllowUsers に記述されていないユーザはパスワードを入力してもログインできないようになります。 一方、DenyUsers に拒否ユーザを記述する場合には、その他のユーザはすべて許可になります。 管理するユーザ数にもよりますが、AllowUsers として記述を行う方が、DenyUsers よりも制限をかけやすいと思います。 ちなみに、AllowUsers とDenyUsers の両方に同じユーザ名を書いた場合には、拒否になります。

「ユーザ名@ホスト」の書式により、ホストとユーザを組み合わせた制限も行う事ができます。 また、「AllowGroups」や「DenyGroups」でグループ指定可能であり、ワイルドカード「*」も適用できるので、上手く組み合わせて設定を行います。 DenyUsers の記述も書式はAllowUsers と同じです。 以下に例を挙げます。

AllowUsers の記述例
記述例 制限
AllowUsers penguin ユーザ名がpenguin のみ許可、その他は拒否
AllowUsers penguin campus ユーザ名がpenguin とcampus のみ許可、その他は拒否
AllowUsers penguin@192.168.1.2 ユーザ名がpenguin で、ホストが192.168.1.2の場合のみ許可、その他は拒否
AllowUsers *@192.168.1.2 ホストが192.168.1.2の場合のみ許可、その他は拒否
AllowGroups note グループ名がnote のユーザのみ許可、その他は拒否

上記の書式に習い、sshd_config にAllowUsers として項目を追加します。 追加する場所は任意ですが、最後の行に追加した方が後で編集しなおす場合にも分かりと思います。

* 編集を間違えると、元に戻すまでSSH での接続ができなくなりますので、リモートではなく直接マシン上で作業を行うか、他のリモート手段などを確保してから十分に注意して設定を行う事をお勧めします。

例えば、ユーザ名「penguin」のみ許可にする場合には、次のように記述します。

AllowUsers penguin

編集後は、sshd を再起動します。 デーモンを再起動しなければ設定は反映されません。


このページのTop へ

 SSH の接続要求を制限する

 sshd_config 内の「MaxStartups」の項目は、認証されていない段階の接続をSSH デーモンが受け付ける確率を指定できます。 この指定は、不正なSSH アクセスが一度にたくさん行われる場合などに接続要求を拒否する手段としてで有効です。

「MaxStartups」の設定は、オプションにコロンで区切った3つの値を指定する事によって行います。 書式は、「開始数:確率:最大数」であり、すべて半角数字で指定します。 SSH の接続が開始数を超えたならば、指定した確率で接続を拒否し始め、最大数になったらそれ以降の接続を拒否します。

例えば、次のように記述したとします。

MaxStartups 2:70:5

上記のように記述した場合、2つまでの接続要求を受け付け、これを超えると70%の確率で接続要求を拒否し、5つを超えるとすべて拒否するようになります。

編集後は、設定を反映させるためにsshd の再起動が必要です。


このページのTop へ