質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Q&A

解決済

1回答

2463閲覧

0.n.n.n のIPからapacheに来る大量の不正アクセスについて(VPS,WordPress,apache使用)

MasaNeko

総合スコア7

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

0グッド

0クリップ

投稿2017/05/13 22:17

編集2017/05/14 14:00

0.n.n.nのIPからのapacheへの大量アクセスについて

【環境】
・某社VPSをレンタルしてウェブサーバー(ubuntu14.04+apache2.4)を構築しています。WordPressを利用しています。

・不正アクセス検知に fail2ban を使っています

・wp-admin,wp-login 等にアクセスを1回でもしてきたIPがban対象です。なお,管理者はVPN経由でWP管理画面にアクセスできます。

【現象】
・約40分の間に,0.n.n.n の様々なIPから多数のアクセスを検知してbanしました。(末尾にログの一部を転記しました。)

・下記は,fail2ban からのメールメッセージ例(IPは毎回変化)です

The IP 0.0.30.9 has just been banned by Fail2Ban after 1 attempts against apache-vhosts.

【確認したこと】
Apacheのログを確認したものの,ban対象となった 0.n.n.n からのアクセスは記録されていません。
sshへのアタック形跡はありません。ウェブサーバーに対するアタックのみ確認できています。

【質問】
(1) ウェブサーバーへアクセスしてきた0.n.n.n の実体は何なのでしょうか?
同じVPS会社の別のVPSか,ネットワーク機器なのでしょうか?

(2) 0.n.n.n のアクセスログがapacheのログに無いということはログが改ざんされているのでしょうか。
fail2banは,アクセスログを見て判断しているのに,大元のログにアクセスの形跡がありません。
ログ改ざんにはroot権限必要だと思いますので,root権限が取られているのでしょうか?

(3) ログ改ざんの場合,可能な措置があるでしょうか。

(4) その他アドバイスを頂きたいです。

よろしくご教示いただければ幸いです。

【その他】
・fail2ban のログ例

2017-05-13 20:53:55,447 fail2ban.actions: INFO [apache-vhosts] 0.0.2.179 already banned 2017-05-13 20:53:56,449 fail2ban.actions: INFO [apache-vhosts] 0.0.31.141 already banned 2017-05-13 20:53:57,450 fail2ban.actions: INFO [apache-vhosts] 0.0.6.93 already banned 2017-05-13 20:53:58,452 fail2ban.actions: INFO [apache-vhosts] 0.0.11.168 already banned 2017-05-13 20:53:59,453 fail2ban.actions: INFO [apache-vhosts] 0.0.113.255 already banned 2017-05-13 20:54:00,455 fail2ban.actions: INFO [apache-vhosts] 0.0.6.157 already banned 2017-05-13 20:54:27,491 fail2ban.actions: WARNING [apache-vhosts] Ban 0.0.3.134 2017-05-13 20:54:36,528 fail2ban.actions: WARNING [apache-vhosts] Ban 0.0.11.225 2017-05-13 21:35:26,803 fail2ban.actions: WARNING [apache-vhosts] Ban 0.0.17.33 2017-05-13 21:35:38,840 fail2ban.actions: INFO [apache-vhosts] 0.0.14.112 already banned 2017-05-13 21:35:39,842 fail2ban.actions: INFO [apache-vhosts] 0.0.24.200 already banned 2017-05-13 21:35:40,844 fail2ban.actions: INFO [apache-vhosts] 0.0.32.17 already banned

またfail2ban のルールは下記のようなものです。

人間がかかわらないとできないアクセスですので,某VPS業者の内部がハッキングされているのではないかと,心配しています。

failregex = (?i)^.+:.* <HOST> .*admin.*$ ^.+:.* <HOST> .*htaccess.*$ ^.+:.* <HOST> .*wp-config.*$ ^.+:.* <HOST> .*wp-login.*$ ^.+:.* <HOST> .*xmlrpc.*$ ^.+:.* <HOST> .*w00tw00t.*$ (?i)^.+:.* <HOST> .*select%%20.*$ (?i)^.+:.* <HOST> .*select\+.*$ (?i)^.+:.* <HOST> .*delete%%20.*$ (?i)^.+:.* <HOST> .*delete\+.*$ (?i)^.+:.* <HOST> .*cgi.bin.*$

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takaboo

2017/05/14 01:22

念のためBANしている当該filterの設定もさらしてみては?
MasaNeko

2017/05/14 14:01

追記しました。やはり人がかかわらないと生成できないアクセスですので,VPS業者内部に侵入した者がいるのではないかと疑っています。
guest

回答1

0

ベストアンサー

fail2banでのログであれば、apache-vhostsの設定で参照しているログに痕跡が残っているかと思います。
また、IPアドレスは特殊なアドレスですので、可能性としては、同じサブネット体系の隣接する機器または、サーバ内部から通信をかけられている可能性があります。

netstat -a -n -p コマンドなどで、アクセス状況を確認して、外部からまたは内部からの接続であるかを確認した方が良いかもしれません.

投稿2017/05/14 00:14

nagaetty

総合スコア1106

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MasaNeko

2017/05/14 14:11 編集

ありがとうございます。 不思議にログには記録が無いのです。 logpath = /var/log/apache2/other_vhosts_access.log なのですが・・・  例えば grep '0.0.2.179' other_vhosts_access.log で見ても当該アクセスはありません。(正常なアクセスのIPをgrepすればもちろんでてきます) netstat -a -n -p で関連ありそうな行を下記に記します。 netstatの使い方が理解できないでいます。 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN - udp 0 0 0.0.0.0:10000 0.0.0.0:* - やはり,アクセスしてきているのは外部の可能性はあるでしょうか。
nagaetty

2017/05/14 14:04

上記は、ひとまず正常な表示のようです。 1行目は、sshサービスの受信待ち 2行目は、postgresqlの受信待ち 3行目は、メールの受信待ち 4行目は、mysqlの受信待ち 5行目は、webminの受信待ち
MasaNeko

2017/05/14 14:12

ありがとうございます。回答頂いている間に追記したのですが・・・ 不思議にログには記録が無いのです。 logpath = /var/log/apache2/other_vhosts_access.log なのですが・・・  例えば grep '0.0.2.179' other_vhosts_access.log で見ても当該アクセスはありません。(正常なアクセスのIPをgrepすればもちろんでてきます)
nagaetty

2017/05/14 14:19

下記のコマンドで、該当のログが表示されますでしょうか? grep '0.0.11.225' /etc/httpd/logs/*
MasaNeko

2017/05/14 22:44

ありがとうございます。こちらのディレクトリに合わせて実行しました。 grep '0.0.11.225' /var/log/apache2/* <- 何もヒットせず grep '0.0.11.225' /var/log/*      <- ↓ fail2banのログからのみヒット /var/log/0:2017-05-13 20:54:36,528 fail2ban.actions: WARNING [apache-vhosts] Ban 0.0.11.225 やはりApacheのログに記録なしです。 (幸い昨日午後5:28ころにはアタックはなくなりました。先方の手持ちIPを使い果たしたようです。 BanしたIPは236個でした。)
nagaetty

2017/05/15 00:33

0.0.X.Xはルータ越えではアクセスできないIPなので、侵入されている危険もあります。 clamavをインストールされていれば、sacnしてみるとか? ls -la /tmpに痕跡がのこっていないか? lastなどで、rootでログインされた形跡はないか?など 確認されて、怪しいと思うところがあれば、OS再インストールが望ましいです。
MasaNeko

2017/05/15 05:27

ほぼ特定できました。ajaxのようです。 ありがとうございます。 >0.0.X.Xはルータ越えではアクセスできないIP その後調べましたら確かにそうですね。VPS業者にメール書かなくて良かったです。 あくまでもサーバー内部からのアクセスということで,fail2banのログとapacheのログを並べてtail -f で観察していました。 すると,なんと自分でブラウザを開くと,この問題のログがでるのが観察できました。Apacheの方がわたしのIP。Fail2banの方は0.n.n.nで同時発生します。特にWP管理画面を見ると激しくでます。 アクセスしてるファイルをみると   /wp-admin/admin-ajax.php  でした。 admin 文字列をBan対象にしているものの,前述のとおり管理画面に接続するVPNのIPをFail2banのホワイトリストに入れています。ですので,通常はBan対象ではないはずです。 ここから先はajaxの挙動を知りませんので推測です。 推測1 admin-ajax.php が内部的にApacheに接続するときに0から始まるIPを使う。0.から始まるIPはホワイトリストにはないので不正とみなす。 推測2 fail2banのルールで <HOST> 値を与える正規表現が誤っているので,0.で始まる誤った文字列がIPとして渡されてしまう。 後者の方をログ文字列を再確認していますが,間違いないようです。 いずれにしましても,誰からadmin-ajax.phpを伴うアクセスをしたときにでる現象でした。 もう少し精査して,ルールを見直すか,ホワイトリストの0.を入れるかを検討いたします。 「幽霊の正体見たり枯れ尾花」的な,または,鏡に向かって吠える犬のような感じです。 nagaettyさまには親身に長時間お付き合い下さり,心から感謝申し上げます。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問