firewall-ufw†
serverworld blog: https://www.server-world.info/query?os=Ubuntu_22.04&p=ufw&f=1
sudo ufw status #Status: inactive
sudo ufw enable
sudo ufw status #Status: active
sudo ufw status verbose #Default: deny (incoming), allow (outgoing), disabled (routed)
sudo ufw allow ssh
sudo ufw status verbose
sudo ufw delete allow ssh
sudo ufw status verbose
sudo ufw reload
sudo ufw allow 8080/tcp #80番ポートのtcp通信を許可。udpは許可されない。
sudo ufw delete allow 8080/tcp #許可した80番ポートのtcpを削除する。status verboseで調べたlistにあるものだけ対象。
sudo ufw app list
sudo vim /etc/ufw/before.rules #ICMP関連すべてコメントアウト
#家だけ許可する場合:-A ufw-before-input -p icmp --icmp-type echo-request -s 192.168.1.0/24 -j ACCEPT
占用されたとき†
sudo netstat -tuln | grep 8080 #状況調べる
sudo lsof -i :8080 #PIDまで調べる
sudo kill -9 <PID>
すべてのportからListenしているものを確認†
sudo lsof -i -P -n | grep LISTEN
ALLOW IN Anywhereの危うさ†
単純に「sudo ufw allow ssh」を実行すると、ufwはALLOW IN Anywhereのルールが追加されて、Anywhereは全世界にアクセスを許可という誤り設定になる。(前段ルーターの22 portの許可は別として。)
sudo ufw status numbered
sudo ufw delete 11
ルーター機能-DMZとUPnP†
DMZ (DeMilitarized Zone): 特定のIP(サーバーPC)を「全ポート開放」として設定できる機能。
UPnP : サーバー上のアプリケーションが、ルーターに対して勝手に「22番を開けて」と要求し、ルーターが自動で開けてしまった機能。
configを見やすくターミナル確認(コメントと空行を除いて表示する)†
grep -vE '^\s*#|^\s*$' /etc/ocserv/ocserv.conf
grep -v:マッチした行を除外
-E :拡張正規表現を使う
^\s*# :行頭の空白のあとに # がある行(コメント)
^\s*$ :空白だけの行(空行)
sshdとufwのリアルタイムログ表示†
sudo tail -f /var/log/auth.log
sudo journalctl -u sshd -f