2011年9月10日土曜日

本日学んだIT用語

YAGNI

You ain't gonna need itの略称。

「もしかしたら必要になるかも」で機能を作るのはやめましょうの意。

これを守ってコーディングするのって、実はかなり難しいと思う。ついつい作りこんじゃうのがプログラマの習性みたいなもんですし。

使うかどうか分からないものにリソース割いたり、コードを記述した結果バグを内包するハメになったりとあとで必要になったときに得られるものより結局は後退するはめになるのはよくあること(だと思う)。

Sender Policy Framework

通称SPF認証

電子メールのなりすましを防ぐための仕組み。RFC4408にて規定

SMTPで送られるメールは送信者のアドレスを簡単に偽造でき、なおかつチェック機能がないため、それを利用したスパムやウィルスメールを防止する目的で利用される。

メジャーなものとして携帯メールの迷惑メールフィルタに「なりすまし防止機能」みたいな名前で利用できる。

仕組みをざっくり説明すると、メールアドレスに比べIPアドレスを偽造することは(比較的)難しいため、送信元のIPアドレスが信頼できるのかをDNSサーバーに問い合わせる、というもの。

逆に言うと、ドメインの管理者はそのドメインで送信するメールサーバの情報(SPFレコードという)を予めDNSサーバのゾーンファイルに登録しておかなくてはいけない。

メールの安全性を確保するためには必要、なのかもしれないが意図せずスパム以外のメールが急に受け取れなくなることがある。また、メルアドを詐称する気がないスパムメールなどはスルーするためこれだけでスパム対策はばっちりとはならない。

さらにDNSサーバに問い合わせを行うことを利用したDNSサーバへのDOS攻撃に利用される可能性もあったりして結構物騒な規格。

色々と問題点の多い仕組みだけど、かなり普及してる。RFC、ネットの様々なルールを決めている文書では「実験的」扱いだけど普及することでデファクトスタンダードな扱いになってる典型例かも。

0 件のコメント:

コメントを投稿