3~4年ほど前からインターネットプロバイダのIP電話(050で始まる電話)を利用しているのだが、今年の2月に入ってから無言電話が数時間おきにかかってくるようになり、ナンバーディスプレイは非表示、かつ電話をとるといっさい反応なしで数十秒後に切れるという現象が発生し始めた。雰囲気的には不特定のIPアドレスに対して5060/udpをスキャンしているような感じを受けた。実際にIP電話を設置している場合それに反応してしまい電話のベルがなると。
インターネットで調べたところ、現象はだいたいこんな感じ。
どこから接続に来るのかソースIPアドレスを調べたところ、66.232.119.***からきていた。whoisで調べるとフロリダのようだ。
とりあえずこのIPアドレス帯からのアクセスはルータで遮断。他にも5060/udpにアクセスにくる海外のIPアドレスがあったのでそれらも遮断。これにより無言電話はおさまった。
しかしこれだと根本解決にはなっておらず、他のIPアドレスレンジから接続をこころみられるとまた無言電話が発生する。
根本解決は自宅に設置している機器で電話ユーザー名の認証機能を有効にすることである。ヤマハの機器では対応策が公開されているのだが、自宅で使用しているNTT製のVoIPアダプタをWebで調べた感じ対策が見つからない。
仕方ないので、NTT東日本にメールで問い合わせ。
すると、2日目には回答が戻ってくるというクイックレスポンスだったのだが….
当部署では情報がありませんとのことで、VoIPアダプタの取り扱いに関するお問い合わせはこちらですと電話番号が書かれていた。同じNTTなんだからメールを転送してほしかったなと思いつつ、状況説明にWebのリンクとかはるのでメールで伝えたいなと思いつつ、電話した。
まぁ結論としてはNTTのVoIPアダプタでは対応ファームは公開されていないし、今のところ対応される予定もないらしい。
ルータ一体型の機器も対応していないそうで、NTT製品はどれも対応していないと回答であった…
無言電話がかかってくるという問い合わせは来ていないか質問したところ、ほとんどそういう問い合わせはないらしい…
根本解決はVoIPアダプタでの対応なのでファームアップしてほしいと要望はつたえておいた。しかしそういう要望がほとんどないようなので対応されないだろうなぁ….
もしも同様の現象で困っている人が多数ここに書かれている番号に要望を伝えれば対応してくれるかも。
# find / -perm -u+s -exec ls -la ‘{}’ ‘;’
例. vmware centOS5 デフォルト (運用時はここから不要なSUIDを削っていく必要がある)
-rwsr-xr-x 1 root root 31244 3月 14 2007 /bin/ping6
-rwsr-xr-x 1 root root 24120 5月 24 2008 /bin/su
-rwsr-xr-x 1 root root 35864 3月 14 2007 /bin/ping
-rwsr-xr-x 1 root root 38840 5月 24 2008 /bin/umount
-rwsr-xr-x 1 root root 57908 5月 24 2008 /bin/mount
-rwsr-xr-x 1 root root 13108 11月 29 2007 /usr/bin/rlogin
-rws–x–x 1 root root 19128 5月 24 2008 /usr/bin/chsh
—s–x–x 2 root root 160280 5月 24 2008 /usr/bin/sudoedit
—s–x–x 2 root root 160280 5月 24 2008 /usr/bin/sudo
-rwsr-xr-x 1 root root 43976 1月 6 2007 /usr/bin/at
-rwsr-xr-x 1 root root 22984 1月 6 2007 /usr/bin/passwd
-rwsr-xr-x 1 root root 24588 5月 24 2008 /usr/bin/newgrp
-rws–x–x 1 root root 17900 5月 24 2008 /usr/bin/chfn
-rws–x–x 1 root root 1812708 6月 21 2008 /usr/bin/Xorg
-rwsr-sr-x 1 root root 315416 11月 10 2007 /usr/bin/crontab
-rwsr-xr-x 1 root root 50296 5月 24 2008 /usr/bin/gpasswd
-rwsr-xr-x 1 root root 18544 11月 29 2007 /usr/bin/rcp
-rwsr-xr-x 1 root root 46972 5月 24 2008 /usr/bin/chage
-rwsr-xr-x 1 root root 8908 11月 29 2007 /usr/bin/rsh
-rwsr-xr-x 1 root root 64908 5月 24 2008 /usr/libexec/libvirt_proxy
-rwsr-xr-x 1 root root 176328 5月 24 2008 /usr/libexec/openssh/ssh-keysign
-rwsr-xr-x 1 root root 147447 5月 24 2008 /usr/kerberos/bin/ksu
-r-sr-xr-x 1 root root 20444 3月 3 2008 /usr/lib/vmware-tools/sbin32/vmware-hgfsmounter
-rwsr-xr-x 1 root root 6240 1月 6 2007 /usr/sbin/ccreds_validate
-rws–x–x 1 root root 35036 5月 24 2008 /usr/sbin/userhelper
-rwsr-xr-x 1 root root 6820 6月 14 2008 /usr/sbin/usernetctl
-r-s–x— 1 root apache 24711 1月 21 2008 /usr/sbin/suexec
-rwsr-xr-x 1 root root 6728 5月 24 2008 /usr/sbin/userisdnctl
-rwsr-xr-x 1 root root 19184 5月 24 2008 /sbin/unix_chkpwd
-rwsr-xr-x 1 root root 12248 5月 24 2008 /sbin/pam_timestamp_check
-rwsr-xr-x 1 root root 70484 7月 31 14:49 /sbin/mount.nfs
-rwsr-xr-x 1 root root 70488 7月 31 14:49 /sbin/umount.nfs4
-rwsr-xr-x 1 root root 70488 7月 31 14:49 /sbin/mount.nfs4
-rwsr-xr-x 1 root root 70488 7月 31 14:49 /sbin/umount.nfs
ファイルの内容を表示するコマンド。
例1. a.txtの内容を表示する
cat a.txt
例2. a.txtの内容を左端に行番行をつけて表示
cat -n a.txt
例3. a.txtとb.txtの内容を連結してc.txtに書き出す(左端に行番号)
cat -n a.txt b.txt > c.txt
※catコマンドと正反対の動きをするtacコマンドがある。テキストの最終行から表示する。
catの反対でtac
例1
tac a.txt
巷で話題になっているDNSキャッシュポイゾニング。そもそもはDNSの仕様の問題なので根本的解決はできないのだが、被害にあう可能性を低減する対策を自分のbindに施した。
・DNSパケットの中に含まれる識別IDのランダム性を高める
-> bindのバージョンアップ
・ソースポートのランダム化を行う
-> named.confの query-source の port 53 を port * に変更
設定ミスをしていないかテストサイトで確認。
Source Port Randomness、Transaction ID Randomness ともにGREATと表示され、設定が反映されていることを確認できた。
No commentsGoogleから新しく提供されたWebアプリケーションセキュリティチェックツール ratproxy を試してみた。
まずはここからダウンロードしCentOS5(vmware)にもってきた。
$tar xvzf ratproxy-1.51.tar.gz で解凍
$make を実行したところ次のエラー
cc ratproxy.c -o ratproxy -Wall -O3 -Wno-pointer-sign -D_GNU_SOURCE http.c mime.c ssl.c -lcrypto -lssl
ratproxy.c:43:25: error: openssl/md5.h: そのようなファイルやディレクトリはありません
http.c:42:25: error: openssl/md5.h: そのようなファイルやディレクトリはありません
http.c: In function ‘checksum_response’:
http.c:1329: error: ‘MD5_CTX’ undeclared (first use in this function)
http.c:1329: error: (Each undeclared identifier is reported only once
http.c:1329: error: for each function it appears in.)
http.c:1329: error: expected ‘;’ before ‘ctx’
http.c:1339: 警告: implicit declaration of function ‘MD5_Init’
http.c:1339: error: ‘ctx’ undeclared (first use in this function)
http.c:1340: 警告: implicit declaration of function ‘MD5_Update’
http.c:1341: 警告: implicit declaration of function ‘MD5_Final’
mime.c:39:25: error: openssl/md5.h: そのようなファイルやディレクトリはありません
ssl.c:38:25: error: openssl/ssl.h: そのようなファイルやディレクトリはありません
ssl.c:39:25: error: openssl/err.h: そのようなファイルやディレクトリはありません
ssl.c: In function ‘ssl_start’:
ssl.c:107: error: ‘SSL_CTX’ undeclared (first use in this function)
ssl.c:107: error: (Each undeclared identifier is reported only once
ssl.c:107: error: for each function it appears in.)
ssl.c:107: error: ‘cli_ctx’ undeclared (first use in this function)
ssl.c:107: error: ‘srv_ctx’ undeclared (first use in this function)
ssl.c:107: 警告: カンマ演算子の左側の式に効力がありません
ssl.c:108: error: ‘SSL’ undeclared (first use in this function)
ssl.c:108: error: ‘cli_ssl’ undeclared (first use in this function)
ssl.c:108: error: ‘srv_ssl’ undeclared (first use in this function)
ssl.c:108: 警告: カンマ演算子の左側の式に効力がありません
ssl.c:109: error: ‘BIO’ undeclared (first use in this function)
ssl.c:109: error: ‘err’ undeclared (first use in this function)
ssl.c:137: 警告: implicit declaration of function ‘SSL_library_init’
ssl.c:138: 警告: implicit declaration of function ‘SSL_load_error_strings’
ssl.c:140: 警告: implicit declaration of function ‘BIO_new_fp’
ssl.c:140: error: ‘BIO_NOCLOSE’ undeclared (first use in this function)
ssl.c:141: 警告: implicit declaration of function ‘SSL_CTX_new’
ssl.c:141: 警告: implicit declaration of function ‘SSLv23_client_method’
ssl.c:142: 警告: implicit declaration of function ‘SSLv23_server_method’
ssl.c:144: 警告: implicit declaration of function ‘ERR_print_errors’
ssl.c:146: 警告: implicit declaration of function ‘SSL_CTX_use_certificate_chain_file’
ssl.c:149: 警告: implicit declaration of function ‘SSL_CTX_use_PrivateKey_file’
ssl.c:149: error: ‘SSL_FILETYPE_PEM’ undeclared (first use in this function)
ssl.c:152: 警告: implicit declaration of function ‘SSL_new’
ssl.c:157: 警告: implicit declaration of function ‘SSL_set_fd’
ssl.c:158: 警告: implicit declaration of function ‘SSL_connect’
ssl.c:162: 警告: implicit declaration of function ‘SSL_accept’
ssl.c:190: 警告: implicit declaration of function ‘SSL_read’
ssl.c:221: 警告: implicit declaration of function ‘SSL_write’
make: *** [ratproxy] エラー 1
どうやらopenssl-develがはいっていないことが原因のようだ。openssl-develをインストールして再度make。
$ make
cc ratproxy.c -o ratproxy -Wall -O3 -Wno-pointer-sign -D_GNU_SOURCE http.c mime.c ssl.c -lcrypto -lssl
あっさり終了。
次にratproxyを起動する。
いろいろオプションがあるのだが、まずは次のオプションで実行。(オプションについての説明はこのページ)
$ ./ratproxy -w log -lfscm
[!] WARNING: Running with no ‘friendly’ domains specified. Many cross-domain
checks will not work. Please consult the documentation for advice.[*] Proxy configured successfully. Have fun, and please do not be evil.
[+] Accepting connections on port 8080/tcp (local only)..
ドメイン指定していないのでWARNINGがでたがとりあえずこのまま動かす。
netstatで確認すると、127.0.0.1:8080 が稼働している。
ratproxyを動かしているマシン上でWebブラウザを起動し、プロキシをlocalhost:8080/tcp に設定する。
Webブラウザでチェックしたいサイトにアクセスする。ある程度アクセスしたところでいったん ratproxyを停止。
結果のログを出力する。
./ratproxy-report.sh log > report.html
report.htmlを確認するとこんな感じ。
本当はPassive test ではなくて、Active Testの挙動を見たいのだが、今日は長くなったのでここまで。とりあえず動作することを確認したということで。
No commentsマイクロソフトがSQLインジェクション対策のツールを公開した。その中のひとつ、HP Scrawlrを試してみた。
このツールはリモートからWebサーバに接続し、SQLインジェクションの脆弱性が存在しないかチェックするツール。
しかし、かなり機能を制限しているようだ。GETには対応しているがなんとPOSTには対応していない。POSTのページに対してチェック用の値を投げないのだ。
つまりPOSTで書かれたWebアプリはチェックされない。。。。
ちなみに、GETの場合には次のような値を投げてチェックを実施している。
‘+OR
‘+AND+5%3d5+OR+
‘+AND+5%3d5+OR+’s’%3d’0
+OR+5%3d5+OR+4%3d0
個人的にはParosの方がかなり上。
No commentsgoogleは大学生向けにIT関連スペシャリストの講演をビデオ化し公開しているのだが、Web Securityが結構おもしろいので紹介する。
How to Break Web Software というタイトルで Mike Andrews が大学生に講演している。
彼はファウンドストンで働いており、同名の著書があるので、おそらく著書の内容を中心に説明しているのではないかと思われる。
若干英語は聞き取りにくい….
以前はイギリスで教授をやっていたとのでイギリス英語なのか?どちらかというとオーストラリアっぽく聞こえるが。