徒然なるままに プログラミングメモや日々の生活などつれづれとつづっていくblog

2018年8月20日

GoAccessを使ってリアルタイムアクセス解析を行う

Filed under: GoAccess,Linux,Nginx,OSS,ログ,不正アクセス — ranpei @ 9:04 PM

Ubuntu 16.04 + Nginx にGoAccessを使ったリアルアイムアクセス解析の環境を作ったのでその内容をメモ。

 

1.GoAccessをインストール
これは公式の手順を参考にインストール。

// 必要パッケージをインストール
$ sudo apt-get -y install libncursesw5-dev gcc make
$ sudo apt-get -y install libgeoip-dev libtokyocabinet-dev

// GoAccessをダウンロード
$ wget http://tar.goaccess.io/goaccess-1.2.tar.gz

// コンパイルしてインストール
$ tar -xzvf goaccess-1.2.tar.gz
$ cd goaccess-1.2
$ sudo ./configure --enable-utf8 --enable-geoip=legacy
$ sudo make
$ sudo make install
$ sudo ln -s /usr/local/bin/goaccess /usr/bin/goaccess

インストールできたら試しに解析してみる。

$ sudo goaccess /var/log/nginx/access.log --log-format=COMBINED

こんな画面が表示される。

 

さて、GoAccessは解析結果をHTMLとして出力することもでき、
さらに –real-time-html オプションをつけることで常時情報が更新されるHTMLを出力できます。

注意点としては情報更新の通信(WebSocket)に 7890番ポートを使用するためFWを開放しておきましょう。

$ sudo ufw allow 7890

※ ルーターの開放なども必要ですが割愛します。

開放したら以下のコマンドでリアルタイム解析HTMLを出力しましょう。

$ sudo goaccess /var/log/nginx/access.log -a -o /usr/share/nginx/html/report.html --real-time-html --log-format=COMBINED

http://[ホスト名 or IPアドレス]/report.html にアクセスすると以下ような画面が見れるはずです。

 

 

2.サービス化する
常時起動するには毎回先ほどのコマンドを実行するわけにはいきませんので、

今回はサービス化して常時起動する状態にしたいと思います。

// 定義ファイルを作成
$ sudo vi /etc/systemd/system/goaccess.service
↓↓ 記載
[Unit]
Description=Goaccess Web log report.
After=network.target

[Service]
Type=simple
User=root
Group=root
Restart=always
ExecStart=/usr/local/bin/goaccess -a -g -f /var/log/nginx/access.log -o /usr/share/nginx/html/report.html --real-time-html --log-format=COMBINED --ws-url <host名>
StandardOutput=null
StandardError=null

[Install]
WantedBy=multi-user.target
↑↑ 記載

// サービスファイルとして認識されたか確認
$ sudo systemctl list-unit-files --type=service | grep goaccess
goaccess.service disabled ← 表示されればOK

// サービスを有効化
$ sudo systemctl enable goaccess

// サービス起動
$ sudo systemctl start goaccess

// サービス状態確認
$ sudo systemctl status goaccess
● goaccess.service - Goaccess Web log report.
Loaded: loaded (/etc/systemd/system/goaccess.service; enabled; vendor preset: enabled)
Active: active (running) since 月 2018-08-20 16:46:27 JST; 4h 5min ago
Main PID: 91584 (goaccess)
Tasks: 3
Memory: 3.7M
CPU: 1min 7.536s
CGroup: /system.slice/goaccess.service
mq91584 /usr/local/bin/goaccess -a -g -f /var/log/nginx/access.log -o /usr/share/nginx/html/report.html -

8月 20 16:46:27 MainServer systemd[1]: Started Goaccess Web log report..

起動できたら先ほどのURLにアクセスしてみましょう
きちんと解析画面が表示されれば設定完了です。

 

あとは必要であればアクセス制限を設けるなどしてください。

2014年10月15日

不正アクセス再び

Filed under: postfix,ログ,不正アクセス — ranpei @ 12:20 AM

以前Webサーバーを踏み台にされた話をしましたが。

今度はMailサーバーを踏み台にされてしまいました;x;

 

 

ことの発端は以下のメールが送られてきたことでした。
————————————————————————————————
警告:お客様サーバーからのフィッシングメール送信行為について

いつもMyDNS.JPをご利用頂きましてありがとうございます。

お客様が使用している回線から、フィッシングメールがMyDNS.JPのメール
リレーサーバー経由で送信されていることを確認いたしました。

このような行為は、社会的に非常に迷惑であり、加入規約に反しており
ますので行なわないようにして頂けますようお願い致します。

再度行なわれた場合には、以後の利用を禁止させて頂きます。

もし身に覚えがないようであれば、お客様のサーバーがクラッキングを
受けていないかどうか確認をしていただけますようお願いいたします。

また、本件についてお客様のアクセス状況や個人情報を関係省庁に報告
することもありますので予めご了承ください。
————————————————————————————————

 

昼間はとりあえずスマホからVPNでメールサーバーを停止して、これ以上のスパム送信を防ぐ暫定措置をとり。

帰宅後にぐぬぬ、postfixで踏み台にされたお話を参考にログを解析しました。

以下が実際のログの一部です。

Sep 14 15:36:25 localhost postfix/smtpd[28698]: connect from unknown[216.251.77.186]
Sep 14 15:36:27 localhost postfix/smtpd[28698]: 06A9780053: client=unknown[216.251.77.186], sasl_method=LOGIN, sasl_username=○○○○@mail.ranran.mydns.jp
Sep 14 15:36:28 localhost postfix/cleanup[29044]: 06A9780053: message-id=<>
Sep 14 15:36:28 localhost postfix/qmgr[1936]: 06A9780053: from=<info@rolandbest.com>, size=1949, nrcpt=5 (queue active)
Sep 14 15:36:28 localhost postfix/smtpd[28698]: disconnect from unknown[216.251.77.186]
Sep 14 15:36:29 localhost postfix/smtp[29045]: 06A9780053: to=<tunde.adeoye@aol.com>, relay=auth.gate-on.net[210.197.72.170]:587, delay=2.9, delays=1.7/0.02/0.1/1.1, dsn=2.0.0, status=sent (250 Ok: queued as 8C61DD73A9)
Sep 14 15:36:29 localhost postfix/smtp[29045]: 06A9780053: to=<gordonbank11@gmail.com>, relay=auth.gate-on.net[210.197.72.170]:587, delay=2.9, delays=1.7/0.02/0.1/1.1, dsn=2.0.0, status=sent (250 Ok: queued as 8C61DD73A9)
Sep 14 15:36:29 localhost postfix/smtp[29045]: 06A9780053: to=<adamfarm103@hotmail.com>, relay=auth.gate-on.net[210.197.72.170]:587, delay=2.9, delays=1.7/0.02/0.1/1.1, dsn=2.0.0, status=sent (250 Ok: queued as 8C61DD73A9)
Sep 14 15:36:29 localhost postfix/smtp[29045]: 06A9780053: to=<honare.ravzio@ig.com.br>, relay=auth.gate-on.net[210.197.72.170]:587, delay=2.9, delays=1.7/0.02/0.1/1.1, dsn=2.0.0, status=sent (250 Ok: queued as 8C61DD73A9)
Sep 14 15:36:29 localhost postfix/smtp[29045]: 06A9780053: to=<a4deoye2004@yahoo.com>, relay=auth.gate-on.net[210.197.72.170]:587, delay=2.9, delays=1.7/0.02/0.1/1.1, dsn=2.0.0, status=sent (250 Ok: queued as 8C61DD73A9)
Sep 14 15:36:29 localhost postfix/qmgr[1936]: 06A9780053: removed

アカウントは伏せていますが、あるアカウントがハックされて1秒ごとに3~5通のペースでメールを送信していました。

(1週間余りでログが2Gぐらいになっていた)

参考にした「online106の日記」と同じで特定のアカウントをのっとってメールを不正に送信されていたようです。

 

とりあえず該当のアカウントのパスワードを変更して、様子を見ています。

今のところ、すべて認証エラーとなっていますが、先々のことを考えるとセキュリティを強化する必要がありそうです。

幸いにも「online106の日記」さんの中でそのことについても触れられているので、参考にして実施することにします。

とりあえず今日はここまで。

2014年3月31日

apacheの不可解なログ

Filed under: apache,ログ,不正アクセス — タグ: , , , — ranpei @ 12:16 AM

サーバーのアクセス解析をふと見てみると
訪問者数の割にページ数が異常に多いことに気がついた
awstats3月の解析結果
※うちのサーバーはアクセス解析にAwstats(日本語版)を利用しています。
このサーバーのメインコンテンツはこのブログだけなので
1訪問者につき500ページ以上も閲覧されることなどあり得ない・・・

不安に思いapacheのログを見てみると以下のような不可解なログが大量に出力されていました。

85.25.226.154 - - [23/Mar/2014:05:26:02 +0900] "GET http://www.mzllock.com/plus/guestbook.php?action=admin&id=20124 HTTP/1.1" 200 6890 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/14.2.1700.12403 Safari/537.36"
85.25.226.154 - - [23/Mar/2014:05:26:02 +0900] "POST http://myinfo.any-request-allowed.com/?a=tt4mq2&b=e33bu HTTP/1.1" 200 839 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0"
85.25.246.62 - - [23/Mar/2014:05:26:02 +0900] "GET http://chelseafc360.com/2013/10/07/chelsea-alerted-as-real-are-looking-to-offload-benzema-for-17million/comment-page-1/ HTTP/1.1" 200 22427 "http://chelseafc360.com/2013/10/07/chelsea-alerted-as-real-are-looking-to-offload-benzema-for-17million/comment-page-1/?replytocom=27046" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/14.2.1700.12403 Safari/537.36"
192.99.2.75 - - [23/Mar/2014:05:26:03 +0900] "GET http://www.europaa.net/zboard/bbs/zboard.php?id=diary&page=39&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=595 HTTP/1.1" 200 55730 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/14.2.1700.12403 Safari/537.36"
85.25.246.62 - - [23/Mar/2014:05:26:03 +0900] "GET http://www.labspace911.co.kr/bbs/view.php?id=photo&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=288 HTTP/1.1" 200 13711 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0"
192.99.2.75 - - [23/Mar/2014:05:26:03 +0900] "POST http://addls.com/wp-comments-post.php HTTP/1.1" 302 5939 "http://addls.com/tt_news%e5%b8%b8%e7%94%a8ts%e9%85%8d%e7%bd%ae.html/comment-page-3?replytocom=2764" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0"
85.25.246.62 - - [23/Mar/2014:05:26:02 +0900] "POST http://mashika-unika.com/about-the-ridgeback/pagina-1.html HTTP/1.1" 200 74 "http://mashika-unika.com/about-the-ridgeback/pagina-1/item/1-about-dafina-wa-afrika/1-about-dafina-wa-afrika.html?start=310" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/14.2.1700.12403 Safari/537.36"
85.25.226.154 - - [23/Mar/2014:05:26:03 +0900] "GET http://blog.rgbsocial.com/2012/09/13/3-links-blog-posts-worth-checking-out/comment-page-1/%23comment-form-guest HTTP/1.1" 404 28592 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/14.2.1700.12403 Safari/537.36"
85.25.226.154 - - [23/Mar/2014:05:26:04 +0900] "GET http://www.mzllock.com/plus HTTP/1.1" 301 184 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/14.2.1700.12403 Safari/537.36"
85.25.246.62 - - [23/Mar/2014:05:26:03 +0900] "POST http://www.litcso.com/bbs/savepost.asp?action=sre&method=fastreply&BoardID=2 HTTP/1.1" 200 5641 "http://www.litcso.com/bbs/dispbbs.asp?boardid=2&id=81&page=2&move=pre" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/14.2.1700.12403 Safari/537.36"
85.25.226.154 - - [23/Mar/2014:05:25:17 +0900] "GET http://japanese.turbinewheel.com/china-gtc12v_turbo_compressor_wheels_for_cars_skoda_audi_turbo_775517_0001-1853697.html HTTP/1.1" 200 14966 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/14.2.1700.12403 Safari/537.36"
85.25.246.62 - - [23/Mar/2014:05:25:14 +0900] "GET http://grevesmuehlen.umnet.de/de/index.php?sat=10&kate=13&kat2=0&kat3=&d1=20&ppp=1&alle=1&mini=&mini2=&sch=9&page=9&mehr=9&read=&a HTTP/1.1" 503 409 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/14.2.1700.12403 Safari/537.36"
192.99.2.75 - - [23/Mar/2014:05:25:15 +0900] "GET http://lkccwkfy.uni86.net/group/ViewBBS.asp?ID=20091226940408634&page=3 HTTP/1.1" 503 405 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/14.2.1700.12403 Safari/537.36"
85.25.246.62 - - [23/Mar/2014:05:24:32 +0900] "GET http://planet.edu.vn/component/k2/item/202-gi%C3%A1m-kh%E1%BA%A3o-kh%C3%A1ch-m%E1%BB%9Di-pnet-idol-2012/202-gi%C3%A1m-kh%E1%BA%A3o-kh%C3%A1ch-m%E1%BB%9Di-pnet-idol-2012.html?start=5259 HTTP/1.1" 502 822 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/14.2.1700.12403 Safari/537.36"
85.25.246.62 - - [23/Mar/2014:05:24:33 +0900] "GET http://forum.muhhh.org/index.php?page=UserGalleryPhoto&photoID=45&l=2&s=abc434968af7e0ca896e535b2a3f9d210bff3cfd HTTP/1.1" 502 704 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/14.2.1700.12403 Safari/537.36"
85.25.226.154 - - [23/Mar/2014:05:24:34 +0900] "GET http://rikmccloud.deviantart.com/journal/New-Start-423875238%23comments HTTP/1.1" 502 608 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/14.2.1700.12403 Safari/537.36"
85.25.246.62 - - [23/Mar/2014:05:24:32 +0900] "GET http://cupark.co.kr/bbs/board.php?bo_table=qa&wr_id=13&page=1 HTTP/1.1" 200 90758 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/14.2.1700.12403 Safari/537.36"
85.25.246.62 - - [23/Mar/2014:05:26:04 +0900] "GET http://www.eduno1.net/cmppage/zxly.asp?id=14714 HTTP/1.1" 200 8733 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0"
85.25.246.62 - - [23/Mar/2014:05:25:13 +0900] "GET http://www.xfrenjiapaints.cn/toupiao.asp?page=84206 HTTP/1.1" 502 564 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0"
85.25.246.62 - - [23/Mar/2014:05:25:58 +0900] "GET http://www.aiesec.or.kr/bbs/view.php?id=Main_board&page=1&sn1=&divpage=1&category=2&sn=off&ss=on&sc=on&select_arrange=hit&desc=desc&no=8 HTTP/1.1" 200 534027 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0"
85.25.226.154 - - [23/Mar/2014:05:26:04 +0900] "GET http://www.mzllock.com/plus/ HTTP/1.1" 403 570 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 YaBrowser/14.2.1700.12403 Safari/537.36"
192.99.2.75 - - [23/Mar/2014:05:26:38 +0900] "GET http://www.dakarteamholland.nl/index.php?print=1&op=viewpage&page=183&mod_op=add_comment_form&content_id=9&comment_id=8&from=0&from_page=showContent HTTP/1.1" 200 5764 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0"

(※ログのほんの一部です)

本来リクエストされたファイル名が出力される部分にhttp://から始まる別ドメインへのURLが出力されているのである。
このログの出力形式について調べたところどうやらproxyサーバーとして稼働した場合に出力されるらしい。。。。
apacheのアクセスログについて 先日、リクエストヘッダが他サイトへのリクエストが…
Apache – proxyを使って人様のアクセスをログする
つまりうちのサーバーが勝手にProxyサーバーとして利用されている?ということみたいだった

しかし、Proxyとして利用する設定にした覚えはないんだけどな~~?っと思いながらapacheの設定を確認すると・・

<IfModule mod_proxy.c>
ProxyRequests On
:

うわ~~!!昔設定していたリバースプロキシの設定が中途半端に残っている!!!
速攻でOFFにしました;;;

P.S
過去のログも組めて調べると11月ごろからちょくちょく中国からProxyサーバーとして使われていました。

IPAが公開しているiLogScannerで解析したところ攻撃と思われるリクエストが3週間ほどで1700件報告されているため
踏み台として利用されていたみたいです。。

iLogScanner

(※該当箇所はすべてProxyアクセスのログでした。)

自分のミスとはいえ改めて不正アクセスの怖さを実感しました。。

Powered by WordPress