運用日記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-allportsCode 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)

類似投稿

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です