#author("2017-04-15T05:37:14+09:00","","")
[[RightBar]]~

*スパム対策業務日誌 [#b0b1255a]
#contents
* 2016 [#y42d60b9]
** 2016-12-3 [#q117923c]
*** スパム対策・アクセス追跡のためのタグ埋め込み [#fb25eec5]
-お気づきとは思うが、本サイトもたまにへんな広告が張られてしまったりする
-対策としては
++サーバ借りてるさくらインターネット様のツールで頑張る
++pukiwiki用の対策ツール入れる
++とりあえずトラッキングしてから考える
---などがあるが、とりあえず三番目をやることにした

-やること
--Googleアナリティクスの導入
+++[https://www.google.com/intl/ja_jp/analytics/ ''【公式ページ】'']行って登録して追跡タグ取得
+++pukiwiki.skin.phpのheadタグの閉じカッコ直前に入れる
--Googleサーチコンソールの連動
+++[https://www.google.com/webmasters/#?modal_active=none ''【公式ページ】'']行って登録して連動させる

本当はちゃんとアクセスログ読まなきゃいけないんだけど面倒くさいのである。あまり負荷が高い場合は切り戻す予定である
* 2017 [#qeb4132d]
** 2017-1-5 [#k901c039]
*** スパム対策・トップページの凍結と編集用別ページの設置 [#o450e84e]
-トップページが丸ごと消されるクソスパム多発
--こんなの面倒臭いにきまってるやん・・・
-で、トップページを編集凍結し、includeプラグインで別ページを表示する方式にする
--トップ全体の別ページ化も考えたが、実験も込めて一部の別ページ化にとどめる
--これは、index.php(FrontPage)を狙ったスパムであることを想定しての物であるため、状況によっては別の対策を必要とする


** 2017-1-7 [#med8b954]
*** スパム対策・トップページの凍結と編集用別ページの設置 その2 [#xf0cf562]
-トップページ全体の別ページ化実施
--実施直後に、トップでコメントを書き込み更新すると別ページに飛ぶことがわかったため、更新がほぼないであろうFAQまでとラウンジ部分をFrontPage直書きに手直し

** 2017-1-11 [#ce69275d]
*** スパム対策・フィルターテスト進捗状況 [#o34b6aef]
- どうも投稿フォーム系が狙われているらしい。対策がプラグイン側の改修とか差し替えになるため、とても面倒くさい
-- 最強と名高いspam_filter.phpを試そうとしたが、pukiwiki1.4.7仕様のため、一部ライブラリの関数が変わっている1.5.1にベタで入れると死ぬことが判明(ページ編集機能が使えなくなる)
-- 正規表現による書き込み制限だけ使いたいが、その場合自分でフィルターの中身読むしかない
- 自分で修正する場合に修正する場所
++ plugin.php
--- フィルタ呼び出しを自分で書く
++ spam_filter.php
--- 一部スパム対策外部サイトが使えなくなっているため機能潰す
++ その他必要なライブラリ
--- 多いんだよ!!

暫定結論:そのうちやる(やるとは言っていない)
- 追記:あまりにスパムがウザいので、正規表現機能フィルターだけ見込み導入
-- 上記plugin.phpとspamfillter.phpのみパパッと書いたのでテストできてない
- テストしてみたが''効かない''
-- どうしろってんだよ、ええ!?

** 2017-1-12 [#r1e639b9]
***現在導入したスパムフィルタの設定について [#y1eedf6b]
- 昨日暫定版スパムフィルタを導入したが、メモを残さないとあとで困るのでここに記す
- 導入したもの[http://www.miasa.info/index.php?%C8%FE%CB%E3Wiki%A4%C7%A5%B7%A5%B9%A5%C6%A5%E0%C5%AA%A4%CB%BD%A4%C0%B5%A4%B7%A4%C6%A4%A4%A4%EB%C5%C0#ofa18e88 【こちら】]のpukiwiki1.4.7用スパムフィルタ
-- が、当サイトはpukiwiki1.5.1環境なので、そのままでは導入できないことはさんざん愚痴った
- そこでフィルタの中身とファイルセットの中身を読み(基本的にphpで書かれている)、適宜修正を加える。
++ plugin.php
--- do_plugin_action関数内にspam_fillter関数を呼び出すコードを追加
--- 1.4.7と1.5.1では微妙にplugin.phpの内容が違うため、該当部のみの移植が必要
++ delegated-apnic-latest
--- IPから国コードを引くための辞書。wwwディレクトリ直下にコピー
--- これを書きながら気づいたが、フィルタ添付のこのファイルが古くて国コードを引けてないのでは?
--- あとで最新版を探してきて導入する
++ spam_filter.php
--- フィルタ本体兼フィルタ設定ファイル
--- 今回は外部サイトを引っ張るタイプのフィルタは使用せず、url監視と国コードチェックを採用
--- CN|KR|UA|RU|ID|TH|BR|US|AE|HK|TW|AU|ITを禁止。
--- 中国、韓国、ウクライナ、ロシア、インドネシア、タイ、ブラジル、アメリカ、アラブ首長国連邦、香港、台湾、オーストラリア、イタリアである。

今後余暇を見つけてフィルタの精査、本採用または不採用による切り戻しなどを実施する

*** 現在導入したスパムフィルタの設定について その2[#y1eedf6b]
- 11:00ごろふと覗きに来たら熱心に書き込んでいるスパム氏を発見
- アクセスログからロシア連邦のIPを確認。なんで国コード拾えないんだこいつ・・・
- 念のためページ編集者のIPが表示されるようにfile.phpとpukiwiki.skin.phpを改修
-- 参考サイトは[http://jehupc.exblog.jp/17851658/ 【こちら】]
- やっぱりロシアですね・・・
-- 188.143.232.0~255の編集行為を全部拒否する設定に変更

** 2017-1-13 [#ae3a2114]
*** .htaccessによるスパム排除 [#p394f379]
- 昨日スパム投稿元と思われるIPに対し編集禁止フィルターを掛けた
-- が、冷静に考えたらそもそもアクセス自体禁止した方が早いのではないだろうか
- .htaccessを編集して以下の設定とする
 Order allow,deny
 allow from all
 deny from 188.143.232.
-- 不具合がある方は連絡してください。出来ないか。出来ないな
- アクセス禁止後にログ見たら一時間に130回ぐらいアクセスしようとしてきてる(白目)

** 2017-1-24 [#bc2641ca]
*** .htaccessによるスパム排除 その2 [#f40e463f]
- 帰宅途中にスマホでここ見たらスパム再発との由。10日しか経ってねえぞ!
-- 帰宅後にエラーログを確認したところ、先のアクセス制限後にずっと扉ノックしてた奴が消えている。野郎、気付きやがった・・・
- スパムページが残っていたので最終編集者を確認、.htaccessを編集して以下の設定を追加
 deny from 5.188.211.
- ロシアでした
*** .htaccessによるスパム排除 その3 [#d6dbe96c]
- 定期的にIP変えて攻撃されてもつらいのでロシアに認可されているIPを全部拒否するよう設定

** 2017-4-12 [#f463d153]
*** access.logからのスパムIP同定 [#aa181fe5]
- 夜中にふとサイト見ていたらスパムコメントがいたため、念のためIP確認
-- 繰り返しになるが、ログから同定するのがとても面倒くさいので多発する際はコメント欄をIP表示モードにする予定である
- とりあえずサーバから30MBあるここ一日のアクセスログを取得
-- WinSCPとか使えばらくちんですね
- エディタで開いて該当時間帯のPOST見て雑にチェック
-- 5.79.80.162って怪しくねえ?
-- オランダでした
- しばらく様子見てダメなら深淵送りにします

** 2017-4-15 [#pb537c10]
*** access.logからのスパムIP同定 その2 [#u7593b4f]
- 先日の単発スパムが 2017-04-14 (金) 02:13:45 にも出たので調査
-- 5.79.80.162、オランダ
- ……
-- 深淵送りにしました