運用日記1
ファイル転送はSCP(SFTP)で
VPS とかで毎回 FTP サーバーを設定するのがめんどくさすぎる。
そこで、なんか調べると SSH でファイル転送する SCP (SFTPとも呼ばれる)が FileZilla とかたいていの FTP クライアントで使えるっぽい。
SSH は最初に設定するんで、じゃあそれが一番早いですわ、となった。
さくらインターネットから HP 移植
Conoha とさくらで二つある意味がないので、より自由度の高い VPS に HP を移植。
クライアントサイドの html だけなのでどこにあったところでよい。
ブログ記事っぽくできそうなものは WordPress に移植していきたい。
fail2ban 導入
上記のレンタルサーバーのアクセスログを見ると、少なからず総当たり攻撃の形跡があった。
(便利サイト: IP調査兵団)
VPSの方でも気になるので fail2ban というエラーを繰り返すIPを弾くサービスを入れてみる。
Debian の apt にあったけれど、そのままだとなんか動かないので、以下の対処を試すと動いてくれた。
I can’t get fail2ban working on Debian 12
Debian 12 では nftables がデフォルトなのに iptables を使うように設定されているので、/etc/fail2ban/jail.local に以下を書く。
[DEFAULT]
banaction = nftables-multiport
banaction_allports = nftables-allports
Code language: PHP (php)
デフォルトでは sshd のプロファイルのみ有効になっている。
設定参考
Fail2ban – ssh のセキュリティ対策をまとめてみた
https://zenn.dev/y_mrok/articles/ssh_security_fail2ban
5分で理解するfail2ban
https://qiita.com/Brutus/items/28f4dc2054ad7de54e73
nginx用のフィルターはデフォルトでは以下が揃っている。
- nginx-bad-request.conf
- nginx-botsearch.conf
- nginx-http-auth.conf
- nginx-limit-req.conf
bad-request はとりあえず有効にしておいてもいいかも。
Nginx のアクセスログからエラーだけ確認するにはegrep ' 4[0-9]{2} | 5[0-9]{2} ' /var/log/nginx/access.log|less
適当にログを見ると79秒間に84回の404を叩き出すIPがいた。
404 をフラグに ban してもいいが、そうするとリンク切れや、favicon の不在などで 404 を連発して 容易に ban されちゃうので、注意が必要。
4xx 系ステータスを検出するフィルターは以下の failregex
[Definition]
failregex = ^<HOST>.*"(GET|POST).*" (404|444|403|400) .*$
ignoreregex =
ignoreip =
Code language: HTML, XML (xml)