このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

MacOSX 10.1 Security

発言者:石津@RJC
( Date Sunday, September 30, 2001 18:43:51 )


MacOSX10.1(5G64)をインストールしていろんなサービスを動かさない
状態でVineLinuxPPC2.1.5からnmapでポートスキャンしてみました。
nmapのバージョンは2.53です。

$nmap -v -sT -O -p 1-65535 192.168.0.100

動作しているポートなし

$nmap -v -sU -O -p 1-65535 192.168.0.100

514/udp    open        syslog                  
854/udp    open        unknown                 
49155/udp  open        unknown

通常のMacOSだと49154/udpのみですので開いているポートは増えたと
言えるでしょうが、UNIX系OSであることを考えると極めて安全に配慮
した設計になっていると言えると思います。

ログインして利用するうちに49155/udpから49156/udpや49157/udpと
少しづつ開いているポートが増えていくようです。何がこのポートを
使っているのか調べる手段がわからないので、理由がわかりません。

ちなみに動作しているポートを調べるには

lsof -i

と入力するとリストされてきます。これだとコマンド入力した時点で
のリストのようで、ポートにアクセスがあって初めて通信するタイプ
はリストされないみたいです。

もし調べる方法をご存じでしたら教えてください。

よしもと さんからのコメント
( Sunday, September 30, 2001 19:50:25 )

普通LISTENしているportを調べるんだったら、

% netstat -na | grep LISTEN

かな。

石津@RJC さんからのコメント
( Sunday, September 30, 2001 22:32:11 )

よしもとさんレスありがとうございます。

netstatはもちろん試したんですけどそのポートを使っている
アプリの名前が出てこないんですよね...
lsofだとアプリ名まで表示してくれるので便利かなと。

netstatでもオプションで表示可能なんでしょうか?
manしても見当たらないんですが...。

よしもと さんからのコメント
( Sunday, September 30, 2001 23:31:35 )

> netstatでもオプションで表示可能なんでしょうか?

これは単独では無理なんですが、FreeBSDにsockstatと言うコマンドがあって
(単なるperlのscriptです)これならお望みの結果が得られるじゃないかと
思います。で、こいつを移植すれば良いんですが、FreeBSD current
のnetstatは、Mac OS Xのより拡張されていたため、そのあとちゃん
と追っていません。まあ、それほど難しくはないと思うんですが...

→  sockstat

石津@RJC さんからのコメント
( Monday, October 01, 2001 23:45:29 )

sockstat見てみました。
netstatとfstatと必要な2つはOSXにはそろっているようなので
動くかと思って試してみましたが、そう簡単にはいきませんね。(^^;)

取りあえずADSLルータなどで静的NAT使ってOSX10.1でサーバをやろうと
思っている人は514/udp、854/udp、45155以上のudpをADSLルータで
フィルタしてあげれば、あとは必要なサービスのポートをケアするだけで良
さそうですね。

石津@RJC さんからのコメント
( Thursday, October 18, 2001 16:21:18 )

MacOSX10.1で非常に簡単にローカルからroot権限を取得できる
セキュリティホールが発見されています。
なんだかなーって感じですね。
GUI中心だからこそ気付かないパターンというか...

→  setuid_root exploit