Linux サーバのアクセス制限設定

   2014/01/28

36

スポンサーリンク

Linuxについての記事です。
サーバ構築でCentOSをインストールした直後に行う設定がリモート接続のアクセス拒否設定です。

Linux サーバのアクセス制限設定

LinuxOSのCentOSでサーバとして運用させるときに、クライアントPCからリモートでホスト側のサーバに接続して操作することが多くなります。
CentOSのインストールをしたばかりの状態だと、どのクライアントマシンからでもリモート接続できるようになってしまっています。サーバマシンのセキュリティの状態をよくするために、指定したIPアドレスからのみリモートでの接続の要求を許可するように設定します。
この設定をしておけば、sshなどのリモート接続できるコンピュータを制限することができます。

自分の場合はデーモンごとに分けたりはしていませんが、デーモン毎にアクセス許可もしくはアクセス拒否をするホスト名やIPアドレスを指定することもできます。

/etc/hosts.allowと/etc/hosts.denyの編集

設定方法
テキストエディタを使って/etc/hosts.allowファイルと/etc/hosts.denyファイルを編集していきます。
書式はどちらのファイルも同じになります。
/etc/hosts.denyは接続を拒否するIPアドレスを指定します。
書式は

デーモン名:ホスト名もしくはIPアドレス

という具合になります。

すべてのデーモンのすべてのホスト名、IPアドレスからのアクセスを拒否もしくは許可するという具合に設定をするときの書式は

ALL: ALL

という入力をします。

アクセス拒否の設定


$ su -
パスワード:
# vi /etc/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
#

ファイルを開くとこのような内容で表示されています。
ここの一番最後の行に接続拒否したいホスト名もしくはIPアドレスを入力していきます。
自分の場合はすべての接続を拒否したいのでALL:ALLを付け加えていきます。
この操作をするとすべてのクライアントからのリモート接続を拒否することができます。
この状態ではリモート接続できないので、/etc/hosts.allowファイルを設定してアクセス許可できるクライアントマシンを追加していきます。


# vi /etc/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
#
ALL:    ALL

アクセス許可の設定

この状態でファイルを保存して次に/etc/hosts.allowファイルを編集します。


# vi /etc/hosts.allow

#
# 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
#

このファイルの一番下の行にアクセス許可するデーモンとそれに対応するホスト名もしくはIPアドレスを入力します。
自分の場合はすべてのデーモンに対して指定したIPアドレスからのみ接続許可していきます。
ALL: 10.10.1.0/255.255.255.0
ALL: 10.10.10.0/255.255.255.0
このようにIPアドレスとサブネットマスクを設定しておくことで接続許可するIPアドレスのクライアントを調節することができます。
指定されたセグメントからの通信のみ応答するようになり、それ以外は応答しません。


# vi /etc/hosts.allow

#
# 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: 10.10.1.0/255.255.255.0
ALL: 10.10.10.0/255.255.255.0

スポンサーリンク

以上で接続許可、拒否の設定が完了です。システムを再起動します。


# shutdown -r now

システムの再起動後は設定が反映されます。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • 36 follow us in feedly

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

*

内容に問題なければ、下記の「コメント送信」ボタンを押してください。