グローバルIPにつなぐマシンで ssh を使うときなどは、セキュリティ上の設定が絶 対に必要である. そのために,ユーザ名,IPアドレスによるアクセス制限を行うように設定する.
sudo apt -yV install openssh-client
sudo apt -yV install openssh-server
以下の操作は,接続先のマシンで,システム管理者が実施する.
root でのログインの抑止
空のパスワードの抑止
ホストの IP アドレスの逆引きの抑止。これが Yes のままだと ssh でのログインが遅い場合がある。
設定内容は次の通り.
これは,SSH に限定せず,通信全般をポート番号により遮断するもの.
sudo ufw enable sudo ufw default DENY sudo ufw allow from any port 22 sudo ufw allow to any port 22 sudo ufw allow from any port 80 sudo ufw allow to any port 80 sudo ufw limit ssh
「AllowGroups ...」は,特定のグループ名のみログインを許すための設定. 「AllowUsers ...」は,特定のユーザ名のみログインを許すための設定
wheel hoge1 hoge2 のところは, ssh によるログインを許すグループ名,ユーザ名を列挙する.
AllowGroups wheel
AllowUsers hoge1 hoge2
Match User hoge1
X11Forwarding yes
AllowTcpForwarding yes
Match User hoge2
X11Forwarding yes
AllowTcpForwarding yes
Match User hoge3
X11Forwarding yes
AllowTcpForwarding yes
/etc/group の設定を忘れない。 /etc/group の wheel の行に、ログインさせたいユーザ hoge1, hoge2 が含まれるように設定する.
PAM 制御で、 SSH を使えるIP アドレスでの制限を行なう. (PAM 制御で、ユーザ名、グループ名での制限も書くことはできますが、ユー ザ名、グループ名については sshd_config ファイルで設定することにしています)。
まず、pam_access.so ファイルを探します
echo /lib*/security/pam_access.so
見つかったら、そのファイル名を使って、「account required /libほにゃらら/security/pam_access.so」という 1行を、/etc/pam.d/sshd に書く。
vi /etc/pam.d/sshd # 次のような1行を追加 ---- # 32 ビットのマシンでは次のようになります。 account required /lib/security/pam_access.so # 64 ビットのマシンでは次のようになります。 account required /lib64/security/pam_access.so # どちらか 1行を書くことになります。
ログイン許可をするユーザ名, IP アドレスの範囲を記述する (IP アドレス, ネットワークアドレスを書くときは、末尾に 「.」 が必要なので「127.0.0.1.」は間違いではない)
vi /etc/security/access.conf # 次のように記述する -:ALL:ALL EXCEPT LOCAL 127.0.0.1. XXX.YYY. AAA.BBB.CCC. +:ALL:LOCAL 127.0.0.1. XXX.YYY. AAA.BBB.CCC.
バージョン1 での接続ができないように設定する方法です。
vi /etc/ssh/sshd_config # 「# Protocol ..」とある行を探し、次のように書き直す(# は付けない). Protocol 2
TCP wrapper の設定ファイルである /etc/hosts.allow を確認する.
ALL: LOCAL XXX.YYY.: ALLOW
sshd: LOCAL XXX.YYY. AAA.BBB.CCC.: ALLOW
ALL: ALL: DENY
ネットワークアドレスの末尾に付ける「.」は忘れないようにしましょう)。
【設定例】
ALL: LOCAL XXX.YYY.: ALLOW sshd: LOCAL XXX.YYY. AAA.BBB.CCC.: ALLOW gdm: LOCAL XXX.YYY. AAA.BBB.CCC.: ALLOW ALL: ALL: DENY
Ubuntu ならば、
sudo service sshd restart
個々のIPアドレスでの制限を行ないたい場合には、 /etc/ssh/sshd_config に「ListenAddress ...」の行を追加します。 IPアドレスの「範囲」は書けません。
vi /etc/ssh/sshd_config ---- ListenAddress 127.0.0.1 ListenAddress XXX.YYY.ZZZ.WWW
rlogin, rcp などは、パスワードが平文で送られるだけでなく、下記の問題が ある。
SSH をインストールすると,これらr系のコマンドは,より secure なものに置き換える. 但し,ユーザの .ssh 以下が読めたり,書き換えられると,ssh での防御が破られる.過信はしないこと.
本サイトは金子邦彦研究室のWebページです.サイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.
問い合わせ先: 金子邦彦(かねこ くにひこ) ![]()