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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

さくらのVPS

さくらのVPSは、さくらインターネット社が提供するVPS(仮想専用サーバー)です。高速なSSDの選択や複数台構成も可能。利用者に応じた柔軟なプランが用意されています。大規模システムにも対応可能なスケーラビリティを備えたホスティングサービスです。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Q&A

解決済

4回答

1039閲覧

総当たり攻撃でしょうか?

shaketonori

総合スコア22

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

さくらのVPS

さくらのVPSは、さくらインターネット社が提供するVPS(仮想専用サーバー)です。高速なSSDの選択や複数台構成も可能。利用者に応じた柔軟なプランが用意されています。大規模システムにも対応可能なスケーラビリティを備えたホスティングサービスです。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

0グッド

2クリップ

投稿2020/07/07 03:22

編集2020/07/07 05:04

さくらインターネットのVPSを使用してサーバーを運用しています。
Webサーバーは「nginx」(1.18.0)です。
内部使用なので先頭画面にBasic認証をかけています。

たまたまエラーログを確認しようと tail -f で error.log を開いたところ
以下のようなログが表示されていました。
ほぼ1秒に1件ずつ、次々に表示され止まりません。

いろいろなユーザー名を使用してアクセスを試みているようです。
これは総当たり攻撃をかけられているということでしょうか?

気持ち悪いので、nginxを一旦ストップしたのですが、リスタートしたとたんに
ログも出力を再開しました。

本当に総当たり攻撃なのか、そうであったらどのように対処したらよいか
ご指導ください。

よろしくお願いします。

2020/07/07 12:23:44 [error] 17555#17555: *10 user "speedy" was not found in "/etc/nginx/.htpasswd", client: 103.145.12.200, server: www.sampleabc.com, request: "GET /level/15/exec/- HTTP/1.1", host: "202.181.111.999", referrer: "http://202.181.111.999/"
2020/07/07 12:23:45 [error] 17555#17555: *11 user "speedy@speedy" was not found in "/etc/nginx/.htpasswd", client: 103.145.12.200, server: www.sampleabc.com, request: "GET /level/15/exec/- HTTP/1.1", host: "202.181.111.999", referrer: "http://202.181.111.999/"
2020/07/07 12:23:47 [error] 17555#17555: *12 user "speedy@speedy" was not found in "/etc/nginx/.htpasswd", client: 103.145.12.200, server: www.sampleabc.com, request: "GET /level/15/exec/- HTTP/1.1", host: "202.181.111.999", referrer: "http://202.181.111.999/"
2020/07/07 12:23:48 [error] 17555#17555: *13 user "spender" was not found in "/etc/nginx/.htpasswd", client: 103.145.12.200, server: www.sampleabc.com, request: "GET /level/15/exec/- HTTP/1.1", host: "202.181.111.999", referrer: "http://202.181.111.999/"
2020/07/07 12:23:49 [error] 17555#17555: *14 user "spender" was not found in "/etc/nginx/.htpasswd", client: 103.145.12.200, server: www.sampleabc.com, request: "GET /level/15/exec/- HTTP/1.1", host: "202.181.111.999", referrer: "http://202.181.111.999/"
2020/07/07 12:23:50 [error] 17555#17555: *15 user "sphichet" was not found in "/etc/nginx/.htpasswd", client: 103.145.12.200, server: www.sampleabc.com, request: "GET /level/15/exec/- HTTP/1.1", host: "202.181.111.999", referrer: "http://202.181.111.999/"
2020/07/07 12:23:52 [error] 17555#17555: *16 user "sphichet" was not found in "/etc/nginx/.htpasswd", client: 103.145.12.200, server: www.sampleabc.com, request: "GET /level/15/exec/- HTTP/1.1", host: "202.181.111.999", referrer: "http://202.181.111.999/"
2020/07/07 12:23:53 [error] 17555#17555: *17 user "spk" was not found in "/etc/nginx/.htpasswd", client: 103.145.12.200, server: www.sampleabc.com, request: "GET /level/15/exec/- HTTP/1.1", host: "202.181.111.999", referrer: "http://202.181.111.999/"
2020/07/07 12:23:54 [error] 17555#17555: *18 user "spk" was not found in "/etc/nginx/.htpasswd", client: 103.145.12.200, server: www.sampleabc.com, request: "GET /level/15/exec/- HTTP/1.1", host: "202.181.111.999", referrer: "http://202.181.111.999/"
2020/07/07 12:23:55 [error] 17555#17555: *19 user "spl" was not found in "/etc/nginx/.htpasswd", client: 103.145.12.200, server: www.sampleabc.com, request: "GET /level/15/exec/- HTTP/1.1", host: "202.181.111.999", referrer: "http://202.181.111.999/"
2020/07/07 12:23:56 [error] 17555#17555: *20 user "spl" was not found in "/etc/nginx/.htpasswd", client: 103.145.12.200, server: www.sampleabc.com, request: "GET /level/15/exec/- HTTP/1.1", host: "202.181.111.999", referrer: "http://202.181.111.999/"
2020/07/07 12:23:58 [error] 17555#17555: *21 user "spl0" was not found in "/etc/nginx/.htpasswd", client: 103.145.12.200, server: www.sampleabc.com, request: "GET /level/15/exec/- HTTP/1.1", host: "202.181.111.999", referrer: "http://202.181.111.999/"
2020/07/07 12:23:59 [error] 17555#17555: *22 user "spl0" was not found in "/etc/nginx/.htpasswd", client: 103.145.12.200, server: www.sampleabc.com, request: "GET /level/15/exec/- HTTP/1.1", host: "202.181.111.999", referrer: "http://202.181.111.999/"
2020/07/07 12:24:00 [error] 17555#17555: *24 user "sprinkle" was not found in "/etc/nginx/.htpasswd", client: 103.145.12.200, server: www.sampleabc.com, request: "GET /level/15/exec/- HTTP/1.1", host: "202.181.111.999", referrer: "http://202.181.103.119/"

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

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

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

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

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

shaketonori

2020/07/07 03:56

ホスト名とか知られたくない情報があるのですが、どうしたらいいですか?
Orlofsky

2020/07/07 04:02

xxxxxx とかで隠しては?
ikadzuchi

2020/07/07 04:52

画像中の消しがちょっと不十分で情報が漏れる危険があるので画像は削除した方がよいかと思います。
shaketonori

2020/07/07 05:04

ご指摘ありがとうございます。画像は消しておきます。
m.ts10806

2020/07/10 23:53

記述を消したところで物理的に消えるわけではなく、画像パスも編集履歴から確認可能です。 画像の件は運営相談してください。
guest

回答4

0

ベストアンサー

質問に対する明確な回答が無いようなので一応回答しとくと辞書攻撃です。単語の後ろに0とかがついてるので総当たりも混ざってますが。

そうであったらどのように対処したらよいか

公開が前提ならfail2banはどうでしょうか?自分はssh対策にしか使いませんが、nginxにも対応してます。
デフォルトでエラーログに適した設定があるかどうかは知らないけどアクセスログには対応してるようです。
または質問者自身がエラーログから不正なアクセスを試みる連続したIPを抽出するスクリプトを作って動的にブラックリスト化していくかです。

公開をする気が無いならホワイトリストで自分のIPを許可する、IPが動的で心配なら日本に割り当てられたIPを許可する

また、公開サービスの管理機能とかの認証の場合なら大抵は決められたネットワークからしか繋げないようにすると思うので質問者のような状態にはなりません。

投稿2020/07/07 20:56

hentaiman

総合スコア6426

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

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

shaketonori

2020/07/08 07:16

回答ありがとうございます。 fail2ban のことは知りませんでした。貴重なご意見ありがとうございました。 回答を頂いてから fail2ban についてちょっと調べたんですが、かなり専門的なもの かと思ったんですが「さくらのナレッジ」でも紹介されているポピュラーなものなんですね。 mu6 さんが紹介して下さった SiteGuard Server Edition とどのような違いがあるんでしょうか? ちょっと調べた私なりの解釈では fail2ban も WAF の一種である、という理解でいいんでしょうか。 もう少し調べて fail2ban か SiteGuard Server Edition を設定してみようと思います。 ありがとうございました。
hentaiman

2020/07/08 11:04

fail2banはポピュラーどころかcentos7ミニマムインストールでもしない限りデフォルトで入ってなかったっけ? SiteGuard使った事無いので違いは知りません
kyoya0819

2020/11/04 01:14

バージョン書いていなかったので、CentOS8で確認しましたが、さくらのVPSのデフォルト設定で入っていることを確認しました。 `systemctl status fail2ban`
guest

0

投稿2020/07/07 06:11

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

shaketonori

2020/07/08 07:15

回答ありがとうございました。 WAF は聞いたことはあったのですが具体的な中身は知りませんでした。 SiteGuard Server Edition はさくらインターネットのサイトに載っているくらいですから、 標準的なものなんですね。 とてもいい情報をありがとうございました。
guest

0

接続元IPアドレス(x.x.x.x)で制限するなら下記のように設定ファイルに記載すると、拒否することができます

deny x.x.x.x; allow all;

逆に利用者を限定(内部使用とのことなので)するなら、下記のように設定ファイルに記載すると、許可したIPアドレスからしか接続できなくなります
※接続元IPアドレスを特定できないと利用できない

allow y.y.y.y; deny all;

投稿2020/07/08 02:33

yukky1201

総合スコア2751

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

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

shaketonori

2020/07/08 07:17

回答ありがとうござます。 具体的な記述方法まで示していただきありがとうございます。 これは nginx の設定ファイルの記述方法ですね。 firewall-cmd に記述す方法もあると思うんですけど、どちらがいいんでしょうか。 ありがとうございました。
yukky1201

2020/07/08 07:21

単純に自分が運用していた方法を提示しました。 firewallとどちらを選択するかはやりやすい方を選択されればいいと思います。
guest

0

web系の防御の仕方はわからないけど、init 1で相手をはじくことになるのか、(init 1をうたれる側ではないのでどこまで封じこめれるのか忘れた。)traceroute とか dig -x とかで反撃したらとかってできないんですか。それを何回かやると相手も対応して攻撃してくるので初動が大事だと思う。(IP偽装されたら意味ないけど、スクリーンショットでぱちぱちとるとか)。sysvlogで persistentして sudo jounalctl -f すれば、tail-fで映らないIPなども、映るので改ざんなどの攻撃がしずらくなります。知ってたり使えなかったらすいません。

投稿2020/07/07 18:20

編集2020/07/17 09:12
txty

総合スコア303

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

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

shaketonori

2020/07/08 07:16

回答ありがとうございました。 init 3 とか dig -x とか知らない言葉がたくさん出てきて、ネットワークに関する 無知ぶりを痛感しました。 syslog は時々使ってて、いちいち tair -f 以外の使い方があるのは知っていました。 もっと linuxコマンドを勉強しようと思います。 ありがとうございました。
txty

2020/07/08 08:32 編集

とりあえずメンテモードのときはinit 3です。本当に動けなくなるのかはわかりませんが、相手はshutdown ぐらいはできたはず。何もわからないときにschoolで休憩時間にinit3を食らわさられられただけなので間違えてるかもなので流してください。それから tracerout 、dig -x すいません digでした。しばらく使ってなかったです。を打ってみてはどうでしょうか。でも相手もそれぐらい対策済みだと思いますが。syslog知ってるなら全然いいです
dodox86

2020/07/08 08:48 編集

CentOSのinit 3 はCUIモードなだけで、ネットワークは通常、生きています。ですので外界(インターネット)と遮断されるわけではありません。txtyさんはもしかしたらCentOSの稼働するマシン内に潜伏して自律して動作するようなワームや、既に不正ログインされてマシン内を探り廻っているような不正ユーザーを想定されているのかもしれませんが、今回のご質問はHTTPでの総当たり攻撃とおぼしきアクセスなので、対処方法としては恐らく違うと思います。
txty

2020/07/08 09:16 編集

詳しくなくてすいません。 あと、これもどうぞ。DNSサーバー構築と設定。初心者でもできた6つの手順(CentOS) 即席でつくれます。こわれてもremove と install するだけで復活します。
hentaiman

2020/07/08 13:36

なぜDNSの話になってるのか? 後者はパッケージ管理の話だと思うけど、大抵のミドルウェアはeraseしても設定ファイルは生き残るので復活しません
txty

2020/07/08 13:49 編集

hentaimanさん>DNSでドメイン名から相手のipアドレス叩きだせませんでしたっけ。なんかぶっ壊れたんですけどremoveとinstallだけで復活したんですよ..
hentaiman

2020/07/08 13:52

相手ってのは認証突破試みているアクセス元ですか? ipアドレス叩き出すってどういう意味ですか? ちょっと何を聞きたいのか分かりません
txty

2020/07/08 14:12 編集

ポートから侵入したのかわからないですけど、syslogにうつったやつをdig (何かの最後の数値まで) したところずらずらと数値にかわりました。IPアドレスだったとおもいます。
hentaiman

2020/07/08 14:25

質問に対しての回答になってないです。 それ以外にも分からないなら分からないって言ってくれていいですよ、曖昧にしたり誤魔化したりしようとしなくて結構です。ミドルウェアにしてもコマンドにしても、実際に使った事も無いように見えます。もしくは試しにコマンドを打っただけで理解をしていない。 その状態でどうこう言われても、こちらも分からないので返事が出来ません。 質問内容からそれてしまったのでこの辺で控えておきます。
txty

2020/07/08 14:30

認証突破試って言葉がわかりませんでした。じゃあ私の壮大な勘違いって言葉にしておきます。
dodox86

2020/07/08 14:56 編集

txtyさんの[2020/07/08 18:01]のコメントでDNSと言う言葉が出てきたときに気になったものの、これ以上の混乱を避ける為に指摘は避けておいたのですけどね。多分、このご質問でいう攻撃を、ご自身で言うように勘違いされているのだと思います。アクセスログに残っている攻撃者のリモートIPアドレスは、txtyさんの書かれているように、自身が建てるDNSでどうこうできるものではなく、そのIPアドレスを逆引きして相手のホスト名、所属するドメインを割り出します。digコマンドは主に、www.hogehoge.comのようなホスト、ドメイン名からIPアドレスを求めるもので、つまり、用途としては逆で、意味はほとんどありません。「ポートから侵入したのか分からない」に関しては、現状、ポートから何かしらの悪意あるプログラム(ウイルスの類)が侵入した、と言うことにはなりません。syslogに移る、とは何らかの操作が監視対象になっていれば、IPアドレスなどの相当のデータがsyslogに記録されている"かもしれない"、と言う程度のことです。攻撃をされている前提でいうと、当の質問者さんが無用な心配をしてしまうので、適当でない回答はなるべく避けるべきです。
txty

2020/07/08 15:06

ポートにsshやtelnetで侵入できるのは知っていますとだけいっておく。後はしらないことで勘違いです。
txty

2020/07/08 22:06 編集

なんとなく理解できました。何も見ずに書くとsshサーバーみたいのがミドルウェアで,設定が残るから、yum remove yum install だけで回復したようにみえたようだと。DNSを使用したら何回か壊されたので、はじめからつくりなおしたのですがそのときにyum install やyum remove で設定がのこされてるから回復したと。認証を何等かの形で侵入を許してしまったようですが、グループではいってきたのでdigがたまたま効いたんだと思います。そしてinit 3がきいてるからにげられないんじゃないかとinit 3 は仮定ですが、閉じ込められたのか、逃げなかったかどちらかです。質問者のnginxは別サーバーにおいてあるからおそらく関係ないと。
txty

2020/07/17 00:41 編集

すいません。過去のドキュメント見てたら,問題が発生したときinit 1(シングルモード、ネットワークなしでした)通常はマルチだそうです。(マルチモード ネットワークありでした)。マルチは複数で作業するです。問題とは関係ないけど。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問