More Related Content
Similar to rsyslog + SE-PostgreSQL = ??? (20)
rsyslog + SE-PostgreSQL = ???
- 2. Agenda
1. ログ
2. 目的
3. システム構成
4. rsyslog とは
5. PostgreSQL 9.1.x (SE-PostgreSQL) とは
6. Labeled IPSec とは
7. 設定
8. まとめ
- 3. 1. ログ管理
今までのログ
定期的な監視
リソースチェック
障害の発見
インシデント発生時に利用
原因の特定
今のログ
新法制度への対応
社会的リスクマネジメント
セキュリティ要件の強化
⇒ 「何かあってから」ではなく、「何もなくても」
→ 根本は「何かあったらどうする!」だけど....
- 4. 1. ログ管理
個別サーバでのログ収集の限界
全てのサーバに同一のポリシーを適用する
ローテート期間などの管理が難しい
システムマネジメントツールを利用すればある程度可能
システムの複雑化にともなうログの増加
ハードディスクを圧迫
→システムにも影響
事故または故意による保存ログ消失
基本的にログはファイルで管理される
# rm -rf /var/log/*
- 5. 2. 目的
システムのポリシーを管理することは難しいが、
せめて、ログを消せない仕組みが欲しい
あと、欲を言うとログを一元管理したい
既存の仕組みで、できればタダで。
妄想2年(最近思い出した)
- 6. 3. システム構成
以下、実証実験環境
ログ転送
普通のサーバ ログ保存用
(rsyslog) データベースサーバ
(PostgreSQL9.1.x)
- 7. 4. rsyslog とは
RHEL系で
syslogd にとって代わってたシスログデーモン
http://www.rsyslog.com/
rsyslog の r は remote ではなく、reliable
reliable(信頼できる) syslog
主な機能
TCP によるログ転送
セキュアなログ転送が可能(stunnelを使用)
ログ処理が追いつかなくなった場合に、ログをプール可能
RFC3195(http://www.ietf.org/rfc/rfc3195.txt)サポート
標準機能として保存先にデータベースを指定可能
- 8. 5. なぜ PostgreSQL 9.1.x?
普通の PostgreSQL です。
ただし!
Add a SECURITY LABEL command and support for
SELinux permissions control
(PostgreSQL 9.1.0 リリースノートより)
OS レベルの MAC を DB でも制御可能
通称: SE-PostgreSQL
未踏ソフトウェア創造事業 にて 2006年 発表
2011年
- 9. 5. SE-PostgreSQL とは
未踏ソフトウェア創造事業 にて 2006年 発表
作者は日本人: 海外浩平氏
2011年09月 PostgreSQL 9.1 (一部)標準機能へ
今までOSの権限とまったく結びつかず、
DB 内で最強だった Super User を制御する
同じ Super User を使った場合でも、
コマンドを実行したユーザの権限によって、
DB 内の権限を縮退させることが可能
- 10. 5. SE-PostgreSQL とは
もっと具体的に
SELECT Only のテーブル
SELECT INERT Only のテーブル
特定のカラムやタプルを隠ぺい
ただし、View を使った場合には見えるとかとか
rsyslog への応用
ネットワーク経由で来たデータベースへのアクセスは
SELECT, INSERT 以外許可しない
ログが消せないシステムができる!
勿論、死ぬほど INSERT されたら違う意味で死にます。
SELinux がどうとか関係ない問題
- 11. 6. Labeled IPSec とは
IPSec の中にセキュリティラベルを混ぜる技術
今まで取得できなかったリモートのラベルを取得可能
ただし、対向も IPSec の設定が必要
Windows 等はラベルの仕組みがない
UnLabel (ラベルなし/ラベル不明)として到達
IPSec が無効な場合も UnLabel となる
困った・・・
UnLabel はFailback Context 機能で解決
分からない時は定義したラベルを付ける
- 12. 後記
この時、デモが失敗しました。
詳しくはこの辺り参照ください。
PostgreSQL 9.1.0 で SE-PostgreSQL
http://2done.org/index.php?id=42
rsyslog + SE-PostgreSQL で改竄されない?ログ
サーバ案
http://2done.org/index.php?id=44