トップページ -> インストール,設定,利用 -> Ubuntu の利用,運用保守,設定,便利な使い方,Ubuntu サーバ -> SSH サーバのユーザ名,IPアドレス等によるアクセス制限(Ubuntu 上)
[サイトマップへ], [サイト内検索へ]

SSH サーバのユーザ名,IPアドレス等によるアクセス制限(Ubuntu 上)

グローバルIPにつなぐマシンで ssh を使うときなどは、セキュリティ上の設定が絶 対に必要である. そのために,ユーザ名,IPアドレスによるアクセス制限を行うように設定する.


openssh のインストール (Ubuntu の場合)


接続先(SSH サーバ側)での設定 (Ubuntu の場合)

以下の操作は,接続先のマシンで,システム管理者が実施する.


設定内容

設定内容は次の通り.


ポート番号によるアクセス制限(ufw を使用)

これは,SSH に限定せず,通信全般をポート番号により遮断するもの.

Ubuntu の場合

の設定例
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

SSH のユーザ名、グループ名での制限

  1. AllowGroups ...」,「AllowUsers ...」

    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
    
  2. /etc/group

    /etc/group の設定を忘れない。 /etc/group の wheel の行に、ログインさせたいユーザ hoge1, hoge2 が含まれるように設定する.


IP アドレスでの制限

PAM 制御で、 SSH を使えるIP アドレスでの制限を行なう. (PAM 制御で、ユーザ名、グループ名での制限も書くことはできますが、ユー ザ名、グループ名については sshd_config ファイルで設定することにしています)。

  1. /etc/pam.d/sshdファイル

    まず、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行を書くことになります。
    
  2. /etc/security/access.conf

    ログイン許可をするユーザ名, 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.
    

パージョン 2 でのみ接続を許可

バージョン1 での接続ができないように設定する方法です。

vi /etc/ssh/sshd_config
 # 「# Protocol ..」とある行を探し、次のように書き直す(# は付けない).
Protocol 2

/etc/hosts.allow

TCP wrapper の設定ファイルである /etc/hosts.allow を確認する.

ネットワークアドレスの末尾に付ける「.」は忘れないようにしましょう)。

【設定例】

ALL: LOCAL XXX.YYY.: ALLOW
sshd: LOCAL XXX.YYY. AAA.BBB.CCC.: ALLOW
gdm: LOCAL XXX.YYY. AAA.BBB.CCC.: ALLOW
ALL: ALL: DENY

sshd の再起動

Ubuntu ならば、

sudo service sshd restart

(オプション) PAM 制御以外の方法でユーザ名, IP アドレスでの制限

個々のIPアドレスでの制限を行ないたい場合には、 /etc/ssh/sshd_config に「ListenAddress ...」の行を追加します。 IPアドレスの「範囲」は書けません。

vi /etc/ssh/sshd_config
----
ListenAddress 127.0.0.1
ListenAddress XXX.YYY.ZZZ.WWW

SSH の利点

rlogin, rcp などは、パスワードが平文で送られるだけでなく、下記の問題が ある。

SSH をインストールすると,これらr系のコマンドは,より secure なものに置き換える. 但し,ユーザの .ssh 以下が読めたり,書き換えられると,ssh での防御が破られる.過信はしないこと.


本サイトは金子邦彦研究室のWebページです.サイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.

問い合わせ先: 金子邦彦(かねこ くにひこ) [image]