Server

Notes Installing Ruby 2.2.3 on Snow Leopard

  • Update rbenv and rbenv-install via git to recognize 2.2.3
  • First attempt failed because Ruby 2.2 requires clang
  • Installed clang via MacPorts.  Successfully built Ruby 2.2.3 by specifying compiler via CC variable
    $ sudo port select clang clang-3.8
    $ CC=/opt/local/bin/clang rbenv install 2.2.3
  • Set rbenv shell Ruby to 2.2.3 and ran bundle install.
    Failed due to lack of lgomp (OpenMP library) for clang
  • Discovered gcc > v4.4 can be used to install Ruby 2.2
  • Uninstalled MacPorts clang and installed gcc v.49 instead (port name ‘mp-gcc49‘)
  • Ruby 2.2.3 build next failed trying to compile bundled readline
  • Because readline already provided via MacPorts, used RUBY_CONFIGURE_OPTS variable to force use of it
  • After Ruby installed ran bundle install again.
    Build of nokogiri gem now fails with

    checking for gzdopen() in -lz... yes
    checking for iconv... no
    -----
    libiconv is missing.  Please locate mkmf.log to investigate how it is failing.
    -----
    *** extconf.rb failed ***
  • Used --use-system-libraries flag to circumvent and remaining gems installed successfully with bundle install
    $ gem install nokogiri -v1.6.6.2 -- --use-system-libraries
SecurityServer

ooom.asia ドメインからのメールに注意

最近 ooom.asia や micmic.asia からのスパムメールが多いです。
最初は無料で番組を見られる B-CAS カードの売り込みだったが、昨日は「【日本デジタル郵便】特定記録メール便」という物騒な件名で脅迫っぽいメールが届きました。

From: suporrt@xx.ooom.asia
Subject: 【日本デジタル郵便】特定記録メール便

【重要なお知らせ】
「社団法人日本IT調査会 和解業務執行部」様より、下記内容を特定記録メール便にて送信依頼がありましたのでご確認ください。

【日本デジタル郵便】


【送信内容】
弊社は調査業務、情報管理及び和解手続き代行等を主とした調査機関でございます。

本日ご連絡致しましたのは、現在貴方がご契約されている総合コンテンツ提供サービス会社からの再三の通告を放置し、利用料金を長期延滞している事に対して、同社が起訴準備期間に入った事を報告致します。

この通知を最終通告と致しますので、本日、当社営業時間までにご連絡が無い場合、管轄裁判所から裁判日程を決定する呼出状が発行され、記載期日に指定裁判所へ出廷となります。
尚、裁判を欠席されますと、相手方の言い分通りの判決が出され、執行官立ち会いのもと、給料、財産や不動産、有価証券等の差押えを含めた強制執行となりますので、ご注意下さい。

弊社は、今回運営会社様より和解等の最終判断を委託されましたので、双方にとってより良い解決に向かうためのご相談に乗らせて頂きます。本日弊社営業時間までに早急にお電話にてご相談ください。

最近個人情報を悪用する業者の手口も見受けられますので、万が一身に覚えのない場合でも、早急にご連絡ください。

※時間帯によって繋がりにくい場合がございますので、その際は恐れ入りますが、再度お掛け直し頂きますようお願い致します。
尚、メールでの返答には対応しておりません。ご了承下さい。 


〜〜お問い合わせ先〜〜
社団法人日本IT調査会
【担当部署】和解業務執行部
【担当主任】加々美 謙一
【担当補佐】高山 正博
【担当補佐】和田山 孝輔
【電話番号】03-4588-6998
【営業時間】午前10:00〜午後18:30



以上




※本メールは特定記録メール便のサービスとして、メール開封日時の記録及びメール内容の保管を日本デジタル郵便が第三者機関として行っております。
尚、本メールアドレスへの返信をされましても、特定記録メール便送信専用となりますので、当社では確認及び対応することが出来ません。
また、依頼者様へメールが転送されることもありませんので、返信はされませんようお願い申し上げます。
【日本デジタル郵便】

どう考えても詐欺メールなのですが、WHOIS 送信元を特定しみましょう。

[00:20:34] Kokobuta(/Users/kawaih) kawaih$ whois ooom.asia
DotAsia WHOIS LEGAL STATEMENT AND TERMS & CONDITIONS: The WHOIS service offered
  ... 《割愛》 ...

Domain ID:D3215745-ASIA
Domain Name:OOOM.ASIA
Domain Create Date:23-Jun-2014 07:47:58 UTC
Domain Expiration Date:23-Jun-2015 07:47:58 UTC
Domain Last Updated Date:23-Jun-2014 07:53:24 UTC
Last Transferred Date:
Created by:GMO Internet, Inc. d/b/a Discount-Domain.com and Onamae.com R39-ASIA (49)
Last Updated by Registrar:GMO Internet, Inc. d/b/a Discount-Domain.com and Onamae.com R39-ASIA (49)
Sponsoring Registrar:GMO Internet, Inc. d/b/a Discount-Domain.com and Onamae.com R39-ASIA (49)
Domain Status:TRANSFER PROHIBITED
Status:ADDPERIOD
Registrant ID:56D4F221598A54
Registrant Name:seiichi kiyota
Registrant Organization:seiichi kiyota
Registrant Address:Kamiyasumatsu97-5
Registrant Address2:
Registrant Address3:
Registrant City:Tokorozawa-shi
Registrant State/Province:Saitama
Registrant Country/Economy:JP
Registrant Postal Code:359-0025
Registrant Phone:+81.0429946649
Registrant Phone Ext.:
Registrant FAX:
Registrant FAX Ext.:
Registrant E-mail:server_z002@yahoo.co.jp
Administrative ID:56D4DA4472B956
Administrative Name:seiichi kiyota
Administrative Organization:seiichi kiyota
Administrative Address:Kamiyasumatsu97-5
Administrative Address2:
Administrative Address3:
Administrative City:Tokorozawa-shi
Administrative State/Province:Saitama
Administrative Country/Economy:JP
Administrative Postal Code:359-0025
Administrative Phone:+81.0429946649
Administrative Phone Ext.:
Administrative FAX:
Administrative FAX Ext.:
Administrative E-mail:server_z002@yahoo.co.jp
Technical ID:56D4DAA4D10DEC
Technical Name:Taro Warita
Technical Organization:GMO Internet Inc.
Technical Address:26-1 Sakuragaoka-cho
Technical Address2:Cerulean Tower 11F
Technical Address3:
Technical City:Shibuya-ku
Technical State/Province:Tokyo
Technical Country/Economy:JP
Technical Postal Code:150-8512
Technical Phone:+81.0354562555
Technical Phone Ext.:
Technical FAX:+81.0354562556
Technical FAX Ext.:
Technical E-mail:admin@onamae.com
Billing ID:56D4F4166261ED
Billing Name:seiichi kiyota
Billing Organization:seiichi kiyota
Billing Address:Kamiyasumatsu97-5
Billing Address2:
Billing Address3:
Billing City:Tokorozawa-shi
Billing State/Province:Saitama
Billing Country/Economy:JP
Billing Postal Code:359-0025
Billing Phone:+81.0429946649
Billing Phone Ext.:
Billing FAX:
Billing FAX Ext.:
Billing E-mail:server_z002@yahoo.co.jp
Nameservers:01.DNSV.JP
Nameservers:02.DNSV.JP
Nameservers:03.DNSV.JP
Nameservers:04.DNSV.JP
Nameservers:
Nameservers:
Nameservers:
Nameservers:
Nameservers:
Nameservers:
Nameservers:
Nameservers:
Nameservers:

ooom.asia は今週の月曜日 6/23 に登録されています。明らかに怪しいです。
技術担当者情報から、ドメインは GMOインターネット株式会社 の「お名前.com」で登録されていることが分かります (「Technical E-mail」が「admin@onamae.com」)。

では、もう一つのドメイン micmic.asia の情報を見てみましょう。

[00:28:46] Kokobuta(/Users/kawaih) kawaih$ whois micmic.asia
DotAsia WHOIS LEGAL STATEMENT AND TERMS & CONDITIONS: The WHOIS service offered
  ... 《割愛》 ...

Domain ID:D3215742-ASIA
Domain Name:MICMIC.ASIA
Domain Create Date:23-Jun-2014 07:47:40 UTC
Domain Expiration Date:23-Jun-2015 07:47:40 UTC
Domain Last Updated Date:23-Jun-2014 07:55:10 UTC
Last Transferred Date:
Created by:GMO Internet, Inc. d/b/a Discount-Domain.com and Onamae.com R39-ASIA (49)
Last Updated by Registrar:GMO Internet, Inc. d/b/a Discount-Domain.com and Onamae.com R39-ASIA (49)
Sponsoring Registrar:GMO Internet, Inc. d/b/a Discount-Domain.com and Onamae.com R39-ASIA (49)
Domain Status:TRANSFER PROHIBITED
Status:ADDPERIOD
Registrant ID:56D4D62A12CA45
Registrant Name:seiichi kiyota
Registrant Organization:seiichi kiyota
Registrant Address:Kamiyasumatsu97-5
Registrant Address2:
Registrant Address3:
Registrant City:Tokorozawa-shi
Registrant State/Province:Saitama
Registrant Country/Economy:JP
Registrant Postal Code:359-0025
Registrant Phone:+81.0429946649
Registrant Phone Ext.:
Registrant FAX:
Registrant FAX Ext.:
Registrant E-mail:server_z002@yahoo.co.jp
Administrative ID:56D4EF548387E9
Administrative Name:seiichi kiyota
Administrative Organization:seiichi kiyota
Administrative Address:Kamiyasumatsu97-5
Administrative Address2:
Administrative Address3:
Administrative City:Tokorozawa-shi
Administrative State/Province:Saitama
Administrative Country/Economy:JP
Administrative Postal Code:359-0025
Administrative Phone:+81.0429946649
Administrative Phone Ext.:
Administrative FAX:
Administrative FAX Ext.:
Administrative E-mail:server_z002@yahoo.co.jp
Technical ID:56D4E9E292122E
Technical Name:Taro Warita
Technical Organization:GMO Internet Inc.
Technical Address:26-1 Sakuragaoka-cho
Technical Address2:Cerulean Tower 11F
Technical Address3:
Technical City:Shibuya-ku
Technical State/Province:Tokyo
Technical Country/Economy:JP
Technical Postal Code:150-8512
Technical Phone:+81.0354562555
Technical Phone Ext.:
Technical FAX:+81.0354562556
Technical FAX Ext.:
Technical E-mail:admin@onamae.com
Billing ID:56D4D830B17354
Billing Name:seiichi kiyota
Billing Organization:seiichi kiyota
Billing Address:Kamiyasumatsu97-5
Billing Address2:
Billing Address3:
Billing City:Tokorozawa-shi
Billing State/Province:Saitama
Billing Country/Economy:JP
Billing Postal Code:359-0025
Billing Phone:+81.0429946649
Billing Phone Ext.:
Billing FAX:
Billing FAX Ext.:
Billing E-mail:server_z002@yahoo.co.jp
Nameservers:01.DNSV.JP
Nameservers:02.DNSV.JP
Nameservers:03.DNSV.JP
Nameservers:04.DNSV.JP

同じ「 キヨタ セイイチ」が 6/23 に登録しています。鮮度が良過ぎますね。

また、登録者の住所「〒359-0025 埼玉県所沢市上安松 97」は存在しません。96 と 99 丁目はありますが。

次は送信元の xx.ooom.asia の詳細を調べましょう。

[00:49:02] Kokobuta(/Users/kawaih) kawaih$ dig xx.ooom.asia

; <<>> DiG 9.8.3-P1 <<>> xx.ooom.asia
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52072
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 6

;; QUESTION SECTION:
;xx.ooom.asia.			IN	A

;; ANSWER SECTION:
xx.ooom.asia.		3393	IN	A	192.249.76.187

;; AUTHORITY SECTION:
ooom.asia.		62215	IN	NS	01.dnsv.jp.
ooom.asia.		62215	IN	NS	02.dnsv.jp.
ooom.asia.		62215	IN	NS	04.dnsv.jp.
ooom.asia.		62215	IN	NS	03.dnsv.jp.

;; ADDITIONAL SECTION:
01.dnsv.jp.		56489	IN	A	157.7.32.53
02.dnsv.jp.		68768	IN	A	157.7.33.53
03.dnsv.jp.		62628	IN	A	157.7.32.35
03.dnsv.jp.		31596	IN	AAAA	2400:8500:3000::53
04.dnsv.jp.		59134	IN	A	157.7.33.35
04.dnsv.jp.		25540	IN	AAAA	2400:8500:3fff::53

;; Query time: 33 msec
;; SERVER: 163.139.230.168#53(163.139.230.168)
;; WHEN: Wed Jun 25 00:49:08 2014
;; MSG SIZE  rcvd: 241

[00:49:08] Kokobuta(/Users/kawaih) kawaih$ dig -tMX ooom.asia

; <<>> DiG 9.8.3-P1 <<>> -tMX ooom.asia
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59154
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;ooom.asia.			IN	MX

;; AUTHORITY SECTION:
ooom.asia.		300	IN	SOA	01.dnsv.jp. hostmaster.dnsv.jp. 1403509990 3600 900 604800 300

;; Query time: 26 msec
;; SERVER: 163.139.21.197#53(163.139.21.197)
;; WHEN: Wed Jun 25 00:49:13 2014
;; MSG SIZE  rcvd: 84

メールサーバ (MX レコード) は登録されていません。一方的にスパムを送るためのドメインです。

最後に xx.ooom.asia の IP アドレス「192.249.76.187」の管理者を WHOIS で調べます。

[00:51:05] Kokobuta(/Users/kawaih) kawaih$ whois 192.249.76.187
  ... 《割愛》 ...

NetRange:       192.249.64.0 - 192.249.79.255
CIDR:           192.249.64.0/20
OriginAS:       AS54782
NetName:        GMO2-V4
NetHandle:      NET-192-249-64-0-1
Parent:         NET-192-0-0-0-0
NetType:        Direct Allocation
Comment:        http://us.gmocloud.com
RegDate:        2013-07-26
Updated:        2013-07-26
Ref:            http://whois.arin.net/rest/net/NET-192-249-64-0-1

OrgName:        GMO CLOUD AMERICA INC.
OrgId:          GCA-29
Address:        4685 MacArthur Court
Address:        Suite 150
City:           Newport Beach
StateProv:      CA
PostalCode:     92660
Country:        US
RegDate:        2011-06-27
Updated:        2013-08-05
Comment:        GMO Cloud America provides cloud and dedicated servers as well as vps hosting.
Ref:            http://whois.arin.net/rest/org/GCA-29

OrgNOCHandle: PKR35-ARIN
OrgNOCName:   Krensky, Paul
OrgNOCPhone:  +1-650-325-7597
OrgNOCEmail:  paul@nativehosting.com
OrgNOCRef:    http://whois.arin.net/rest/poc/PKR35-ARIN

OrgTechHandle: GCAT-ARIN
OrgTechName:   GMO CLOUD AMERICA Tech
OrgTechPhone:  +1-949-296-6260
OrgTechEmail:  tech@hsinc.com
OrgTechRef:    http://whois.arin.net/rest/poc/GCAT-ARIN

OrgAbuseHandle: GCAA-ARIN
OrgAbuseName:   GMO CLOUD AMERICA ABUSE
OrgAbusePhone:  +1-949-296-6260
OrgAbuseEmail:  abuse@hsinc.com
OrgAbuseRef:    http://whois.arin.net/rest/poc/GCAA-ARIN

問題の IP アドレスは「GMO Cloud America Inc.」の管理下です。ドメイン業者と同じ GMO グループから推測すると、セイイチ君は恐らく「GMO クラウド」を申し込み、お名前.com でスパムを送信するためのドメインを大量に一括登録したのでしょう。

ところで「社団法人日本IT調査会」をウェブで検索すると、「社団法人日本IT調査会へ電話をかけてみた」など色んな方からの詐欺喚起情報がでます。

ここでスパム配信に使われているドメインの廃止を登録業者の お名前.com に依頼しようかと考えましたが、サポートページやこの方の苦労話を見ると積極的に対応してくれなさそうな感じがしたので、メールサーバの postfix で問題のドメインからのメールをブロックする設定をすることにしました。

postfix のホワイトリスト・ブラックリストの設定方法

postfix の設定ファイル main.cf の smtpd_recipient_restrictions に check_sender_address とホワイトリスト・ブラックリストの場所を指定します。

smtpd_client_restrictions = permit_mynetworks permit_sasl_authenticated rsmtpd_pw_server_security_options = cram-md5,login
smtpd_sasl_auth_enable = yes
smtpd_use_pw_server = yes
smtpd_recipient_restrictions = permit_sasl_authenticated permit_mynetworks  reject_unauth_destination check_sender_access hash:/etc/postfix/sender_access check_policy_service unix:private/policy permit

ホワイトリスト・ブラックリスト (/etc/postfix/sender_access) の形式については、postfix の access (5) の man ページを参照していただきたいですが、《ドメイン》とそれに対する《処理》が列挙されているだけです。

apple.com               OK
amazonses.com           OK
jetbrains.com           OK
atlassian.com           OK

ooom.asia               REJECT  Quit spamming me, loser
micmic.asia             REJECT  Quit spamming me, loser

あるドメインからのメールを許可した場合は、ドメイン名 (サブドメインを含めた指定も可能) の後に「OK」と書きます。逆に禁止は「REJECT」とし、554 エラーと併せて返す任意の文字列も指定できます。

sender_access を更新した後は、postmap でファイルを postfix が処理できる形式に変換し、postfix の設定ファイルを再読み込みさせます。

[01:33:37] mail(/etc/postfix) kawai$ sudo postmap ./sender_access
[01:33:37] mail(/etc/postfix) kawai$ sudo postfix reload

さて、仕事に戻りますか…

Web

IE11 とダウンロードファイル名の問題

IE11 で User Agent が変わったことはご存知だろう。

Version 7
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0)

Version 8
Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; WOW64; Trident/4.0)

Version 9
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)

Version 10
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)

Version 11
Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko

この通り、 v11 からは「MSIE」の文字列が無くなっている。理由は IEInternals のブログによると:

This string is deliberately designed to cause most UA-string sniffing logic to interpret it either Gecko or WebKit. This design choice was a careful one—the IE team tested many UA string variants to find out which would cause the majority of sites to “just work” for IE11 users.

赤で強調したところだが、「ウェブ標準の準拠において IE11 は Gecko や WebKit と同レベルになった」とマイクロソフトが判断したと受け止められる。

確かに、IE の Acid3 や HTML5 対応のスコアはこのところ順調に改善されてはいる。一方、未だにダウンロードファイル名で UTF が使えないという恥じるべき問題が残っている。

Rails でファイルとしてダウンロードをさせたいデータを送信するときは send_data を使う。

send_data(some_blob, :filename => 'ファイル名.txt')

そして、今までは前述の「MSIE」を目印にブラウザーが IE であれば、ファイル名を Shift_JIS (CP932) に変換していた。

name = '未だにUTFが使えません.txt'
send_data(some_blob, :filename => request.is_msie? ? Iconv.iconv('cp932', 'utf-8', URI.decode(name)) : name)

先日、クライアントから IE11 でファイルをダウンロードすると、ファイル名が文字化けしてしまい、ダブルクリックしても開けないという連絡を受けた。調査すると、User Agent の変更でブラウザーが IE として認識できなかった影響で「.csv」とファイル名の拡張子が「csv」と、ピリオドが中黒に化けたせいで、開けるファイルとして扱われなかったことが原因と分かった。

今回は #is_msie? メソッドを修正することで問題は解決はできたが、Shift_JIS 系でもう一つ愚痴を言わせてもらうと、Excel が未だに Shift_JIS でしないと CSV を開けない問題は何とかならないものか。