誰がどこからアクセスするのかルールを決める

使用中のグローバルIPアドレスの確認

インターネットに繋いだサーバーを管理しているのであれば、「誰が」「どこから」アクセスするのかルールを決める必要があります。

ここで言う「誰が」というのはシステムにログインできるユーザーID。

sshd_configにAllowUsersを追記

/etc/ssh/sshd_configにAllowUsers を追記してsshdを再起動。

AllowUsers USER_ID

どこから」というのは接続元となる使用中のグローバルIPアドレスのことです。

sshログインしてIPアドレスを確認する方法

who

whoコマンドを使えば、以下の④ように接続元IPアドレスが表示されます。

  ①      ②                 ③                ④
USER_ID      pts/0        2022-12-19 17:23 (xxx.xxx.xxx.xxx)

その他の項目についても記します。

  1. 現在システムにログインしているユーザーID
  2. デバイスファイル名
  3. ログインした時刻
  4. 接続元のグローバルIPアドレス

Webサービスにアクセスして確認する方法

「確認くん」一度はアクセスしたことある方も多いと思います。

ブラウザで「確認くん」を検索しアクセスすれば「あなたのIPアドレス(IPv4)」に接続元IPアドレスが表示されます。

TCP Wrapperの設定

TCP Wrapperはサービス毎にリモートホストからのアクセスの可否を制御できるLinux向けのセキュリティソフトウェアです。

設定ファイルはhosts.allowとhosts.denyの2つ。

/etc/hosts.allow許可するIPやホスト名を記述
/etc/hosts.deny一般的には全て拒否する設定

RHEL8やCentOS8ではTCP Wrapperが廃止され、Firewalldでアクセス制御する仕様に変更されました。

ここでは、TCP Wrapperが使えるDebianやUbuntuを例に解説します。

hosts.allowの設定例

# /etc/hosts.allow: list of hosts that are allowed to access the system.
#                   See the manual pages hosts_access(5) and hosts_options(5).
#
# Example:    ALL: LOCAL @some_netgroup
#             ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
#
# If you're going to protect the portmapper use the name "rpcbind" for the
# daemon name. See rpcbind(8) and rpc.mountd(8) for further information.
#

sshd:   xxx.xxx.xxx.xxx                   # MyIPAddress

11行目にプロセス名(sshd)と調べたグローバルIPアドレスを記述。

hosts.denyの設定例

ALL:  ALL

一般的にhosts.denyでは上のように記述して全ての通信を拒否します。

TCP Wrapperの設定参照順

  1. /etc/hosts.allow
  2. /etc/hosts.deny

最初に/etc/hosts.allowが参照されクライアントがリストに存在すれば接続許可。

なければ/etc/hosts.denyの内容が評価されます。

hosts.allowの中身が利用中のグローバルIPアドレスと異なる場合、アクセスできなくなるのでご注意ください。

動的にグローバルIPアドレスが変わる場合

固定IPアドレスを契約していなければ、IPアドレスはいつかは変わります。

動的IPアドレスの場合は「ネットマスク形式」か「.au-net.ne.jp」のようにクライアントフィールド範囲を広げて設定する事ができます。

ネットマスク形式

sshd:   106.128.0.0/255.192.0.0                   # au

ドメイン形式

sshd:   .au-net.ne.jp                             # au

この設定は、au-net.ne.jpに属する全てのホストからsshアクセスを許可するという意味。

動画講座 TCP Wrapperに動的IPアドレスを設定する方法

関連記事

コメント

この記事へのコメントはありません。

おすすめ記事

  1. 【多段SSH】公開鍵認証で中継サーバー経由のログインが簡単!

  2. インターネットに繋いだサーバーで最初にやらなければならない設定

  3. Swapの中身を特定する方法

  4. Linuxを極めるならコマンドよりも〇〇が先だ!!

  5. お名前ドットコムのDNS設定方法