2008/12/24

DKIM

最近, サーバのお守りができていない.
ブログを書いている暇もないけれど.
で, 久しぶりにいろいろとアップデートしたら, amavisd-newのアップデートがあった.
emergeのオプションでDKIMが目に留まったのでインストールした.
参考
http://www.ijs.si/software/amavisd/amavisd-new-docs.html#dkim
http://www.atmarkit.co.jp/fsecurity/special/89dkim/dkim02.html

設定はこんな感じ.

#amavisd genrsa /etc/local_keys_and_certificates/amavisd-new/amavisd_fukatani.org_2008.pem 2048
Private RSA key successfully written to file "/etc/local_keys_and_certificates/amavisd-new/amavisd_fukatani.org_2008.pem" (2048 bits, PEM format)

$enable_dkim_verificationと$enable_dkim_signingに1をセットして,
dkim_keyに鍵ファイル名とオプションを,
@dkim_signature_options_bysender_mapsに署名規則を入れる

# vim /etc/amavisd.conf

$enable_dkim_verification = 1;  # enable DKIM signatures verification
$enable_dkim_signing = 1;    # load DKIM signing code, needs keys in dkim_key()

#        signing domain  selector     private key              options
#        -------------   --------     ----------------------   ----------
dkim_key('fukatani.org', 'sel_fukatani-org_2008', '/etc/local_keys_and_certificates/amavisd-new/amavisd_fukatani.org_2008.pem',
  t=>'y', g=>'*', k=>'rsa', h=>'sha256:sha1', s=>'email', n=>'now testing');
@dkim_signature_options_bysender_maps = ( {
  # catchall defaults
  '.' => { a => 'rsa-sha256', c => 'relaxed/simple', ttl => 30*24*3600 },
  # 'd' defaults to a domain of an author/sender address,
  # 's' defaults to whatever selector is offered by a matching key
} );

で, 鍵をチェック
# amavisd showkeys fukatani.org agewalking.jp
sel_fukatani-org_2008._domainkey.fukatani.org.  3600 TXT (
  "v=DKIM1; g=*; h=sha256:sha1; k=rsa; s=email; t=y; n=now testing; p="
  "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp66cmCliost8E4cFvEdH"
  "eaYYgfNkryNdLag+AJ4DlzkrzwVaEkGUrvPRXciGyi1xThMwrgDQknT6vtoSqoFJ"
  "qM7ykuAt2S6Cb/mUejB1RjgOn4kFx6oJafzYDSj0DjkF6bNVST+FswTURbgD9pIQ"
  "ATqUiZdWC66ri5ILOjxwTsuiLSaSqrw7Vw4T0CuMrDZ/4JQvWYkrK3Kx5ShQ9T1G"
  "lpt8WRVD8sGfEkyA2MKMsoOOyVL2clmLeZV9jLhTYTvvciG+Lxc3QXQIxhyTW9jj"
  "iVhiEeR/Hv462YC7/dgAz+H/IWH2e7k8O9om7xucittwePuZcDcFPKHRp2t8YEAA"
  "5QIDAQAB")

これを, BINDのゾーンファイルに貼り付ける
# vim /chroot/dns/var/bind/pri/fukatani.org.zone

で, 鍵がちゃんと公開されて, Amavisdから利用できるかチェック
# amavisd testkeys
TESTING: sel_fukatani-org_2008._domainkey.fukatani.org => invalid (public key: not available)

だめですな. DNSの情報が行き渡るまで待ちましょう.
# amavisd testkeys
TESTING: sel_fukatani-org_2008._domainkey.fukatani.org => pass

できました.
ホントに署名がついているか心配だけど... とりあえずこんなもんかな.

BINDのバージョンによっては, named.confにcheck-names warn;とかcheck-names ignore;
を入れないといけないかも.
zone "fukatani.org" IN {
    check-names warn;
};

0 件のコメント: