SlideShare a Scribd company logo
1 of 44
Download to read offline
ドメインのセキュリティを 
試してみた(途中) 
SPF , DKIM , 
DMARC , 
DNSSEC 
2014/11/01 Sat 
すごい合同勉強会 
2014 in 広島
お約束 
この発表は個人的な物で 
仕事や所属等は全然関係 
ありません。 
誤記や間違い等あれば 
ご指摘頂けると 
助かります。 
@takatayoshitake
自己紹介 
@takatayoshitake 
広島を中心に勉強会に出没。 
広島サーバユーザ友の会(仮称)や 
日本CloudStackユーザ会 広島支部や 
オープンソースカンファレンスの 
お手伝いやいろんな勉強会で 
Ustとかやってます。
会場のみなさんに質問 
独自ドメイン持ってる方 
で下記に対応してる方 
A. SPF 
B. DKIM 
C. DMARC 
D. DNSSEC
それぞれの役割 
メール 
–SPF , DKIM , DMARC 
電子メールの送信者偽称を防ぐ送信ドメイン認 
証技術 
ドメイン(DNS) 
–DNSSEC 
DNSデータの偽装を検知する 
DNS拡張機能
なぜ必要なの? 
迷惑メールやフィッシング等が増加 対策が必要
今回のテスト環境 
ドメインhiroshimaserver.com 
サーバIP 133.242.227.23 
OS CentOS 6.5 
※今回はさくらクラウドで試して 
みましたがConoHaVPSでも 
多分概ね同じ
検証用ドメイン .com ¥196/年
2014/11/01 AM 07:29 JST 取得
DNSの準備 
yum update 
yum install bind bind-chroot 
rpm -q bind bind-chroot 
bind-9.8.2-0.30.rc1.el6.x86_64 
bind-chroot-9.8.2-0.30.rc1.el6.x86_64 
cp -pi /etc/sysconfig/named /etc/sysconfig/named.org 
vi /etc/sysconfig/named 
追加 
OPTIONS="-4"
named.conf 
cp -pi /etc/named.conf /etc/named.conf.org 
vi /etc/named.conf 
listen-on port 53 { 127.0.0.1; }; ↓ 
// listen-on port 53 { 127.0.0.1; }; 
listen-on-v6 port 53 { ::1; }; ↓ 
listen-on-v6 port 53 { none; }; 
allow-query { localhost; }; ↓ 
allow-query { any; }; 
recursion yes; ↓ 
recursion no; 
version "unknown";
named.conf zone追加 
zone "hiroshimaserver.com" IN { 
type master; 
file "master/hiroshimaserver.com.zone"; 
};
zone 
mkdir /var/named/master/ 
cd /var/named/master/ 
cp /var/named/named.empty /var/named/master/hiroshimaserver.com.zone 
vi /var/named/master/hiroshimaserver.com.zone
# /var/named/master/hiroshimaserver.com.zone 
$TTL 300 ; 5m 
@ IN SOA @ ns1.hiroshimaserver.com. ( 
2014110104 ; serial 
1D ; refresh 
1H ; retry 
1W ; expire 
3H ) ; minimum 
IN NS ns1.hiroshimaserver.com. 
IN NS ns2.hiroshimaserver.com. 
IN MX 50 mail1.hiroshimaserver.com. 
host1 IN A 133.242.227.23 
ns1 IN A 133.242.227.23 
ns2 IN A 133.242.227.23 
mail1 IN A 133.242.227.23 
smtp IN A 133.242.227.23 
pop IN A 133.242.227.23 
www IN A 133.242.227.23
設定チェック,サービス開始 
chown -R named:named /var/named/master/ 
/usr/sbin/named-checkconf /etc/named.conf 
/usr/sbin/named-checkzone hiroshimaserver.com 
/var/named/master/hiroshimaserver.com.zone 
service named start 
dig @localhost ns1.hiroshimaserver.com a 
dig @localhost hiroshimaserver.com soa 
dig @localhost hiroshimaserver.com mx
メールサーバ 
ConoHaの薄い本電子版Vol.2「メールサーバーを立てよう」 
https://www.conoha.jp/blog/tech/books/1522.html 
# rpm -q postfix 
postfix-2.6.6-6.el6_5.x86_64 
vi /etc/postfix/main.cf 
cp -pi /etc/postfix/main.cf /etc/postfix/main.cf.org 
vi /etc/postfix/main.cf
main.cf 
myhostname = mail1.hiroshimaserver.com 
mydomain = hiroshimaserver.com 
myorigin = $mydomain 
inet_interfaces = all 
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain 
home_mailbox = Maildir/ 
smtpd_banner = $myhostname ESMTP unknown 
smtpd_sasl_auth_enable = yes 
smtpd_sasl_local_domain = $myhostname 
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, 
reject_unauth_destination 
mailbox_size_limit = 1073741824
postconf -n 
cp -pi /etc/postfix/master.cf /etc/postfix/master.cf.org 
vi /etc/postfix/master.cf 
submission inet n - n - - smtpd 
chkconfig saslauthd on 
chkconfig --list saslauthd 
service saslauthd start 
service postfix restart
dovecot 
yum install dovecot 
cp -pi /etc/dovecot/conf.d/10-mail.conf /etc/dovecot/conf.d/10-mail.conf.org 
vi /etc/dovecot/conf.d/10-mail.conf 
mail_location = maildir:~/Maildir 
cp -pi /etc/dovecot/conf.d/10-auth.conf /etc/dovecot/conf.d/10-auth.conf.org 
vi /etc/dovecot/conf.d/10-auth.conf 
disable_plaintext_auth = no 
auth_mechanisms = plain login
cp -pi /etc/dovecot/conf.d/10-master.conf /etc/dovecot/conf.d/10- 
master.conf.org 
vi /etc/dovecot/conf.d/10-master.conf 
# Postfix smtp-auth 
unix_listener /var/spool/postfix/private/auth { 
mode = 0666 
user = postfix 
group = postfix 
}
dovecot -n 
chkconfig dovecot on 
chkconfig --list dovecot 
service dovecot start
テスト用 telnet インストール 
yum install telnet 
telnet localhost 25 
telnet localhost 587 
テストユーザ追加 
useradd -s /sbin/nologin mailuser01 
passwd mailuser01
テストメール送信 
telnet mail1.hiroshimaserver.com 25 
helo xxxx 
mail from: yo.takata@gmail.com 
rcpt to: mailuser01@hiroshimaserver.com 
data 
From: yo.takata@gmail.com 
To: mailuser01@hiroshimaserver.com 
Subject: TEST MAIL YYYY/MM/DD HH:MM 
TEST 
.
テストメール受信 
telnet pop.hiroshimaserver.com 110 
user mailuser01 
pass xxxxxxxxx 
list 
retr 1 
quit
SPF 
vi /var/named/master/hiroshimaserver.com.zone 
hiroshimaserver.com. IN TXT"v=spf1 ip4:133.242.227.23 ~all" 
hiroshimaserver.com. IN SPF "v=spf1 ip4:133.242.227.23 ~all" 
※serialを増加させるのを忘れずに 
rndc reload 
dig @localhost hiroshimaserver.com txt 
dig @localhost hiroshimaserver.com spf 
http://www.sendmail.co.jp/sa/spfcheck.html
DKIM 
rpm -q opendkim 
yum install opendkim 
# rpm -q opendkim 
opendkim-2.9.0-2.el6.x86_64 
mkdir /etc/opendkim/keys/hiroshimaserver.com 
/usr/sbin/opendkim-genkey -D /etc/opendkim/keys/hiroshimaserver.com/ 
-d hiroshimaserver.com -s default 
ls -l /etc/opendkim/keys/hiroshimaserver.com/ 
chown -R opendkim:opendkim /etc/opendkim/keys 
mv /etc/opendkim/keys/hiroshimaserver.com/default.private 
/etc/opendkim/keys/hiroshimaserver.com/default 
※今回は default で作成しますが本来はシリアル等入れて定期的に更新する
opendkim.conf 
cp -pi /etc/opendkim.conf /etc/opendkim.conf.org 
vi /etc/opendkim.conf 
Mode sv 
##KeyFile /etc/opendkim/keys/default.private 
KeyTable /etc/opendkim/KeyTable 
SigningTable refile:/etc/opendkim/SigningTable 
ExternalIgnoreList 
refile:/etc/opendkim/TrustedHosts 
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable 
cp -pi /etc/opendkim/KeyTable 
/etc/opendkim/KeyTable.org 
vi /etc/opendkim/KeyTable 
default._domainkey.hiroshimaserver.com 
hiroshimaserver.com:default:/etc/opend 
kim/keys/hiroshimaserver.com/default
TrustedHosts 
cp -pi /etc/opendkim/TrustedHosts /etc/opendkim/TrustedHosts.org 
vi /etc/opendkim/TrustedHosts 
127.0.0.1localhost 
mail1.hiroshimaserver.com 
hiroshimaserver.com
SigningTable 
cp -pi /etc/opendkim/SigningTable 
/etc/opendkim/SigningTable.org 
vi /etc/opendkim/SigningTable 
*@hiroshimaserver.com 
default._domainkey.hiroshimaserver. 
com
Postfix - main.cf 
vi /etc/postfix/main.cf 
#opendkim 
smtpd_milters = inet:127.0.0.1:8891 
non_smtpd_milters = $smtpd_milters 
milter_default_action = accept
DNS DKIM 
cat /etc/opendkim/keys/hiroshimaserver.com/default.txt 
default._domainkey IN TXT ( "v=DKIM1; k=rsa; " 
"p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+urIo0ohDG 
rETcuo2lc9Hv1RJ7cX/430Ls1LrNZNadbqpNuDna3NdWxEgL5WE 
ALFn6yPd0BuSVlaiMYs+D1qzqEJrvCpRNr1ko69ZAJZzerMRYiBI 
NdT8ABWa92Pg+SlfaDEs1NtQ7cafY6SK97n0Ukxw1UHMBpzTgs 
rJL0vMQwIDAQAB" ) ; ----- DKIM key default for 
hiroshimaserver.com 
_adsp._domainkey.hiroshimaserver.com. IN TXT "dkim=unknown" 
vi /var/named/master/hiroshimaserver.com.zone 
上記txtの中身を追加 
※シリアルを加算 
rndc reload
opendkim 
service opendkim start 
service postfix restart
送信テスト 
telnet localhost 25 
helo mail1.hiroshimaserver.com 
mail from: mailuser01@hiroshimaserver.com 
rcpt to: yo.takata@gmail.com 
data 
From: mailuser01@hiroshimaserver.com 
To: yo.takata@gmail.com 
Subject: TEST YYYY/MM/DD HH:MM 
TEST 
. 
quit 
※gmail等にメールを送ってメッセージのソース表示で判定結果を確認
DMARC (DNS設定のみ) 
vi /var/named/master/hiroshimaserver.com.zone 
_dmarc.hiroshimaserver.com. IN TXT "v=DMARC1; 
p=none; rua=mailto:report-dmarc@ 
hiroshimaserver.com; ruf=mailto:report-dmarc@ 
hiroshimaserver.com" 
※シリアルを加算 
rndc reload
テスト結果 
Received-SPF: pass (google.com: domain of mailuser01@hiroshimaserver.com designates 
133.242.227.23 as permitted sender) client-ip=133.242.227.23; 
Authentication-Results: mx.google.com; 
spf=pass (google.com: domain of mailuser01@hiroshimaserver.com designates 133.242.227.23 
as permitted sender) smtp.mail=mailuser01@hiroshimaserver.com; 
dkim=pass header.i=@hiroshimaserver.com; 
dmarc=pass (p=NONE dis=NONE) header.from=hiroshimaserver.com 
Received: from mail1.hiroshimaserver.com (localhost [IPv6:::1]) 
by mail1.hiroshimaserver.com (Postfix) with SMTP id 16BFC60672 
for <yo.takata@gmail.com>; Sat, 1 Nov 2014 15:11:43 +0900 (JST) 
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hiroshimaserver.com; 
s=default; t=1414822343; 
bh=q5cyARPl5zX/knmvCnEy11G7/r6gcljJ44qrvv5DErY=; 
h=From:To:Subject:Date; 
b=liRt7CwuIswOjW5+JYJRYmxaQe9W2QzZF98LvfRF55AWCbolKPItsZq/ztKuxLRXH 
QDiZvozmL7pKlYCzUabCQG+kwuZo20PfbCY4xQnqKO3ocLpESBukudru41RnzwzXFf 
GnUrIjFQmaxxA8E070qFpgAkXXTvLr51AyT6LVlI=
dnssec 
mkdir /var/named/master/keys 
chown -R named:named /var/named/master/keys 
cp -pi /etc/named.conf /etc/named.conf.YYYYMMDD 
vi /etc/named.conf 
key-directory "master/keys"; 
update-policy local; 
auto-dnssec maintain;
KSK 
named-checkconf /etc/named.conf 
cd /var/named/master/keys 
dnssec-keygen -a RSASHA256 -b 2048 -r /dev/urandom -f ksk 
hiroshimaserver.com 
ls -l 
chown named:named * 
rndc loadkeys hiroshimaserver.com
DS 
dnssec-dsfromkey Khiroshimaserver.com.+008+40447.key > dsset-hiroshimaserver. 
com 
# cat dsset-hiroshimaserver.com 
hiroshimaserver.com. IN DS 40447 8 1 
16B3F146217ABDB046C7F4B58CD876FC8AE175F4 
hiroshimaserver.com. IN DS 40447 8 2 
A0709807AA9AACEDDAAE3C0AE565321C1FAA3F33774974E863FF743B 
7255CB84
zone編集時は freeze 
cd /var/named/master/ 
rndc freeze hiroshimaserver.com 
vi hiroshimaserver.com.zone 
rndc thaw hiroshimaserver.com
DSレコードの登録 
DNSレジストラによって異なります。 
※どなたかGodaddyへのDS登録方法を 
ご存知の方が居られたら教えて下さい。 
.jpドメインでJPDirectでは出来ました。 
※JPDirectは新規受付停止(泣
DNSSEC Check 
http://dnssec-debugger. 
verisignlabs.com/
まとめ 
DNS等のセキュリティの検証は 
間違えると通信が出来なくなっ 
たりする危険がありますが, 
テスト用のドメインは数百円で 
買えるのでぜひチャレンジして 
みましょう! 
・・・失敗しても痛くない(汗
ご清聴 
ありがとう 
ございました。 
今日は間に合いません 
でしたが,DNSSEC 
出来たらUpdate予定

More Related Content

Viewers also liked

Análisis de coyuntura económica - Argentina
Análisis de coyuntura económica - ArgentinaAnálisis de coyuntura económica - Argentina
Análisis de coyuntura económica - Argentinafinanzas_uca
 
Khrsheed khawar peshawar night Part-2
Khrsheed khawar peshawar night Part-2Khrsheed khawar peshawar night Part-2
Khrsheed khawar peshawar night Part-2Ahmed Hashmi
 
100mph, Stage 2: Strategic Digital Marketing Activation
100mph, Stage 2: Strategic Digital Marketing Activation100mph, Stage 2: Strategic Digital Marketing Activation
100mph, Stage 2: Strategic Digital Marketing ActivationA Better Version of You
 
Creating a good architecture
Creating a good architectureCreating a good architecture
Creating a good architectureFrank Sons
 
Mobile clinic breast_cancer_research_proposal_
Mobile clinic breast_cancer_research_proposal_Mobile clinic breast_cancer_research_proposal_
Mobile clinic breast_cancer_research_proposal_klee4vp
 
Прототип сайта Paymantix 06 2014(ver.3)
Прототип сайта Paymantix 06 2014(ver.3)Прототип сайта Paymantix 06 2014(ver.3)
Прототип сайта Paymantix 06 2014(ver.3)Vadim Andreev
 
Wearable Technology + Social Media
Wearable Technology + Social MediaWearable Technology + Social Media
Wearable Technology + Social MediaCaitlin Jeansonne
 
S Pr Ookjes Rsg Lingecollege 2 2011
S Pr Ookjes Rsg Lingecollege 2 2011S Pr Ookjes Rsg Lingecollege 2 2011
S Pr Ookjes Rsg Lingecollege 2 2011Johan Lapidaire
 
Leermeester Centraal Leermeesterdag NN 8-3-2011
Leermeester Centraal Leermeesterdag NN 8-3-2011Leermeester Centraal Leermeesterdag NN 8-3-2011
Leermeester Centraal Leermeesterdag NN 8-3-2011Johan Lapidaire
 
molson coors brewing COORS_AR2001
molson coors brewing  COORS_AR2001molson coors brewing  COORS_AR2001
molson coors brewing COORS_AR2001finance46
 
Kas Ir Bendijs
Kas Ir BendijsKas Ir Bendijs
Kas Ir BendijsBiaba
 
Lecturas 2012 1 cuatrim
Lecturas   2012 1 cuatrimLecturas   2012 1 cuatrim
Lecturas 2012 1 cuatrimfinanzas_uca
 
РЖД-Партнер №3 (151) 02-2009
РЖД-Партнер №3 (151) 02-2009РЖД-Партнер №3 (151) 02-2009
РЖД-Партнер №3 (151) 02-2009Vadim Andreev
 

Viewers also liked (17)

Análisis de coyuntura económica - Argentina
Análisis de coyuntura económica - ArgentinaAnálisis de coyuntura económica - Argentina
Análisis de coyuntura económica - Argentina
 
Khrsheed khawar peshawar night Part-2
Khrsheed khawar peshawar night Part-2Khrsheed khawar peshawar night Part-2
Khrsheed khawar peshawar night Part-2
 
100mph, Stage 2: Strategic Digital Marketing Activation
100mph, Stage 2: Strategic Digital Marketing Activation100mph, Stage 2: Strategic Digital Marketing Activation
100mph, Stage 2: Strategic Digital Marketing Activation
 
Creating a good architecture
Creating a good architectureCreating a good architecture
Creating a good architecture
 
Ellis Hope 2010
Ellis Hope 2010Ellis Hope 2010
Ellis Hope 2010
 
Mobile clinic breast_cancer_research_proposal_
Mobile clinic breast_cancer_research_proposal_Mobile clinic breast_cancer_research_proposal_
Mobile clinic breast_cancer_research_proposal_
 
Прототип сайта Paymantix 06 2014(ver.3)
Прототип сайта Paymantix 06 2014(ver.3)Прототип сайта Paymantix 06 2014(ver.3)
Прототип сайта Paymantix 06 2014(ver.3)
 
Wearable Technology + Social Media
Wearable Technology + Social MediaWearable Technology + Social Media
Wearable Technology + Social Media
 
Synkron læring
Synkron læringSynkron læring
Synkron læring
 
S Pr Ookjes Rsg Lingecollege 2 2011
S Pr Ookjes Rsg Lingecollege 2 2011S Pr Ookjes Rsg Lingecollege 2 2011
S Pr Ookjes Rsg Lingecollege 2 2011
 
Leermeester Centraal Leermeesterdag NN 8-3-2011
Leermeester Centraal Leermeesterdag NN 8-3-2011Leermeester Centraal Leermeesterdag NN 8-3-2011
Leermeester Centraal Leermeesterdag NN 8-3-2011
 
Losh
LoshLosh
Losh
 
molson coors brewing COORS_AR2001
molson coors brewing  COORS_AR2001molson coors brewing  COORS_AR2001
molson coors brewing COORS_AR2001
 
Educational Podcasting
Educational PodcastingEducational Podcasting
Educational Podcasting
 
Kas Ir Bendijs
Kas Ir BendijsKas Ir Bendijs
Kas Ir Bendijs
 
Lecturas 2012 1 cuatrim
Lecturas   2012 1 cuatrimLecturas   2012 1 cuatrim
Lecturas 2012 1 cuatrim
 
РЖД-Партнер №3 (151) 02-2009
РЖД-Партнер №3 (151) 02-2009РЖД-Партнер №3 (151) 02-2009
РЖД-Партнер №3 (151) 02-2009
 

More from Yoshitake Takata

20170805-osckyoto-lt-hiroshima
20170805-osckyoto-lt-hiroshima20170805-osckyoto-lt-hiroshima
20170805-osckyoto-lt-hiroshimaYoshitake Takata
 
来週11/27(日) OSC広島のご紹介
来週11/27(日) OSC広島のご紹介来週11/27(日) OSC広島のご紹介
来週11/27(日) OSC広島のご紹介Yoshitake Takata
 
広島アニメ関連イベントカレンダー(仮)はじめました
広島アニメ関連イベントカレンダー(仮)はじめました広島アニメ関連イベントカレンダー(仮)はじめました
広島アニメ関連イベントカレンダー(仮)はじめましたYoshitake Takata
 
[参考情報]OSC広島のお知らせ
[参考情報]OSC広島のお知らせ[参考情報]OSC広島のお知らせ
[参考情報]OSC広島のお知らせYoshitake Takata
 
スマホのパケットを節約したいけど音泉をもっと楽しみたい
スマホのパケットを節約したいけど音泉をもっと楽しみたいスマホのパケットを節約したいけど音泉をもっと楽しみたい
スマホのパケットを節約したいけど音泉をもっと楽しみたいYoshitake Takata
 
アニメの公式アカウントのフォロワー数をつぶやくTwitterボットを作ってみた
アニメの公式アカウントのフォロワー数をつぶやくTwitterボットを作ってみたアニメの公式アカウントのフォロワー数をつぶやくTwitterボットを作ってみた
アニメの公式アカウントのフォロワー数をつぶやくTwitterボットを作ってみたYoshitake Takata
 
一部のWebアクセスだけ回線を切り替える方法
一部のWebアクセスだけ回線を切り替える方法一部のWebアクセスだけ回線を切り替える方法
一部のWebアクセスだけ回線を切り替える方法Yoshitake Takata
 
IT関係の認定試験と取得費用について
IT関係の認定試験と取得費用についてIT関係の認定試験と取得費用について
IT関係の認定試験と取得費用についてYoshitake Takata
 
今年は広島関連のアニメがすごい!
今年は広島関連のアニメがすごい!今年は広島関連のアニメがすごい!
今年は広島関連のアニメがすごい!Yoshitake Takata
 
広島IT勉強会カレンダー(仮)はRubyを使っています
広島IT勉強会カレンダー(仮)はRubyを使っています広島IT勉強会カレンダー(仮)はRubyを使っています
広島IT勉強会カレンダー(仮)はRubyを使っていますYoshitake Takata
 
Ubuntuで起動画面を美雲あんずさんに変更してみた!
Ubuntuで起動画面を美雲あんずさんに変更してみた!Ubuntuで起動画面を美雲あんずさんに変更してみた!
Ubuntuで起動画面を美雲あんずさんに変更してみた!Yoshitake Takata
 
20150704-innovationegg04-conoha
20150704-innovationegg04-conoha20150704-innovationegg04-conoha
20150704-innovationegg04-conohaYoshitake Takata
 
OpenWebBoardを触ってみた(仮)
OpenWebBoardを触ってみた(仮)OpenWebBoardを触ってみた(仮)
OpenWebBoardを触ってみた(仮)Yoshitake Takata
 
Webの通信を暗号化で安全に!無料ではじめるSSL証明書入門
Webの通信を暗号化で安全に!無料ではじめるSSL証明書入門Webの通信を暗号化で安全に!無料ではじめるSSL証明書入門
Webの通信を暗号化で安全に!無料ではじめるSSL証明書入門Yoshitake Takata
 
冴えないFileSystem(ファイルシステム)の育て方
冴えないFileSystem(ファイルシステム)の育て方冴えないFileSystem(ファイルシステム)の育て方
冴えないFileSystem(ファイルシステム)の育て方Yoshitake Takata
 
Puppetを試してみた 〜スタンドアローン〜(途中)
Puppetを試してみた 〜スタンドアローン〜(途中)Puppetを試してみた 〜スタンドアローン〜(途中)
Puppetを試してみた 〜スタンドアローン〜(途中)Yoshitake Takata
 
構成管理入門以前 〜ミラーyumリポジトリを作ってみよう〜
構成管理入門以前 〜ミラーyumリポジトリを作ってみよう〜構成管理入門以前 〜ミラーyumリポジトリを作ってみよう〜
構成管理入門以前 〜ミラーyumリポジトリを作ってみよう〜Yoshitake Takata
 
二月は広島の勉強会がすごい
二月は広島の勉強会がすごい二月は広島の勉強会がすごい
二月は広島の勉強会がすごいYoshitake Takata
 
やはり日本の技術基準適合証明はまちがっている?
やはり日本の技術基準適合証明はまちがっている?やはり日本の技術基準適合証明はまちがっている?
やはり日本の技術基準適合証明はまちがっている?Yoshitake Takata
 
広島を盛り上げる新しいサービスをつくろう!~レッドハッカソン ひろしま~
広島を盛り上げる新しいサービスをつくろう!~レッドハッカソン ひろしま~広島を盛り上げる新しいサービスをつくろう!~レッドハッカソン ひろしま~
広島を盛り上げる新しいサービスをつくろう!~レッドハッカソン ひろしま~Yoshitake Takata
 

More from Yoshitake Takata (20)

20170805-osckyoto-lt-hiroshima
20170805-osckyoto-lt-hiroshima20170805-osckyoto-lt-hiroshima
20170805-osckyoto-lt-hiroshima
 
来週11/27(日) OSC広島のご紹介
来週11/27(日) OSC広島のご紹介来週11/27(日) OSC広島のご紹介
来週11/27(日) OSC広島のご紹介
 
広島アニメ関連イベントカレンダー(仮)はじめました
広島アニメ関連イベントカレンダー(仮)はじめました広島アニメ関連イベントカレンダー(仮)はじめました
広島アニメ関連イベントカレンダー(仮)はじめました
 
[参考情報]OSC広島のお知らせ
[参考情報]OSC広島のお知らせ[参考情報]OSC広島のお知らせ
[参考情報]OSC広島のお知らせ
 
スマホのパケットを節約したいけど音泉をもっと楽しみたい
スマホのパケットを節約したいけど音泉をもっと楽しみたいスマホのパケットを節約したいけど音泉をもっと楽しみたい
スマホのパケットを節約したいけど音泉をもっと楽しみたい
 
アニメの公式アカウントのフォロワー数をつぶやくTwitterボットを作ってみた
アニメの公式アカウントのフォロワー数をつぶやくTwitterボットを作ってみたアニメの公式アカウントのフォロワー数をつぶやくTwitterボットを作ってみた
アニメの公式アカウントのフォロワー数をつぶやくTwitterボットを作ってみた
 
一部のWebアクセスだけ回線を切り替える方法
一部のWebアクセスだけ回線を切り替える方法一部のWebアクセスだけ回線を切り替える方法
一部のWebアクセスだけ回線を切り替える方法
 
IT関係の認定試験と取得費用について
IT関係の認定試験と取得費用についてIT関係の認定試験と取得費用について
IT関係の認定試験と取得費用について
 
今年は広島関連のアニメがすごい!
今年は広島関連のアニメがすごい!今年は広島関連のアニメがすごい!
今年は広島関連のアニメがすごい!
 
広島IT勉強会カレンダー(仮)はRubyを使っています
広島IT勉強会カレンダー(仮)はRubyを使っています広島IT勉強会カレンダー(仮)はRubyを使っています
広島IT勉強会カレンダー(仮)はRubyを使っています
 
Ubuntuで起動画面を美雲あんずさんに変更してみた!
Ubuntuで起動画面を美雲あんずさんに変更してみた!Ubuntuで起動画面を美雲あんずさんに変更してみた!
Ubuntuで起動画面を美雲あんずさんに変更してみた!
 
20150704-innovationegg04-conoha
20150704-innovationegg04-conoha20150704-innovationegg04-conoha
20150704-innovationegg04-conoha
 
OpenWebBoardを触ってみた(仮)
OpenWebBoardを触ってみた(仮)OpenWebBoardを触ってみた(仮)
OpenWebBoardを触ってみた(仮)
 
Webの通信を暗号化で安全に!無料ではじめるSSL証明書入門
Webの通信を暗号化で安全に!無料ではじめるSSL証明書入門Webの通信を暗号化で安全に!無料ではじめるSSL証明書入門
Webの通信を暗号化で安全に!無料ではじめるSSL証明書入門
 
冴えないFileSystem(ファイルシステム)の育て方
冴えないFileSystem(ファイルシステム)の育て方冴えないFileSystem(ファイルシステム)の育て方
冴えないFileSystem(ファイルシステム)の育て方
 
Puppetを試してみた 〜スタンドアローン〜(途中)
Puppetを試してみた 〜スタンドアローン〜(途中)Puppetを試してみた 〜スタンドアローン〜(途中)
Puppetを試してみた 〜スタンドアローン〜(途中)
 
構成管理入門以前 〜ミラーyumリポジトリを作ってみよう〜
構成管理入門以前 〜ミラーyumリポジトリを作ってみよう〜構成管理入門以前 〜ミラーyumリポジトリを作ってみよう〜
構成管理入門以前 〜ミラーyumリポジトリを作ってみよう〜
 
二月は広島の勉強会がすごい
二月は広島の勉強会がすごい二月は広島の勉強会がすごい
二月は広島の勉強会がすごい
 
やはり日本の技術基準適合証明はまちがっている?
やはり日本の技術基準適合証明はまちがっている?やはり日本の技術基準適合証明はまちがっている?
やはり日本の技術基準適合証明はまちがっている?
 
広島を盛り上げる新しいサービスをつくろう!~レッドハッカソン ひろしま~
広島を盛り上げる新しいサービスをつくろう!~レッドハッカソン ひろしま~広島を盛り上げる新しいサービスをつくろう!~レッドハッカソン ひろしま~
広島を盛り上げる新しいサービスをつくろう!~レッドハッカソン ひろしま~
 

ドメインのセキュリティを試してみた(途中) SPF,DKIM,DMARC,DNSSEC ver 0.1

  • 1. ドメインのセキュリティを 試してみた(途中) SPF , DKIM , DMARC , DNSSEC 2014/11/01 Sat すごい合同勉強会 2014 in 広島
  • 2. お約束 この発表は個人的な物で 仕事や所属等は全然関係 ありません。 誤記や間違い等あれば ご指摘頂けると 助かります。 @takatayoshitake
  • 3. 自己紹介 @takatayoshitake 広島を中心に勉強会に出没。 広島サーバユーザ友の会(仮称)や 日本CloudStackユーザ会 広島支部や オープンソースカンファレンスの お手伝いやいろんな勉強会で Ustとかやってます。
  • 5. それぞれの役割 メール –SPF , DKIM , DMARC 電子メールの送信者偽称を防ぐ送信ドメイン認 証技術 ドメイン(DNS) –DNSSEC DNSデータの偽装を検知する DNS拡張機能
  • 7. 今回のテスト環境 ドメインhiroshimaserver.com サーバIP 133.242.227.23 OS CentOS 6.5 ※今回はさくらクラウドで試して みましたがConoHaVPSでも 多分概ね同じ
  • 9. 2014/11/01 AM 07:29 JST 取得
  • 10. DNSの準備 yum update yum install bind bind-chroot rpm -q bind bind-chroot bind-9.8.2-0.30.rc1.el6.x86_64 bind-chroot-9.8.2-0.30.rc1.el6.x86_64 cp -pi /etc/sysconfig/named /etc/sysconfig/named.org vi /etc/sysconfig/named 追加 OPTIONS="-4"
  • 11. named.conf cp -pi /etc/named.conf /etc/named.conf.org vi /etc/named.conf listen-on port 53 { 127.0.0.1; }; ↓ // listen-on port 53 { 127.0.0.1; }; listen-on-v6 port 53 { ::1; }; ↓ listen-on-v6 port 53 { none; }; allow-query { localhost; }; ↓ allow-query { any; }; recursion yes; ↓ recursion no; version "unknown";
  • 12. named.conf zone追加 zone "hiroshimaserver.com" IN { type master; file "master/hiroshimaserver.com.zone"; };
  • 13. zone mkdir /var/named/master/ cd /var/named/master/ cp /var/named/named.empty /var/named/master/hiroshimaserver.com.zone vi /var/named/master/hiroshimaserver.com.zone
  • 14. # /var/named/master/hiroshimaserver.com.zone $TTL 300 ; 5m @ IN SOA @ ns1.hiroshimaserver.com. ( 2014110104 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS ns1.hiroshimaserver.com. IN NS ns2.hiroshimaserver.com. IN MX 50 mail1.hiroshimaserver.com. host1 IN A 133.242.227.23 ns1 IN A 133.242.227.23 ns2 IN A 133.242.227.23 mail1 IN A 133.242.227.23 smtp IN A 133.242.227.23 pop IN A 133.242.227.23 www IN A 133.242.227.23
  • 15. 設定チェック,サービス開始 chown -R named:named /var/named/master/ /usr/sbin/named-checkconf /etc/named.conf /usr/sbin/named-checkzone hiroshimaserver.com /var/named/master/hiroshimaserver.com.zone service named start dig @localhost ns1.hiroshimaserver.com a dig @localhost hiroshimaserver.com soa dig @localhost hiroshimaserver.com mx
  • 16. メールサーバ ConoHaの薄い本電子版Vol.2「メールサーバーを立てよう」 https://www.conoha.jp/blog/tech/books/1522.html # rpm -q postfix postfix-2.6.6-6.el6_5.x86_64 vi /etc/postfix/main.cf cp -pi /etc/postfix/main.cf /etc/postfix/main.cf.org vi /etc/postfix/main.cf
  • 17. main.cf myhostname = mail1.hiroshimaserver.com mydomain = hiroshimaserver.com myorigin = $mydomain inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain home_mailbox = Maildir/ smtpd_banner = $myhostname ESMTP unknown smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $myhostname smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination mailbox_size_limit = 1073741824
  • 18. postconf -n cp -pi /etc/postfix/master.cf /etc/postfix/master.cf.org vi /etc/postfix/master.cf submission inet n - n - - smtpd chkconfig saslauthd on chkconfig --list saslauthd service saslauthd start service postfix restart
  • 19. dovecot yum install dovecot cp -pi /etc/dovecot/conf.d/10-mail.conf /etc/dovecot/conf.d/10-mail.conf.org vi /etc/dovecot/conf.d/10-mail.conf mail_location = maildir:~/Maildir cp -pi /etc/dovecot/conf.d/10-auth.conf /etc/dovecot/conf.d/10-auth.conf.org vi /etc/dovecot/conf.d/10-auth.conf disable_plaintext_auth = no auth_mechanisms = plain login
  • 20. cp -pi /etc/dovecot/conf.d/10-master.conf /etc/dovecot/conf.d/10- master.conf.org vi /etc/dovecot/conf.d/10-master.conf # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix }
  • 21. dovecot -n chkconfig dovecot on chkconfig --list dovecot service dovecot start
  • 22. テスト用 telnet インストール yum install telnet telnet localhost 25 telnet localhost 587 テストユーザ追加 useradd -s /sbin/nologin mailuser01 passwd mailuser01
  • 23. テストメール送信 telnet mail1.hiroshimaserver.com 25 helo xxxx mail from: yo.takata@gmail.com rcpt to: mailuser01@hiroshimaserver.com data From: yo.takata@gmail.com To: mailuser01@hiroshimaserver.com Subject: TEST MAIL YYYY/MM/DD HH:MM TEST .
  • 24. テストメール受信 telnet pop.hiroshimaserver.com 110 user mailuser01 pass xxxxxxxxx list retr 1 quit
  • 25. SPF vi /var/named/master/hiroshimaserver.com.zone hiroshimaserver.com. IN TXT"v=spf1 ip4:133.242.227.23 ~all" hiroshimaserver.com. IN SPF "v=spf1 ip4:133.242.227.23 ~all" ※serialを増加させるのを忘れずに rndc reload dig @localhost hiroshimaserver.com txt dig @localhost hiroshimaserver.com spf http://www.sendmail.co.jp/sa/spfcheck.html
  • 26. DKIM rpm -q opendkim yum install opendkim # rpm -q opendkim opendkim-2.9.0-2.el6.x86_64 mkdir /etc/opendkim/keys/hiroshimaserver.com /usr/sbin/opendkim-genkey -D /etc/opendkim/keys/hiroshimaserver.com/ -d hiroshimaserver.com -s default ls -l /etc/opendkim/keys/hiroshimaserver.com/ chown -R opendkim:opendkim /etc/opendkim/keys mv /etc/opendkim/keys/hiroshimaserver.com/default.private /etc/opendkim/keys/hiroshimaserver.com/default ※今回は default で作成しますが本来はシリアル等入れて定期的に更新する
  • 27. opendkim.conf cp -pi /etc/opendkim.conf /etc/opendkim.conf.org vi /etc/opendkim.conf Mode sv ##KeyFile /etc/opendkim/keys/default.private KeyTable /etc/opendkim/KeyTable SigningTable refile:/etc/opendkim/SigningTable ExternalIgnoreList refile:/etc/opendkim/TrustedHosts InternalHosts refile:/etc/opendkim/TrustedHosts
  • 28. KeyTable cp -pi /etc/opendkim/KeyTable /etc/opendkim/KeyTable.org vi /etc/opendkim/KeyTable default._domainkey.hiroshimaserver.com hiroshimaserver.com:default:/etc/opend kim/keys/hiroshimaserver.com/default
  • 29. TrustedHosts cp -pi /etc/opendkim/TrustedHosts /etc/opendkim/TrustedHosts.org vi /etc/opendkim/TrustedHosts 127.0.0.1localhost mail1.hiroshimaserver.com hiroshimaserver.com
  • 30. SigningTable cp -pi /etc/opendkim/SigningTable /etc/opendkim/SigningTable.org vi /etc/opendkim/SigningTable *@hiroshimaserver.com default._domainkey.hiroshimaserver. com
  • 31. Postfix - main.cf vi /etc/postfix/main.cf #opendkim smtpd_milters = inet:127.0.0.1:8891 non_smtpd_milters = $smtpd_milters milter_default_action = accept
  • 32. DNS DKIM cat /etc/opendkim/keys/hiroshimaserver.com/default.txt default._domainkey IN TXT ( "v=DKIM1; k=rsa; " "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+urIo0ohDG rETcuo2lc9Hv1RJ7cX/430Ls1LrNZNadbqpNuDna3NdWxEgL5WE ALFn6yPd0BuSVlaiMYs+D1qzqEJrvCpRNr1ko69ZAJZzerMRYiBI NdT8ABWa92Pg+SlfaDEs1NtQ7cafY6SK97n0Ukxw1UHMBpzTgs rJL0vMQwIDAQAB" ) ; ----- DKIM key default for hiroshimaserver.com _adsp._domainkey.hiroshimaserver.com. IN TXT "dkim=unknown" vi /var/named/master/hiroshimaserver.com.zone 上記txtの中身を追加 ※シリアルを加算 rndc reload
  • 33. opendkim service opendkim start service postfix restart
  • 34. 送信テスト telnet localhost 25 helo mail1.hiroshimaserver.com mail from: mailuser01@hiroshimaserver.com rcpt to: yo.takata@gmail.com data From: mailuser01@hiroshimaserver.com To: yo.takata@gmail.com Subject: TEST YYYY/MM/DD HH:MM TEST . quit ※gmail等にメールを送ってメッセージのソース表示で判定結果を確認
  • 35. DMARC (DNS設定のみ) vi /var/named/master/hiroshimaserver.com.zone _dmarc.hiroshimaserver.com. IN TXT "v=DMARC1; p=none; rua=mailto:report-dmarc@ hiroshimaserver.com; ruf=mailto:report-dmarc@ hiroshimaserver.com" ※シリアルを加算 rndc reload
  • 36. テスト結果 Received-SPF: pass (google.com: domain of mailuser01@hiroshimaserver.com designates 133.242.227.23 as permitted sender) client-ip=133.242.227.23; Authentication-Results: mx.google.com; spf=pass (google.com: domain of mailuser01@hiroshimaserver.com designates 133.242.227.23 as permitted sender) smtp.mail=mailuser01@hiroshimaserver.com; dkim=pass header.i=@hiroshimaserver.com; dmarc=pass (p=NONE dis=NONE) header.from=hiroshimaserver.com Received: from mail1.hiroshimaserver.com (localhost [IPv6:::1]) by mail1.hiroshimaserver.com (Postfix) with SMTP id 16BFC60672 for <yo.takata@gmail.com>; Sat, 1 Nov 2014 15:11:43 +0900 (JST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hiroshimaserver.com; s=default; t=1414822343; bh=q5cyARPl5zX/knmvCnEy11G7/r6gcljJ44qrvv5DErY=; h=From:To:Subject:Date; b=liRt7CwuIswOjW5+JYJRYmxaQe9W2QzZF98LvfRF55AWCbolKPItsZq/ztKuxLRXH QDiZvozmL7pKlYCzUabCQG+kwuZo20PfbCY4xQnqKO3ocLpESBukudru41RnzwzXFf GnUrIjFQmaxxA8E070qFpgAkXXTvLr51AyT6LVlI=
  • 37. dnssec mkdir /var/named/master/keys chown -R named:named /var/named/master/keys cp -pi /etc/named.conf /etc/named.conf.YYYYMMDD vi /etc/named.conf key-directory "master/keys"; update-policy local; auto-dnssec maintain;
  • 38. KSK named-checkconf /etc/named.conf cd /var/named/master/keys dnssec-keygen -a RSASHA256 -b 2048 -r /dev/urandom -f ksk hiroshimaserver.com ls -l chown named:named * rndc loadkeys hiroshimaserver.com
  • 39. DS dnssec-dsfromkey Khiroshimaserver.com.+008+40447.key > dsset-hiroshimaserver. com # cat dsset-hiroshimaserver.com hiroshimaserver.com. IN DS 40447 8 1 16B3F146217ABDB046C7F4B58CD876FC8AE175F4 hiroshimaserver.com. IN DS 40447 8 2 A0709807AA9AACEDDAAE3C0AE565321C1FAA3F33774974E863FF743B 7255CB84
  • 40. zone編集時は freeze cd /var/named/master/ rndc freeze hiroshimaserver.com vi hiroshimaserver.com.zone rndc thaw hiroshimaserver.com
  • 41. DSレコードの登録 DNSレジストラによって異なります。 ※どなたかGodaddyへのDS登録方法を ご存知の方が居られたら教えて下さい。 .jpドメインでJPDirectでは出来ました。 ※JPDirectは新規受付停止(泣
  • 43. まとめ DNS等のセキュリティの検証は 間違えると通信が出来なくなっ たりする危険がありますが, テスト用のドメインは数百円で 買えるのでぜひチャレンジして みましょう! ・・・失敗しても痛くない(汗
  • 44. ご清聴 ありがとう ございました。 今日は間に合いません でしたが,DNSSEC 出来たらUpdate予定