2009-02-10 :-)
_ 朝ッ
0500 起床
_ 仕事
0830 出勤。
_ 空腹で吐きそうになった
小学生のころからの付き合い。
_ ジェット戦闘機
ガジェット戦闘機
_ [doxygen][graphviz]doxygen と graphviz を使った
- インストール
- doxygen起動
- とりあえず Wizard で設定
- Diagramas to generate させる
- ソースファイルの文字コードが Shift_JIS ならば INPUT_ENCODING を CP932
- DOT_PATH に graphviz/dot.exe への PATH( e.g. C:\Program Files\Graphviz\bin )
- WizardのSource code directoryなどのディレクトリは Select ボタンをクリックしてディレクトリを入力させないと Run doxygen できない
_ [TCP][RST][パケットフィルタ][pf]TCP は、reset or deny ?
「TCP RST が返る場合」と「ICMP ハードエラーが返る場合」について。
という話題。パケットフィルタについても言及しているのだけどアタシはパケットフィルタを運用したことがないので「パケットフィルタはこうやるのが常識」という知恵を持ってない。あでもルーターはパケットフィルタしてるのか。ともあれリソースを見てみた。
IP Filter Based Firewalls HOWTO - Responding To a Blocked Packet
So far, all of our blocked packets have been dumped on the floor, logged or not, we've never sent anything back to the originating host. Sometimes this isn't the most desirable of responses because in doing so, we actually tell the attacker that a packet filter is present. It seems a far better thing to misguide the attacker into believing that, while there's no packet filter running, there's likewise no services to break into. This is where fancier blocking comes into play.
When a service isn't running on a Unix system, it normally lets the remote host know with some sort of return packet. In TCP, this is done with an RST (Reset) packet. When blocking a TCP packet, IPF can actually return an RST to the origin by using the return-rst keyword.
「パケットフィルタがあることをアタッカーに知らせてはならない。RST 返すといいよ」
pf.conf(5) - NetBSD Manual Pages
block The packet is blocked. There are a number of ways in which a block rule can behave when blocking a packet. The default behaviour is to drop packets silently, however this can be overridden or made explicit either globally, by setting the block-policy option, or on a per-rule basis with one of the following options: drop The packet is silently dropped. return-rst This applies only to tcp(4) packets, and issues a TCP RST which closes the connection.
「デフォルトは drop するよ」
PF: The OpenBSD Packet Filter - Runtime Options
set block-policy option Sets the default behavior for filter rules that specify the block action. * drop - packet is silently dropped. * return - a TCP RST packet is returned for blocked TCP packets and an ICMP Unreachable packet is returned for all others. Note that individual filter rules can override the default response. The default is drop.
「デフォルトは drop するよ」
まあ同じ pf なので同じ記述なんだけど。
「pf のデフォルトは drop する、運用するときは RST を返すべき」ということか。
参考文献 UNIX Magazine 1995年12月号 山本和彦著「転ばぬ先のセキュリティ 20 - 防火壁の構築(2)」
とあるので UNIX MAGAZINE 1995年12月号を読んでみる。10年以上前の記事なので今でも適用するのか分からないですが。
通過の許可と禁止
通過の許可とは文字どおり、まるでフィルタがないかのようにパケットを通過させることです。明示的な禁止とは、パケットをルータで破棄したあとに、送信者に対してパケットが通過できない旨を教えることです。暗示的な禁止は、たんにパケットの破棄のみを意味します。 明示的な禁止について、もううすこし詳しく説明します。たとえば、外から内側に向かってTCPコ ネクションを張ろうとした場合にパケットを落とすと、タイムアウトするまでコネクションを張り続けようとします。ですから、パケットが通過できないことを教えてあげれば、コネクションを張るのを諦めるのが早くなって親切です。その方法も、ICMPのunreachableメッセージで教えるのか、TCPのRSTを返すのかが指定できると便利です。( p.67 )
ICMPのunreachableを使ったときに迷惑がかかる場合があることも説明してるんですが、おっと、余白が無くなってしまった。
_ [マインドマップから始めるソフトウェアテスト]マインドマップから始めるソフトウェアテスト
ソフトウェアテストを{計画,設計}するときにマインドマップを使うと漏れなくダブり無くできるよ、というもの。これは順番が逆というか、予めマインドマップとソフトウェアテストについて知識を得たあとにこの本を読むとすんなり頭に入るんだろう。いや私はそのとおりの順番なのですんなり頭に入った。この本にも書いてあるけど、マインドマップを描くことが目的じゃなくてマインドマップは手段である( マインドマップというツールはそういうものだ )。
4774131318
== と書くべき所を = 書いてて....ってのは良くあるけど、逆は少ないなぁ....<br><br>マインドマップは一度その手のソフト(Frieve Editorだったかな?)を使ってみたけど、自分にはあわなかった。<br>テキストエディタで思考垂れ流し記述&インデント下げで詳細とかって書き方で中身を出して、あとはマトリックスをガシガシ作るって感じじゃないと纏められない...
矢道さん:<br>==は自分でも笑った。<br><br>マインドマップは効果はたしかにあるんだけど、なんだかんだでアタシは箇条書きだったりインデント下げて書いたりしてます。講演を聞いたときのノートなども然り。なお、マインドマップは手書きでやるのが正解であります。(だからといってソフトウェアを使うこと否定してるわけではない)
手書きだと思考に追いつかないんだよねぇ....