【CentOS】SSH接続のIPを制限する

hostsでIP制限するお話

サーバのIP制限はしっかり対応していらっしゃいますでしょうか。

SSHの場合は22番を解放していきますが、固定IPを持っていないからと全解放しちゃうのはいかがなものでしょう。

面倒くさいからと全解放なんてしていると後で痛い目にあうと思ういます。

手間でもしっかり設定しておくと安心安全に運用できます。

いつもはAWSやAzureのセキュリティグループでIP制限することが多いのですが、今回はサーバに直接IP制限を実施してみました。

スポンサーリンク

hosts.deny・hosts.allow

/etc/配下にあるhosts.denyとhosts.allowを修正します。

hosts.deny
アクセス拒否設定

hosts.allow
アクセス許可設定

まずはsshをすべて拒否設定

# vi /etc/hosts.deny

sshd : all

次に許可したいIPを設定

# vi /etc/hosts.allow

#all : all
sshd : ***.***.***.***

hosts.allowにall:allがあると全許可が優先されてしまうのでコメントアウト必須。

処理される順序について

1 hosts.allowを参照
 記述にマッチする場合は接続が許可されて2は処理されない
 対象でない場合は2に進む

2 hosts.denyを参照
 記述にマッチする場合は接続が拒否される
 対象でない場合は許可される

sshdなので再起動必要かと思いきや不要。

これで指定したIPのみSFTPでアクセスできるようになります。

あるあるなのがオンプレでLANのみ接続したいとき。

hosts.denyで全拒否して

# vi /etc/hosts.deny

sshd : all

IPが192.168.***.***の場合は下記のように省略が可能です。

# vi /etc/hosts.allow

#all : all
sshd : 192.168.

192.168.0.0/16のような記述はできませぬ。

IPが増えるならセキュリティグループで対応したほうが安心な気がします。

コメント

タイトルとURLをコピーしました