まとまりのないブログ

something which something is something

linux

特定のipアドレスをルータでアクセス制限する

投稿日:

ルータによるアクセス制限の方法についてのメモ。

apacheのログに不審なアクセスが記録されていた。

58.62.172.114 - - [28/Jul/2009:02:17:53 +0900] "CONNECT 205.188.251.43:443 HTTP/1.0" 405 355 "-" "-"
58.62.172.114 - - [28/Jul/2009:02:19:55 +0900] "CONNECT 64.12.200.89:443 HTTP/1.0" 405 353 "-" "-"
58.62.172.114 - - [28/Jul/2009:02:21:57 +0900] "CONNECT 64.12.202.116:443 HTTP/1.0" 405 354 "-" "-"
58.62.172.114 - - [28/Jul/2009:02:23:58 +0900] "CONNECT 205.188.251.43:443 HTTP/1.0" 405 355 "-" "-"
58.62.172.114 - - [28/Jul/2009:02:25:59 +0900] "CONNECT 64.12.200.89:443 HTTP/1.0" 405 353 "-" "-"
58.62.172.114 - - [28/Jul/2009:02:28:02 +0900] "CONNECT 64.12.202.116:443 HTTP/1.0" 405 354 "-" "-"
58.62.172.114 - - [28/Jul/2009:02:30:02 +0900] "CONNECT 205.188.251.43:443 HTTP/1.0" 405 355 "-" "-"
58.62.172.114 - - [28/Jul/2009:02:31:59 +0900] "CONNECT 64.12.200.89:443 HTTP/1.0" 405 353 "-" "-"
58.62.172.114 - - [28/Jul/2009:02:34:00 +0900] "CONNECT 64.12.202.116:443 HTTP/1.0" 405 354 "-" "-"
58.62.172.114 - - [28/Jul/2009:02:36:00 +0900] "CONNECT 205.188.251.43:443 HTTP/1.0" 405 355 "-" "-"
58.62.172.114 - - [28/Jul/2009:02:37:59 +0900] "CONNECT 64.12.200.89:443 HTTP/1.0" 405 353 "-" "-"
58.62.172.114 - - [28/Jul/2009:02:39:59 +0900] "CONNECT 64.12.202.116:443 HTTP/1.0" 405 354 "-" "-"
58.62.172.114 - - [28/Jul/2009:02:45:57 +0900] "CONNECT 64.12.202.116:443 HTTP/1.0" 405 354 "-" "-"
58.62.172.114 - - [28/Jul/2009:02:48:00 +0900] "CONNECT 205.188.251.43:443 HTTP/1.0" 405 355 "-" "-"
58.62.172.114 - - [28/Jul/2009:02:49:56 +0900] "CONNECT 64.12.200.89:443 HTTP/1.0" 405 353 "-" "-"
58.62.172.114 - - [28/Jul/2009:02:51:56 +0900] "CONNECT 64.12.202.116:443 HTTP/1.0" 405 354 "-" "-"

58.62.172.114というアドレスの持ち主が私のサーバを踏み台にして他のサーバへアクセスしているらしい。”CONNECT 205.188.251.43:443 HTTP/1.0″という部分は443ポート(SSL)で205.188.251.43に対して接続を試みているという意味。結果は全てステータス405で失敗に終わっているが,気味が悪いので一応58.62.172.114というアドレスからのアクセス制限という対策をしておくことにする。

アクセス制限をする方法は,思いついたのは2つ。一つ目は,私はサーバをubuntuで運用しているので,iptablesを設定してパケットの通過を遮断するという方法。もう一つはルータにて特定のアドレスを遮断するという方法。応用が利いて実践的なのはiptablesにてアクセス制限を実施する方法。簡単なのはルータにてアクセス制限をする方法。iptablesの設定は別に難しいというわけではないが,幅広い設定をすることができるために覚えることが多く,動作テストに試行錯誤を必要とするため多少手間がかかる。今回は特定のipアドレスからのアクセスのみ制限をできたらいいのでルータにて設定してみることにする。(私自身iptablesの設定は前にやったことがあるけれど,思い出すのがしんどい・・・)

私が使っているルータについて。BUFFALOのWHR-HP-G54という機種。無線Lanに対応した家庭用のルータ。今気づいたが,パケットフィルタリングの機能が意外と充実している模様。

アクセス制限を設定してみる。

  1. b-r-1ルータの管理画面にログインする。そしてパケットフィルタのページを表示させる。(右画像)
  2. b-r-2IPフィルタ登録情報の編集ボタンをクリックしてルールを追加する。動作は無視,方向はWAN→LAN,送信元にアクセス制限をするipアドレスを入力する。宛先は空白にすると全てが対象になるならしい。プロトコルは全てのプロトコルを対象にする。入力が終わったら設定ボタンをクリックして保存する。

ルータにて特定のipアドレスの設定をやってみたが,効いてるのかどうかはしばらく様子見。ところで,特定のipアドレスのアクセス制限をするのにapacheで設定する方法はあるのだろうか。今回のような踏み台にすることを目的にアクセスして来られた場合,htaccessで設定をしてもアクセス制限はできない。htaccessは特定のディレクトリやファイルに対してアクセスを制限することはできるが,他のサイトに対する接続に対しては制限できない。調べれば設定方法があるかもしれないが,今のところは不明。

設定していて気づいたが,このパケットフィルタ機能はLAN→WANの方向にもアクセス制限をすることができるようになっている。例えば,自分の子供が居たとして,自宅のインターネット環境から未成年者には不適切な有害サイトにアクセスができないように設定をするということもできる。中毒性が高いオンラインRPGや出会い系サイト,SNSサイトなど,ドメインをwhois検索で調べてそのホストのサーバipアドレスをパケットフィルタで設定すれば強制的に閲覧できないようにすることができる。または,やめたくてもやめられない人などにも有効な対策になるかもしれない。ただし,2ちゃんねる掲示板のような大規模なサイトへのアクセスを制限するのは,ルータでは手間がかかりすぎる。サブドメインが多数存在しているため,その都度ipアドレスを登録しないといけないので,やるならiptablesなどのファイアウォールソフトで2ch.netのドメインに対してパケットを飛ばないように設定するしかない。

アクセス制限結果

  • b-r-3しばらくして確認してみると,登録フィルタのパケットの項目の数値が49と記録されていた(右画像赤丸)。apacheのログを見ると,アクセス制限を設定してから現在までの間に対象のipアドレスでのアクセスは記録がされていないのが確認できた。というわけで,ルータでのアクセス制限の設定は無事成功していることが確認できた。

-linux

執筆者:


comment

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

no image

debianにpostfixをインストール

root@cdn-project:/# apt-get install postfix 途中、セットアップのタイプとメール名の選択をするステップがある。インターネットサイトを選択して、ドメイン名を入力 …

no image

debianにopensslをインストール

opensslをインストールしてセキュアなhttps通信ができるようにする。

no image

VirtualHost *:80 — mixing * ports and non-* ports with a NameVirtualHost

cdn-project:/etc/apache2# /etc/init.d/apache2 restart Forcing reload of web server (apache2)…[Fri …

no image

サーバ版のUbuntuに固定ipアドレスを設定する

Debianの設定とは微妙に違ったのでメモ。下記の例は固定のipアドレス192.168.11.11をサーバ版のUbuntuに設定したもの。私はbuffaloのルータを使っているためlanのネットワーク …

no image

linux debian にphpをインストール

cdn-project:/home/nakahira# apt-get install php5 パッケージリストを読み込んでいます… 完了 依存関係ツリーを作成しています… 完了 以下の特別 …