Apr 21, 2012

不審なトラフィックの件

BlogSpotをお使いの方は、アクセス解析を使うとき注意した方が良いかもしれません。

背景:
 このブログのアクセス解析等が使い易くなったのだが、トラフィックを見ていると www4.savegco-antivir.comで始まる長いURLをきっかけとするアクセスがありました。直感的に妖しいと感じました。

対策:
 アンチウイルスソフトにとって、この何年かで初めての活躍のチャンスになりました。警告を挙げてくれました。もっとも 0-dayの可能性だってあったわけで、軽々しくアクセスすべきではなかったとも思います。 (^^;)

 そういう場合に、マカフィーの短縮URLサービス を使い、短縮URL(一応注意ください→ )にアクセスすると赤色っぽい画面で警告してくれます。メッセージは英語(下記参照)ですが、「やばい」ということは直ぐわかります。

ALERT:  The site you are trying to visit has been flagged as RED by McAfee. - you can find out why from the Detailed Site Report. This site is marked as unsafe. You will not redirect to:
http://www1.hard-jusuite....snzoyqzhpqjabkqqzyakopqen/

この仕掛けだと、何かがPCに入り込む前に警告を受けることが出来て、安全性が高まります。直感的に「怪しい」と思ったときは、短縮してからアクセスしてチェックする、といった使い方もありかも。

Apr 20, 2012

インドのICBMの件

インドと中国は、お向かいさんが二人のジャイアン化した状態なのですかね?

このミサイルをインドメディアは「中国キラー」と呼んでいるのだとか。
よく見ると、日本も射程内なんですが、日本のメディアは、ざっと見たところ、そこには触れていません。

ref 1: http://worldnews.msnbc.msn.com/_news/2012/04/18/11275632-india-test-fires-china-killer-missile-capable-of-reaching-beijing-europe

ref 2: http://www.reuters.com/article/2012/04/19/us-india-missile-idUSBRE83I03Z20120419

北海道の もう少し北は戦略的意義が大きいとも とれるし、日本メディアを通じた専門家の御意見も伺いたいところです。


一方 米メディア(ref 1)は「大陸間の核抑止力でエリートの仲間入り」とまで言っています。
また、「世捨て人状態の北朝鮮の一件に比べ、本件は西側の批判を浴びなかった」との事。

それなら日本も核ミサイルの検討ぐらい始めても良いのでは?
いやいや、やはり日本は、ここで核軍備縮小を訴えていくべきなんじゃないですかね?
近代は欧米が決めたルールに従うしかなかった。それらの国々がはじめた核のルールに違和感があるのは当然。でもこれからはアジアが共に手を取り合って栄えていくのだ、と。ボタンを押せば世界が終わる、なんて、ナンセンスだ、と。日本は、軍備を持たずに成長できた。日本の やり方も参考になるのでは、と。

実は安全圏(射程圏外)に居る町一番の悪ガキ・米国の真意は、「隣町のジャイアン同士が、互いに いがみ合って、消耗してくれれば本望」なのだろうし。 

※ 英語、ところどころ拾い読みしたに過ぎません。詳しい方、色々教えてください。

Apr 18, 2012

iPhoneでリモートアクセス、メモ

出先wi-fi環境から iPhoneで、自宅のサーバに安全にアクセスする際の解決方向性。書きかけ。

■アプリインストール
 1.ssh と遠隔制御ソフトのポート転送を組み合わせる。
  ・sshで暗号化&圧縮。
  ・可能プロトコルが限られる点、注意。
  ・iPhoneの小さい画面での見え方の自作ビデオ(リンク)をいくつか示す。
  ・sshのポート転送設定は割愛。

   (1) RDP : port 3389/tcp
     RDP Lite from iPhone to win7

   (2) VNC : port 5900/tcp
     RDP_vs_VNC_on_iPad_201009-002.wmv
      (PCクライアントなら、vnc serverのjavaインターフェイスに
     browserで reverse-proxy-server:5800/ にアクセスする手もある。
     iPhoneで稼動するか試していない)

   (3) My Desktops (port 未調査)・ビデオ
     My Desktops vs VNC on iPhone

   (4) Citrix : port 1494/tcp
     パス。自宅サーバをCitrix化するお金がもったいないので。
 
  ※ 自宅がWindows系なら、cygwinをあらかじめインストールしてsshサーバ準備。

 2.GuizmOVPN (パス。JB必須なので。実施すれば、プロトコルの制約はなくなる)

 3.ipsec (パス。ciscoルータをいつも使うとは限らないので)
 4.L2TP, PPTP (パス。出先のルータが古いと、実装されていないことも
   あるらしいので)

 //

Apr 15, 2012

一月のメモ

 "AweSync" : ノーツと、Googleカレンダの同期。@約二千円
   # 30 days FREE full functional Trial
   # - Only $19.99 for Lifetime license
    AweSync synchronize Lotus to Google Apps

Lotus Launcher  ver 1.3 無料 (Appinfo for android)
Lotus Launcher 2  ver 1.0.7 無料 (Appinfo for android)
Lotus Launcher 2 Full ver 1.0 \229JPY (Appinfo for android)
 android用、iNotesのログイン補助ツール(ログイン情報保管)
 有償版との違いは、 
  ・カレンダー一週間だけ
  ・セキュリティパターン保護無し(意味不明)
  ・広告表示

モバイルソケット for Lotus Notes (Business App NAVI)
 メール/カレンダー/連絡先/などにアクセスできるSaaSサービス
 法人向け:1ユーザー(2,000円/月)

サイオス、Google Apps と Lotus Notes をシームレスにサービス  (2010/12/02)
 既存 Notes ユーザーに対し、Google Apps と Notes の長所を組み合わせた、
 共存環境に移行できるようにする

Notes Pro for Lotus Notes

Lotus Notesアプリをスマートフォンで利用する際の課題:
 Lotus Notes Travelerは、アクセス可能な領域はメール(+スケジュール、コンタクト)に限られていたり、iNotesは、それ用に設計されたDBのみが利用可能(そういう設計になっていないと、ブラウザで当該DBを開けなかったり、開いても、メニューがまともに表示されなかったり機能しなかったりする)。

解決方向性:
 ネイティブアプリをスマホで稼動させる。

ソリューション:

Notes Pro for Lotus Notes (apple.com  2009/12/18) ver 1.3.1、価格 1,300JPY
iPhone用Lotus Notesクライアント 「Notes Pro for Lotus Notes」最新版 (マイナビニュース 2009/07/06)

といっても、互換のネイティブクライアントとは謳っておらず、メール・カレンダー・コンタクト程度に限られるのかもしれない。未詳。

価格: 1,700JPY -> 1,300JPYに値下げ
米JM Interactive製( 14.99USD, 2009/12/18, version 1.3.1 )
動作確認済環境: Lotus Notes 6/6.5/7/8/8.5
PC MagazineのiPhone業務アプリでトップだったらしい。
直接Lotus Notesサーバにアクセスすることで、Lotus Notesのメール、カレンダー、グループ/個人住所録、Todoを閲覧できるアプリケーション。

Androidへの証明書インストール手順、メモ

認証情報を操作する (support.google.com)

Android でサポートする証明書は
 (a)DER エンコードの X.509 証明書、かつ
  拡張子 .crt または .cerのファイル
 または
 (b)拡張子 .p12 または .pfx の PKCS#12 キー ストアファイル
  ※ PKCS#12 キー ストアの証明書をインストールした場合は、
    付随するプライベート キーや認証局証明書もインストールされます。


端末の内部ストレージから証明書をインストールする手順

  1. パソコンから端末の内部ストレージの(フォルダではなく)ルートに、証明書またはキー ストアをコピーします。
  2. ホーム画面または [すべてのアプリ] 画面で、設定アイコン をタップします。
  3. [ユーザー設定] > [セキュリティ] > [認証情報ストレージ] > [ストレージからのインストール] に移動します。
  4. インストールする証明書またはキー ストアのファイル名をタップします。まだインストールしていない証明書のみが表示されます。
  5. 必要に応じてキー ストアのパスワードを入力し、[OK] をタップします。
  6. 証明書の名前を入力して [OK] をタップします。
通常は、クライアント証明書に含まれている CA 証明書が同時にインストールされます。同じ手順で別の CA 証明書をインストールすることもできます。
証明書が正常にインストールされると、ストレージ内のコピーは削除されます。


重要: 証明書に対応しているメールやブラウザのようなアプリでは、アプリ内から直接、証明書をインストールできます。詳しくは、各アプリのヘルプや取扱説明書をご覧ください。


CA 証明書を操作する

CA(認証局)証明書が不正使用された場合や、他の理由により組織で信頼されない場合、その証明書を無効にするか削除することができます。

Android端末へのCA証明書のインストール (山形大学)

Android端末にeduroam1)などの接続するときのCA証明書をインストールするには、sdcardのrootディレクトリに、CA証明書ファイル(拡張子:crt)を置くことで可能であるようである(http://www.eduro/…)。しかし、Xperia (SO-01B)では、インストールができなかった。
クライアント証明書であるpkcs12形式ファイル(拡張子:p12)はインストールでき
た。


そこで、いろいろテストしたところ、CA証明書を「Base 64 encoded X.509」ファイ
ル形式に変換したファイルをhttpでダウンロードするとCA証明書をインストールで
きるようである。
Nexus One (Android端末) に CA証明書をインストールする (The Weight @northeye
February 6, 2010)

どうやらNexus OneというかAndroidは任意のCA証明書をインストール出来ない様です。cacerts.bksに手で追加するしかありません。root化必須で、Java実行環境とAndroid SDKが必要です。
補足資料: シャープ製Android機について (更新: 2011.3.10)
2. CA証明書のインストール端末にCA証明書をインストールします.そのためにはmicro SDカードが必要となりますので,事前にご準備ください.

1-a) OpenSSLを用いて変換する方法以下のコマンドにより PEM 形式への変換を行います.
openssl x509 -inform der -in SCRoot1ca.cer -outform pem -out SCRoot1ca.crt

1-b) Windows の証明書エクスポート機能を使う方法Internet Explorer を開き「ツール」メニューの中の
「インターネットオプション」を選んでウィンドウを開き,
「コンテンツ」タブの中にある「証明書(C)」ボタンを押します.
でてきたウィンドウの中にあるタブのうち,「信頼された
ルート証明機関」タブを開きます.
...を選択した状態で
「エクスポート(E)」を押すと「証明書のエクスポート ウィザード」
が開きます.「エクスポート ファイルの形式」のところで
「Base 64 encoded X.509 (.CER)」を選択し,ファイル名は
「SCRoot1ca.crt」を指定してエクスポートします.出力したファイルの
名前には拡張子「.cer」が付加されますので,出力後に余分な
拡張子「.cer」を削除して,ファイル名を「SCRoot1ca.crt」に変更してください。

2) micro SD カードへCA証明書をコピー
3)CA証明書のインストールランチャーメニューから「設定」→「位置情報とセキュリティ」
→「microSDからインストール」を選択します.
あらわれたメニューから,「SCRoot1ca」を選択してインストールします.
インストールが完了すると、SCRoot1ca.crt は micro SD カード上から削除
されます.

クライアント証明書をiPhoneにインポートする手順、メモ

次のサイトは、スクリーンショット豊富で分かりやすい。この通りやれば良い。
iPhoneでSSLクライアント認証してみる (自堕落な技術者の日記  2009/12/04)
 ※ iPhone構成ユーティリティのダウンロード・インストール必要。
 ※ 構成プロファイルは都度名前の変更が可能?
  であれば、複数ユーザにEmailで逐一送信すれば良い。

資格情報の設定(apple.com)
 iOSデバイスでサポートされる証明書は
 RSAキーによるX.509証明書
 & ファイル拡張子は、.cer、.crt、および.der

クライアント証明書 (Apple サポートコミュニティ 2012/03/29 )
 .pemを pkcs12形式にせず、DER形式に変換した証明書にすると良いらしい。

LotusLiveで BlackBerry盗難対策、メモ

企業では複数デバイスを統一インターフェイスで管理するMDMが一般的だろう。
プライベートなら、こんな機能も使えます、という一例。

紛失または盗難の際にユーザーの BlackBerry スマートフォンをワイプする (LotusLive Notes管理 2011/12/07)

『スマートフォンがオフになっている場合は、次回電源が投入されたときにワイプされます。』との事。反映のタイミングの根拠説明があると理解しやすいのだが。「ベンダー/キャリアのSMS様コマンドで即座に反映される」のか「次回、LotusLive機能に(フェッチ的に)アクセスした時、コマンド受信により反映される」のか不明。前者だと言明があれば、安心感は高まる。

さて、追加アクションとして、キャリアにSIMの停止を依頼することも、最低限必要だろう。SIMカードの悪用(電話タダ掛け)に備えなければ。
私はBlackBerryを知らないのですが、電波の届かない場所でのUSBインターフェイス越しの情報奪取や、抜き差しできる暗号化無しのSDカード取り外しが仮に可能なのだったら、策を考えておくことも必要ですね。

BlackBerry サブスクリプションをユーザーアカウントから削除する (LotusLive Notes管理 2011/12/07)
> ユーザーは、BlackBerry スマートフォンで LotusLive Notes を使用できなくなります。

バージョンチェックソフト

Secunia Personal Software Inspector (PSI) (secunia.com)
自分でインストールしておきながら、古いバージョンに気づかなかったり、忘れていたりするのを、ちゃんと探してアラート出してくれるソフト

IPAからも出ています。
簡単な操作で製品のバージョンをチェックできる「MyJVNバージョンチェッカ」を公開 (IPA 2009/11/30)

表1.「MyJVNバージョンチェッカ」チェック対象製品
 # ソフトウェア製品名 概要
 1 Adobe Flash Player (ActiveX, Plug-in)(*6) 動画再生ソフト
 2 Adobe Reader PDFファイルの閲覧ソフト
 3 JRE Java実行環境ソフトウェア群(*7)
 4 Mozilla Firefox ウェブブラウザ
 5 Mozilla Thunderbird メールソフト
 6 Lhaplus ファイル圧縮・解凍ソフト
 7 QuickTime 動画再生ソフト

二月のメモ、色々

出口対策、パロアルトネットワークスのPAシリーズ

「インターネットにつながっていないから安全」という神話 (エフセキュアブログ 2012/01/30)
> 事故リスク対策費用は含まれていない

アイスマン 副題「史上最大のサイバー犯罪はいかに行われたか」
CVE-2012-0207 LinuxカーネルのIGMP処理における脆弱性について (IIJ-SECT 2012/01/31)

・影響
  下記、1,2,3を全て満たす場合に影響がある。

 1. カーネルバージョン、以下のいずれか
  ・CentOS 5.7 2.6.18-274.el5   
  ・CentOS 6.1 2.6.32-131.0.15.el6
  ・CentOS 6.2 2.6.32-220.el6    

 2. 攻撃を受けるインターフェイスにてマルチキャストを有効にしている
        ip route add 224.0.0.0/4 dev eth0

 3. ローカルネットワーク(224.0.0.1)以外のマルチキャストグループに参加している
        NTPでマルチキャストクライアントを使用 (multicastclient 224.0.1.1)

・対策
 脆弱性の無いバージョンへの変更や回避策の適用をお勧めします、とのこと。
 | iptablesによるパケットフィルタリング
 |
 |   iptables -A INPUT -p igmp -m u32 --u32 "0>>22&0x3C@0>>16=0x1100" -j DROP

Cisco IronPort Appliances Telnet Remote Code Execution Vulnerability (Cisco 2012/01/26)
・解決策
 可能なら、対策済みバージョンを適用。
 Telnet(デフォルトで有効)を無効に設定。 など

不正なMIDI音楽ファイルを読みこまされてウイルス強制感染! (CVE-2012-0003) (無題な濃いログ 2012/01/26)

Googleの新しいユーザー・データ共有計画に米下院議員8人が質問状 (COMPUTERWORLD 2012/01/27)

工場制御システムがウイルス感染…操業停止も (YOMIURI ONLINE 2012/01/23)

制御システムセキュリティカンファレンス 2012 開催のご案内 (JPCERT 2012/02/22)
//

Apr 14, 2012

delegateと、sslクライアント証明書で、アクセス制御

SSLクライアント証明書を持っているクライアントだけを、既設Webサーバに delegatedでアクセス許可する設定のメモ。書きかけ。

■用意すべき鍵/証明書

 * server-key.pem: サーバの秘密鍵。sslwayのオプションで指定
 * server-cert.pem: サーバ証明書。sslwayのオプションで指定
 * cacert.pem: CAのルート証明書。sslwayのオプションで指定
   ハッシュ値をファイル名としたシンボリックリンクを作成

   # ln -s cacert.pem `openssl x509 -in cacert.pem -hash -noout`.0
 * crl.pem: CRL = Certificate Revocation List

   ハッシュ値をファイル名としたシンボリックリンクを作成
   # ln -s crl.pem `oepnssl crl -in crl.pem -hash -noout`.r0

■DeleGateの設定 

 DeleGateをSSLリバースプロキシとして構築し、
 クライアントとDeleGate間の通信はHTTPSで行い、 
 DeleGateとwebserverは素のHTTPで接続する構成を考えます。

■起動スクリプト、サンプル 
  delegeted -P443 \
  SERVER=https \
  STLS='fcl,im20,sslway -key server-key.pem -cert server-cert.pem \
   -CApath /var/spool/delegate-nobody/lib -Vrfy -crl_check' \
  MOUNT='/* http://webserver/*' \
  PERMIT='http:{webserver:80}:*'


      <2015.02.26 追記>
    DOS(Windows)だと 
   cd d:\dgroot\bin
   delegated.exe -P443 -vl -f SERVER=https STLS='fcl,sslway -tls1'
    MOUNT='/* http://1.2.3.4/*' PERMIT="*:*:*" DGROOT=d:\dgroot
   ADMIN=admin@example.com

</2015.02.26 追記>

■オプションの解説
 -Vrfy : クライアント証明書の提示・認証を強制するオプション
 -crl_check : CRLを読み込むオプション。
 -tls1 : tls1を明示するオプション。                                         <--- 2015.02.26

■証明書の配布
 ・Androidへの証明書インストール手順、メモ
 ・クライアント証明書をiPhoneにインポートする手順、メモ

■参考にしたところ
 DeleGate HTTPS Reverse Proxy (shakemid.com 2007/11/23)
 Delegate + OpenSSL による SSL対応リバースプロキシの構築 (murashima.net 2003/03/28)
 DeleGate HTTPS Reverse Proxy_bak_20070518 (shakemid.com 2007/05/18)
 DeleGateでクライアント認証付きSSLリバースプロキシサーバ、いわゆるSSL-VPNの一種を構築してみます(shakemid.com)

SSHとSSLとの間の鍵変換

■秘密鍵が有る場合
SSH秘密鍵=SSL鍵。
ssh-keygen -t rsa で鍵発行済み鍵は、SSL用の2048-bit RSA 秘密鍵となる。

SSL秘密鍵からSSH公開鍵を生成するには
ssh-keygen -f ssl_private_key_file -y > ssh.pub

SSH秘密鍵からSSL公開鍵を生成するには
openssl rsa -in ssh_private_key_file -pubout -out ssl.pub

■秘密鍵が無い場合
SSH公開鍵か、SSL certだけが有る場合は、より困難になる。
SSL certから、SSL公開鍵を抽出し、SSLと SSH公開鍵との交換が出来なけ
ればならない。

SSL certから、SSL公開鍵を抽出するには
openssl x509 -in cert_file -pubkey -noout > ssl.pub

第二段階は、より複雑。Debianでは以下の通り。

apt-get install lsh-utils

ssh-conv < ssh.pub | sexp-conv

もし、ssl.pub とssh.pubが同じ鍵を参照するなら、次の二つの出力は酷似し、明ら
かに相互変換可能な事が分かるだろう。
ssh-conv < ssh.pub | sexp-conv -s hex

openssl rsa -in ssl.pub -pubin -noout -text

スクリプト
sed -e'1d' -e'$d' < /tmp/test.pub | \
 pkcs1-conv --public-key-info --base-64 | \
 sexp-conv | \
 sed -e'1s/(rsa/(rsa-pkcs1-sha1/' | \
 sexp-conv -s transport

上記の出力は、次と同一である。
ssh-conv < ssh.pub | sexp-conv -s transport

而して、変換可能になった。フルパイプラインは
sed -e'1d' -e'$d' \< ssl.pub | \
 pkcs1-conv --public-key-info --base-64 | \
 sexp-conv | \
 sed -e'1s/(rsa/(rsa-pkcs1-sha1/' | \
 sexp-conv -s transport | \
    lsh-export-key --openssh > newssh.pub

備考
 上記はRSA鍵のみ。DSA鍵には使えない。
 また、悪い鍵に対する公開テストで、1024-bit RSA keyには使えない事が分かっ
ている。

  Debian "etch"システムで、レタータイプの鍵をつかっていたら、
 鍵を、2048-bit RSA に変えたほうが良い。

------------------------------------------------------
元ネタ

Converting keys between SSH and SSL (Mast Kalandar 2008/05/15)

Howto: Convert an OpenSSL key to a public/private OpenSSH key-pair (.bootstrap 2009/04/11)

How can I use the same key for SSH and SSL (https)  (serverfault.com 2010/02/18)

Convert keys between GnuPG, OpenSsh and OpenSSL (Sysmic.org  2010/03/24)

PKCS8秘密鍵→SSH2公開鍵変換ツール (kurushima @ 自堕落な技術者のヰキ(公開版))
> PKCS#8 RSA 秘密鍵(PINの無いもの)のPEM型式から
> SSH2公開鍵に変換したものをファイル出力するツールです。
//

Lotus Notes Traveler パフォーマンス

Travelerサーバーのパフォーマンス (コラボレーション・エンジニアの考える日々 2011/01/04) によると...
■64ビットOSを選択する
...
Linuxの場合は、Travelerを載せるDominoサーバーが32ビットしか対応していないので、OSが64ビットだとしても、Travelerサーバーとしては32ビットを選択せざるを得ない。ただ、OSが64ビットだと、Travelerサーバーは3GBまでメモリを使えるようになるので、64ビットOSを選択することに変わりはない。

■Windowsサーバーの場合は最大同時アクセスユーザーは2,500ユーザー
■Linuxサーバーの場合は最大同時アクセスユーザーは1,500ユーザー
■CPUは高スペックなものが求められる
■iPhoneの方がややスケーラビリティが低い
これはWindowsのケースなのだが、Windows Mobileが2,500同時アクセスユーザーなのに対して、iPhoneは1,500同時アクセスユーザーだ。Linuxの場合は、WMもiPhoneも1,500同時アクセスユーザー。iPhoneの場合、WMやSymbianとは違う自動同期方法を取るので、それが影響しているようだ。64ビットを生かしきれていないというのも、もしかしたらあるのかもしれない。
■規模の拡大にはスケールアウトで対応