概要
アクセス履歴を見たところ次のような履歴を見つけた
GET /composer.json
GET /.git/.env
GET /.git/config
GET /.idea/workspace.xml
GET /.settings/org.eclipse.core.resources.prefs
GET /nbproject/private/private.xml
GET /administrator/phpmyadmin/index.php
POST /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php
Git、IntelliJ、NetBeans、Eclipseのファイルを開こうとしたり、phpMyAdminの管理画面を探したり、PHPUnitの脆弱性から何か悪い事をしようと考えているのは明らか。基本的にはドキュメントルートとプロジェクトのルートは別のため/.gitや/vendorにアクセスされる事はないが、一部ドキュメントルートとプロジェクトルートが同じプロジェクトがあったので見直した。
作業内容
各ディレクトリに.htaccessを設置
- .git
- .idea
- .settings
- nbproject
- vendor
内容はアクセス禁止
.htaccess
AllowOverride none
Require all denied
httpd.confとドキュメントルートの.htaccessに記述
アクセスされたくないディレクトリやファイルへのアクセスは404リダイレクトするよう追記
※phpMyAdminを使うURLの時はvendorをアクセスできるようにしておかないと使えません
.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# ドットから始まるディレクトリとファイルへのアクセス禁止
RedirectMatch 404 /\..*$
# vendorとnbproject(netBeans)へのアクセス禁止
RedirectMatch 404 /(vendor|nbproject)/
# .iml(IntelliJ)ファイルへのアクセス禁止
RedirectMatch 404 .*\.iml
# composer関連へのアクセス禁止
RedirectMatch 404 composer\.(phar|json|lock)
</IfModule>
個人的なテスト用のディレクトリに.htaccessを設置
ローカルアドレスで私のパソコンからのみとした
.htaccess
Order Allow,Deny
Allow from 127.0.0.1
Allow from 192.168.0.11
残作業
悪意のあるURLで接続を試みてきたら、数週間IPアドレスをバンする