接続元IPアドレスでアクセスを制限する


万一ユーザー名とパスワードが漏洩してしまうと、どこからでもSSHやFTPでサーバーに接続できてしまいます。
接続元が固定IPアドレスのネットワーク環境に限られる場合は、TCP wrapper の設定をすることで、特定のIPアドレスからの接続のみを許可するよう、サービスごとにアクセスを制限できます。
このマニュアルでは、特定のIPアドレスからのみSSH接続とFTP接続を許可する場合を例に設定方法をご案内します。

  • このマニュアルでは Cent OS を使用している場合を例にご案内します。
  • Linux コマンドに関してはサポート対象外となります。
    ご不明な点や詳細についてはインターネットや書籍にてご確認ください。

?

  1. rootアカウントでログインします。

    [root@v0000 ~]#

    プロンプト表示に続けて次のコマンドを入力します。

    [root@v0000 ~]# vi /etc/hosts.allow
    • 「vi」と「/etc/hosts.allow」の間はスペースが入ります。

    入力したらキーボードの Enterキーを押します。

  2. viエディタで[hosts.allow]の内容が表示されます。

    #
    #?hosts.allow???This file contains access rules which are used to
    #???????????????allow or deny connections to network services that
    #???????????????either use the tcp_wrappers library or that have been
    #???????????????started through a tcp_wrappers-enabled xinetd.
    #
    #???????????????See 'man 5 hosts_options' and 'man 5 hosts_access'
    #???????????????for information on rule syntax.
    #???????????????See 'man tcpd' for information on tcp_wrappers
    #
    ~
    ~
    ~
    ~

    キーボードの「i」キーを押し、viエディタを入力モードにし、下記の内容を追記します。

    #
    #?hosts.allow???This file contains access rules which are used to
    #???????????????allow or deny connections to network services that
    #???????????????either use the tcp_wrappers library or that have been
    #???????????????started through a tcp_wrappers-enabled xinetd.
    #
    #???????????????See 'man 5 hosts_options' and 'man 5 hosts_access'
    #???????????????for information on rule syntax.
    #???????????????See 'man tcpd' for information on tcp_wrappers
    #
    #すべてのサービス: ローカルホストからは許可
    ALL: 127.0.0.1
    #
    #SSH接続: 特定のIPからのみ許可
    sshd: 123.456.789.123
    #
    #FTP接続: 特定のIPからのみ許可
    ftpd: 123.456.789.123
    ~
    ~
    ~
    ~
    -- INSERT --
    • 例示した 123.456.789.123 は、実在しないIPアドレスです。IPアドレスは、「.(ドット)」で区切られた 0 ~ 255 の数字4組で表記されます。

    編集が完了したら、キーボードの Escキーを押し、viエディタをコマンドモードに戻します。

  3. 編集内容を保存するため、次のコマンドを入力します。

    ~
    ~
    :w

    入力したらキーボードの Enterキーを押します。

  4. viエディタを終了するため、次のコマンドを入力します。

    ~
    ~
    :q

    入力したらキーボードの Enterキーを押します。

  5. コマンドプロンプトに戻ります。
    プロンプト表示に続けて次のコマンドを入力します。

    [root@v0000 ~]# vi /etc/hosts.allow
    [root@v0000 ~]# vi /etc/hosts.deny
    • 「vi」と「/etc/hosts.deny」の間はスペースが入ります。

    入力したらキーボードの Enterキーを押します。

  6. viエディタで[hosts.deny]の内容が表示されます。

    #
    #?hosts.deny????This file contains access rules which are used to
    #???????????????deny connections to network services that either use
    #???????????????the tcp_wrappers library or that have been
    #???????????????started through a tcp_wrappers-enabled xinetd.
    #
    #???????????????The rules in this file can also be set up in
    #???????????????/etc/hosts.allow with a 'deny' option instead.
    #
    #???????????????See 'man 5 hosts_options' and 'man 5 hosts_access'
    #???????????????for information on rule syntax.
    #???????????????See 'man tcpd' for information on tcp_wrappers
    #
    ~
    ~
    ~
    ~

    キーボードの「i」キーを押し、viエディタを入力モードにし、下記の内容を追記します。

    #
    #?hosts.deny????This file contains access rules which are used to
    #???????????????deny connections to network services that either use
    #???????????????the tcp_wrappers library or that have been
    #???????????????started through a tcp_wrappers-enabled xinetd.
    #
    #???????????????The rules in this file can also be set up in
    #???????????????/etc/hosts.allow with a 'deny' option instead.
    #
    #???????????????See 'man 5 hosts_options' and 'man 5 hosts_access'
    #???????????????for information on rule syntax.
    #???????????????See 'man tcpd' for information on tcp_wrappers
    #
    ALL:ALL
    ~
    ~
    ~
    ~
    -- INSERT --

    編集が完了したら、キーボードの Escキーを押し、viエディタをコマンドモードに戻します。

  7. 編集内容を保存するため、次のコマンドを入力します。

    ~
    ~
    :w

    入力したらキーボードの Enterキーを押します。

  8. viエディタを終了するため、次のコマンドを入力します。

    ~
    ~
    :q

    入力したらキーボードの Enterキーを押します。

評価点数: 5 (1 件の投票)