logstudy01 & mailerstudy02に行ってきました

rsyslog入門 @ttkzw さん

syslogの概要や問題点、rsyslogの特長や設定方法などを解説していただきました。

syslogとは
  • カーネルやアプリケーションから通知されたイベントメッセージをログファイルに記録する仕組み
  • 問題点
    • デバイスとsyslogサーバとの通信にはUDPを使用しているため、信頼性がない→ログメッセージの取りこぼし、送信元の詐称の可能性がある
    • 暗号化できない
    • 自分でログローテートできない
    • fsyncするのでディスクIOが非効率
  • syslogのログ取りこぼしの原因は2つ
    • UPDでの通信のため、パケットの取りこぼしがある
    • CPUの負荷が高い場合は受け取ったメッセージを処理できず、メッセージが消えてしまう
代替のsyslogデーモン
  • syslog-ng: syslogと設定ファイルの互換性がない
  • rsyslog: syslogと設定ファイルの互換性がある程度維持されてる, 最近のLinuxでよく使われてる
rsyslogとは
  • syslogのフォーク
  • rsyslogの r は reliable で、メッセージ転送の信頼性を表している
  • TCPとかRELPとかRFC3195とかで通信することでメッセージ転送の信頼性が向上
  • 転送先のサーバがダウンしてる場合でも、rsyslogはメッセージをキューイングして再送してくれる(syslogはキューイングしない)
  • プラグインモジュールによる機能拡張が可能
rsyslogのバージョン
  • ver.4, 5, 6があって、5と6は開発が続いている
  • 後方互換モード(rsyslog -c0 で起動)は ver.6 でなくなったので、使いたい場合はver.5を使用
rsyslogのモジュールとか設定とかの話
  • モジュール特有のディレクティブはそのモジュールのロード後に書く
  • rsyslogの公式Webドキュメントに説明がないディレクティブが半分ぐらいあるので、名前から判断してくださいw
  • rsyslogのセレクタ拡張機能
    • [facility].=[severity] でseverityに一致するもの
    • [facility].!=[severity] で一致しないものを指定
  • アウトプットモジュールのomudpspoofは偽装した送信アドレスでUDPでメッセージを送信する。転送するときに元のアドレスで送りたいときに使うらしい。

メール暗号化入門 -アリスとボブの恋の行方- @ttkzw さん

一般的な暗号方式や暗号通信で使用されるプロトコルなどについて、解説していただきました。
2セッション続けて@ttkzwさんが担当されていました。なんという@ttkzwさん無双w

暗号技術
  • メールの脅威:盗聴、否認、改ざん、詐称→脅威への対策として暗号技術を利用
  • ほとんどはセッション鍵(一定時間だけ有効な鍵)を使って暗号化。セッション鍵を公開鍵方式で渡して、あとは共通鍵方式でやりとりする。
  • PGPは信頼の輪:友達の友達はみんな友達
  • 公開鍵暗号では鍵配送が問題となる(暗号化は常に鍵配送との戦い)
    • 対策として公開鍵証明書を使用
    • 認証局自身の証明書を証明する仕組みが公開鍵基盤(PKI)
    • ルート認証局ルート証明書はOSやソフトウェアにバンドルして配布
SSL/TLS
  • SSL/TLS: インターネット上の安全な通信を提供するプロトコル
    • TCP/IP通信に対して透過的に使える
    • ダウングレード攻撃の影響を受けるため、SSL2.0は無効にしなきゃダメ
  • SMTPS: SMTPSSL/TLSで暗号化するプロトコル
    • TCP 465番ポートを慣習的に使ってるけどIANAに正式に登録されていない(慣習的に使ってる)
    • メーラからSMTPサーバへのメール送信時のみで使われてて、SMTPサーバ同士のやりとりでは使えない
メール特有の話
  • SMTP,POP3,IMAPのセッション中にSTARTTLSコマンドでTLS通信に切り替える
    • POP3だとなぜか短縮されてて STLS になってる
  • SMTPサーバと接続確認するには
    • SMTPS: openssl s_client -connect localhost:465
    • STARTTLS: openssl s_client -connect localhost:587 -starttls smtp
  • IMAPサーバとの接続確認
    • IMAPS: openssl s_client -connect ホスト名:993
    • STARTTLS: openssl s_client -connect ホスト名:143 -starttls imap
  • POP3サーバとの接続確認
    • POP3S: openssl s_client -connect ホスト名:995
    • STARTTLS: openssl s_client -connect ホスト名:110 -starttls pop3
  • STARTTLS以外はメール特有のものはない。SSL/TLSTCP/IP通信に対して透過的に使える。

logと監視の微妙な関係 〜こんなlogはイヤだ〜 @qryuuさん

logstudyの第1回として、ログの出力方法が悪いせいでうまくログがとれないケースの実例(主にZabbix)を紹介していただきました。

資料↓
https://docs.google.com/presentation/pub?id=1wGLr5am-N4WfeXiGculVxZFdw140w18nbnkIPtmJ4W4

  • イベントビューワでは日本語のメッセージなのにZabbixで収集してみたら英語になってる!?
    • そもそもメッセージのDLLが作成されていないとか、Windows2008で追加されたWidowsイベントログ6.0を使っていると、APIの互換性が無いためZabbixで取れないとか…
  • ログローテーションすると文字化けする!?
    • ローテーションした瞬間に圧縮されてしまったため。1世代前までは圧縮しないようにして解決。
  • logが変なところで改行される!?
    • Zabbixはファイルエンドを改行として扱うため、メッセージを途中でフラッシュするとそこで改行されてしまう。途中でフラッシュしちゃダメ
  • logが遅れて出力される!?
    • syslogの仕様。-mark-オプションをつけるかrsyslogを使う

まとめ

そんなわけで、logstudy01 & mailerstudy02に行ってきました。