/var/log/nginx/error.log

を見ると毎日何百行もの知らないIPアドレスから、あるはずのないディレクトリやファイルにアクセスされて困っています。データベースの接頭辞も複雑にしてあるのですが、なぜかアクセスされています。(アクセスできないというエラー)

2016/03/12 07:26:21 [error] 909#909: *1528710 FastCGI sent in stderr:
"Primary script unknown" while reading response header from upstream,
client: 1.86.87.12, server:hoge.com
request: "GET /XXXX.php?RequestType=Test HTTP/1.0", upstream:
"fastcgi://unix:/run/php-fpm/php-fpm.sock:" host: hoge.com

全世界に見られているWEBサイトなので、アクセス許可IPを日本のみにするやり方以外で、エラーログに表示された、あるいはXXXX.phpにアクセスしたIPを自動で拒否する方法はありませんでしょうか?