SSH IPアクセス制限

SSHのIPアクセス制限 まとめ

SSH IPアクセス制限

SSH IPアクセス制限

SSHって

サーバーにリモートアクセスする時に使います。
サーバーをインストールした時には既にSSHサービスが入っているのが普通で
お馴染みなものです。
これのおかげで全国離れた場所のサーバー機器を設定する事ができます。

ということは・・

便利ですが世界中からグローバルに侵入される恐れがあるので
portの変更+IP制限でアクセスできるIP(場所)を制限するのが一般的です。

私が自分で構築する場合にはport変更+公開鍵認証での管理が便利なので
SSHでのIP制限する事は少ないかもしれません。

とはいってもやはりIP制限が一般的なので
お客様のサーバー管理を引き継ぐ時に知識が必要になる場合があります。
今回の記事ではSSHでのIPアクセス制限についてまとめました。

制限の手段はいくつかありますが
お手軽に設定できるのはTCP WrapperでのIPアクセス制限でしょうか。

【TCP Wrapper】

○ 制限を許可するファイル
/etc/hosts.allow

○ 制限を行うファイル
/etc/hosts.deny

許可ファイルの方が優先されるので
制限ファイルで全アクセス禁止にして、
許可ファイルで許可IPを指定し上書きするのが一般的です。

※記述例

☆ /etc/hosts.deny

sshd: ALL

☆ /etc/hosts.allow

sshd: 118.xxx.yyy.39, 22.xxx.yyy.39
sshd : 192.168.1.0/255.255.255.0

118.xxx.yyy.39, 22.xxx.yyy.39からのアクセス
ローカルネットワーク()からのアクセスを許可する設定。

【iptables】

/etc/sysconfig/iptables

iptables -A INPUT -s 118.xxx.yyy.39 -p tcp –dport 22 -j ACCEPT
iptables -A INPUT -s 22.xxx.yyy.39 -p tcp –sport 22 -j ACCEPT

設定を読み込ませる

[bash] # service iptables restart
[/bash]

【sshd認証】

/etc/ssh/sshd_config

○SSHポート変更(例: SSHでのアクセスを99922に指定)
#Port 22
Port 99922←追加します

○ListenAddress

[書式] ListenAddress ホスト:ポート
※記述例

[bash] ListenAddress 127.0.0.1
ListenAddress 118.xxx.yyy.39
ListenAddress 22.xxx.yyy.39
[/bash]

または

[bash] AllowUsers hogeuser@118.xxx.yyy.39
AllowUsers *@22.xxx.yyy.39
[/bash]

hogeuserでのログインかつ118.xxx.yyy.39からのアクセスを認める。
22.xxx.yyy.39からのアクセスを全て認める。
設定です。

【pam認証】

/etc/pam.d/sshd

以下を有効にする

[bash] account required pam_access.so
[/bash]

/etc/ssh/sshd_config

yesに変更

[bash] UsePAM yes
[/bash]

/etc/pam.d/sshd(account required pam_access.so accessfile=ファイル指定)
/etc/security/access.conf(またはaccess_login.confなど上記のコンフィグでファイル指定を行えばリネームしても良い。)

[bash] +:hogehoge: 許可某IP. うちのIP.
-:ALL: ALL
[/bash]

※+は許可,-は拒否

上記ら設定後に

[bash] # service sshd restart
[/bash]

で反映させる。

SSH IPアクセス制限
最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG