Unixのセキュリティをチェックしよう!! 21
ストーリー by wakatono
ウチはどうかな? 部門より
ウチはどうかな? 部門より
nitonito 曰く,"オーストラリアのCERT(AusCERT)がUnixセキュリティに関する最新のチェックリストを公開している。
内容は、「パッチ」「Unix基本部」「主要サービス」「個別実装」「付録」の5つの章から構成されている。
最新のパッチを当てようから始まって、Unixセキュリティの主要なチェック項目をおさえている。個別実装では、各種BSD、各種Linux、主要商用Unixが含まれている。Mac OS XやNetInfoに関する情報が含まれていないのは残念だが、それは今後に期待しよう。
さあ、早速リストをチェックしてみよう。日頃皆さんが気を配っている項目はもれていないかな。この機会に、特に気をつけているセキュリティや、さらに加えたい項目などを教えてほしい。"
こういう機会に、自分の家や仕事場の環境をチェックしてみるのも良いだろう。意外に漏れがあるかもよ。
chkrootkit(offtopic (スコア:3, 参考になる)
#とある会社で、パッチとか当てずに放置してたVineがやられてたらしい。(笑 ごとではないな…
売り物ですが・・・・・ (スコア:3, 参考になる)
アプリケーションにたいしてInternet Security Systemsという会社のチェックツールを使っています.
結構使いやすく, 単純な指摘には修正用のシェルスクリプトも作成してくれるのでなかなか便利です・・・・
ただし, かなり高いようですけど・・・・・
# それでも一応値段分の価値はあると思う.
『今日の屈辱に耐え明日の為に生きるのが男だ』
宇宙戦艦 ヤマト 艦長 沖田十三氏談
2006/06/23 JPN 1 - 4 BRA
そういえば・・・ (スコア:3, 参考になる)
Linuxの方だと、 インストール直後に絶対やるべき作業と設定とかも私みたいな初心者には参考になります。ただ、AusCERTのページを見てると、足りない部分も結構ありそうですね。
Re:これからやるべきこと (スコア:3, 参考になる)
FreeBSD の場合、最近の場合は RELENG_4_3 とか RELENG_4_4 などの、RELEASE + セキュリティパッチ版に cvsup で上げてから PC-98 用 patch を必要に応じて当てれば良いかと。ソースリポジトリに PC-98 対応コードが入っているので、最後の作業は不要な場合もありますが。
STABLE の場合は見つかった穴はかなり早く塞がれるので、こまめに cvsup で最新ソースにして world を更新していると、ANNOUNCE/ANNOUNCE-jp で流れる Security Advisory よりも早く穴が塞がれることもあります (Security Advisory は完全に準備ができてから流れるのが基本なので)。
最低限、ANNOUNCE-jp に入って、Security Advisory はチェックするようにした方がいいでしょう。FreeBSD 本体に限らず、ports/packages に収録されているアプリケーションの穴も報告されますから、FreeBSD 以外の OS を使っている人にとっても有用な場合があります。
Re:そういえば・・・ (スコア:3, 参考になる)
手っ取り早く調べるとき、Linuxではnetstat -antuでtcp/udpの待機中を含めた使用中ポートが見れます。オプションの「n」を抜くと、/etc/servicesにあるデータを参照して、代表的なサービス名が分かります。
@IT以外にも、linux.or.jpのセキュリティはじめの一歩も有益です。
一般ユーザのアカウント (スコア:3, 参考になる)
しかし、そもそも一般ユーザのアカウントが必要なのかどうか検討するのも重要だと思うです。
たいてい必要なのはメールだけでしょうから、popオンリーの仮想アカウントで十分な場合も多いと思うんですけど。
Re:一般ユーザのアカウント (スコア:3, 興味深い)
アカウントといってもいろいろありますが、少なくともuidぐらいは与えた方がいいでしょうね。OSが持つcredentialの機能を各daemonに再実装させるのはそれはそれで高くつきますし、却って抜け穴になってしまう恐れもあります。
その上で、例えばshellを/sbin/nologinにしてloginを防ぐなど、アカウントの権限を調整するというのがすぐ思いつくやり方。
Re:一般ユーザのアカウント (スコア:3, 参考になる)
この方法が使える運用上の要件/条件は限られているはず。
そして、こういった権限の委譲を行うのもシステム屋の範疇であるはずで、特定の解に因われずに最適解が導き出せるようにスキルを磨く必要があると思います。
PermitRootLoginのdefaultはno (スコア:3, 参考になる)
念のためsshd(8)を確認してみましたが、PermitRootLoginのdefaultはnoです(先日インストールした2.2.9p2にて)。
直観的には、(open)sshはr*コマンドなどから無理なく移行できることを目標にしているようです。例えば、PasswordAuthenticationがdefaultでyesになっています。これなら、いきなりインストールしてもほかの計算機に全くloginできなくなることはまずありません。
分かっている人がいじれば済むのと、分からない人がトラブルの原因が掴めなくて悩むのとでは、前者の方が総合的にはよいのでしょう。
なお、telnet経由でrootがloginできないのは、telnetdが認証のためにlogin(1)を呼び出すことに依ります。login(1)がsecureなttyであるか否かを確かめてくれます。sshでも、UseLoginをyesにすればlogin(1)を使ってくれます。ただしリモートコマンドではlogin(1)を全く使わないので注意。
最近はバイナリパッチもある (スコア:2, 参考になる)
「修正したプログラムが入っているバイナリパッケージ」
も提供されています.パッケージを取って来て pkg_add するだけ.
いずれにせよ,announce-mlに入っていないと,セキュリティ勧告の
存在自体に気づかないことが多々ありますので,入っておいた方が
よさげ,というのは,元発言で書かれているとおりです.
Re:一般ユーザのアカウント (スコア:2, 参考になる)
しかし,それだと,メールアカウント管理者 eq root になってしまって, 企業では困ることもあります.メールアカウント管理は人事/総務的な 仕事であって,ネットワーク部門とは切り放して考えることもありますか ら.
そんなときは,uid を与えない virtual pop account のシステムも選択 肢の一つにしても良いと思います.qmail + vpopmail + qmailadmin とか.
Re:一般ユーザのアカウント (スコア:2)
UNIXを使い倒したいなら、一度はこれを経験すべき
かもしれません。せっかく構築したシステムが一瞬で
破壊されていく....
練習でやっては意味がありません。期せずしてやって
しまって初めて、rootの恐ろしさに気付くことでしょう。
そう考えると、Windowsの方がAdminでのこのような致命的破壊の確率は少ないような気がします。
optimized for /.
DJB (スコア:1)
ついでにdaemontoolsでシステム運用してるときの注意点とかもあるとうれしかったりするのだが。
これからやるべきこと (スコア:1)
# と自戒と自分への意識の念もこめてコメント……
-------- SORAMINE Yukino
Re:そういえば・・・ (スコア:1, 参考になる)
netstat -tulp | sort +3
そのマシンでLISTENしてるポートの一覧を ネットワークインターフェース/ポートでソートして、 プログラム名と共に表示。
他のUNIXでもnetstatのオプションは違ってても 同じようにできると思います。
pオプションが使えない場合は、fuserコマンドとかと 併用ですね。
Re:chkrootkit(offtopic (スコア:1)
ちょっと怖かった事がありました。
okome
Re:一般ユーザのアカウント (スコア:1)
で、メールなりニュースなりを読むのは 別の箱という意図ではないでしょうか?
httpd やら何やらのユーザとして login する 必要性はあまりありませんよね?
<厳重な注>
UNIX (or その互換) OS が動いてる箱は 常にサーバにするという仮定の下
</厳重な注>
Re:一般ユーザのアカウント (スコア:1)
で、指が滑って rm -rf / して泣く、と:-)
ケアレスミスによる被害を最小限にするには、 オペレーション用アカウントを用意する必要がありますね。
後はサイトのポリシーに応じて、/etc/login.accessを調整するなり、 tcp_wrappersでsshdを触れるホストを制限するなりして、 そのアカウントを注意深く運用すればいいでしょう。
rm -fr * .txt (スコア:1)
かなり昔の話なんですが、 予備校のある教師が「マイコンピュータをゴミ箱に捨ててごらん」なることを言われたんだそうです。 マイコンピュータへのショートカットがゴミ箱に入るだけなんですが。
root でファイルを消すときは「alias rm="rm -i"」とかdelコマンドを多用してますね。 でも、tarボールからインストールしたときは「rm -fr」使っちゃうんですよね ...。 ゴミ箱があるのとないのでは結構違いますね。
高いですねー (スコア:1)
- ISS Internet Scanner
- ISS Database Scanner
- ISS System Scanner
で行ってます。
対外的な顧客へのサービスを提供しているサーバ
類ですので、これだけ高価なツールの予算がとれましたが、一般にはなかなか導入できなかもしれませんね。
特に、System Scannerによる検査は強力です。
Windoze系のサーバは、この検査結果に従い、
キリキリにセキュリティ強度を上げることができました。
無論、NIDS(IIS RealSecure and snort)での監視もしてるし、毎月のメンテナンス
日には、各サーバOSのセキュリティパッチを適用して
ます。
が、現在仕事で使用しているグループ会社の開発用
Solarisマシンは、セキュリティ的な強度を上げる
処置は皆無に近い状態で運用されていたりしてて、
セキュリティ意識の温度差を実感してます。
---moto
Re:一般ユーザのアカウント (スコア:0)
個人で使ってる人は、rootでログインすりゃ良いってこと?