としたにあんの左脳

備忘録です.

ufw default deny outgoing

Ubuntuufwのお話.

基本的な使い方はufw の基本的な使い方 [Ubuntu]がいい感じだった.

本題

$ sudo ufw default deny outgoing

を設定したら

$ sudo apt-get update

できなくなった!って話を聞いた.

自分の環境でやってみると,

 Temporary failure resolving 'jp.archive.ubuntu.com'  

って出て,動かない!ってことに遭遇したので調べた.

ちなみに,先ほどのブログにはこんな説明があった.

"$ sudo ufw default deny | allow incoming" と "$ sudo ufw default deny | allow outgoing" で受信・送信のデフォルトについて許可/拒否を設定できる。

とりあえずログを見てみて,何が起きてるのかを見てみる.

ログを出すようにufwを設定する.

$ sudo ufw logging high 

ログをみる.

$ tail -f /var/log/syslog

こんなログが出てた.

...
Oct  2 22:38:50 ubuntu kernel: [2180818.075070] [UFW BLOCK] IN= OUT=eth0 SRC=xxx.yyy.zzz.www DST=www.xxx.yyy.zzz LEN=75 TOS=0x00 PREC=0x00 TTL=64 ID=1070 DF PROTO=UDP SPT=48228 DPT=53 LEN=55 
...
Oct  2 22:38:50 ubuntu kernel: [2180818.075227] [UFW BLOCK] IN= OUT=eth0 SRC=xxx.yyy.zzz.www DST=www.xxx.yyy.zzz LEN=63 TOS=0x00 PREC=0x00 TTL=64 ID=1070 DF PROTO=UDP SPT=42930 DPT=53 LEN=43
...

これは何が書いてあるのだろう(´・ω・`)

What do UFW's audit log entries mean?

PROTO is the protocol ( UDP? TCP mostly ) SPT is the source port DPT is the destination port

さっきのログを見ると,SPTは4822842930. ここから出て行ってるからブロックされてるのか.

ポート番号 - Wikipediaによると

このように、ポート番号とはサーバ上のサービスを特定するための番号であるといえる。そのため、サーバ側のポート番号は重要であるが、クライアント側のポート番号は通常問題とされず、空いている番号を適当に自動で割り当てる。

apt-get updateしてる時は自分はクライアントなわけで,名前解決する時に,適当にポート番号を割り当てるので,ブロックされちゃうわけですね.

なので,

$ sudo ufw default deny incoming

はOK

自分がサーバ側なので,22とか80とかしかincomingが無いから問題ないみたいですね.

$ sudo ufw default deny outgoing

の使い方を知りたい.