Showing posts with label ssl. Show all posts
Showing posts with label ssl. Show all posts

Mar 12, 2020

信頼していたVPNが悪用された場合に何が起きるのか、記事

https://www.fujitsu.com/jp/solutions/business-technology/security/secure/column/202002-1/index.html

Pulse Secureの「情報漏えいの脆弱性(CVE-2019-11510)」や「コマンドインジェクションの脆弱性(CVE-2019-11539)」などは、実証コードを含む情報が公開されており、これら脆弱性を組み合わせることで遠隔の攻撃者から製品が動作する機器をroot権限にて乗っ取ることも可能という非常に大きなリスクとなっています。

最近の被害事例として、大手外貨両替サービスを提供するTravelex社がREvil(Sodinokibi)ランサムウェアに大規模感染した

VPN製品にもセキュリティ修正が含まれる最新のアップデートを適用するための組織ポリシーが不可欠です。
しかしながら、VPN製品へのアップデート適用は、多くの場合クライアントソフトウェアのアップデートなどが伴うことで利用者への負担が大きくなったり、製品ベンダーからのアップデート提供が遅れ、いわゆる0day脆弱性の期間が発生する可能性もないとは言えません。

即時のアップデート適用が難しい場合には、製品ベンダーが提供しているワークアラウンド(緩和策)があればそれを実施したり、IPSや次世代ファイアウォールなどのセキュリティ製品を予めネットワーク内に組み込んでおくことで脆弱性を突く攻撃を検知・防御できる可能性があるため、これらをアップデート適用までの暫定対処として実施いただくことを強く推奨します。


Feb 24, 2020

setup SSL VPN Client for Sophos UTM

概要

(1)ネットワーク定義、ユーザ定義の後、
(2)ユーザ向けポータル機能を有効にして、
(3)当該ユーザとしてログインし、
(4)ovpnファイルをダウンロード。
(5)デバイス側でのセットアップを行う。

注、上記(2),(3)を面倒がって、管理者でpemファイルを取得しても成功しない。
 (1)の後は、そこさえ気を付ければ難しくないです。

参考にしたところ

Sophos UTM: Remote Access via SSL and VPN - Configuration Guides
https://community.sophos.com/kb/en-us/116038
ここにあるマニュアルを参照すれば良い(↓)

Remote Access via SSL (UTM 9, English)
http://www.sophos.com/en-us/medialibrary/PDFs/documentation/utm90_Remote_Access_Via_SSL_geng.pdf

Setup a Sophos UTM SSL VPN In 7 Simple Steps!
https://www.fastvue.co/sophos/blog/sophos-utm-ssl-vpn-setup-guide/
本家サイトよりこちらの方がPDFを開く必要がなく、手軽かも。
細かい手順は、手元と一致しなかった(下記、例)が、ハマるような難度でもないです。
(例、アンドロイド用に「インストール」しようとしても、ovpnファイルダウンロードのみしか行われない..等)

Feb 22, 2020

記事いろいろ、VPN hack, http-methods, enum4linux, cudahushcat

Fox Kitten Campaign (2020.02)

Widespread Iranian Espionage-Offensive Campaign

サマリー (02/16)
https://www.clearskysec.com/fox-kitten/

フルレポート
https://www.clearskysec.com/wp-content/uploads/2020/02/ClearSky-Fox-Kitten-Campaign.pdf


Iranian hackers have been hacking VPN servers to plant backdoors in companies around the world (02/16)

https://www.zdnet.com/article/iranian-hackers-have-been-hacking-vpn-servers-to-plant-backdoors-in-companies-around-the-world/
Pulse Secure、Palo Alto Networks、Fortinet、Citrixの企業VPNサーバ等へのハックについて。

イラン政府支援ハッキングユニットは「IT、通信、石油およびガス、航空、政府、およびセキュリティの各セクターの企業」を標的に。実力はロシア、中国、北朝鮮などと並びうる。

本APTグルーブは1-day vulnerabilityの悪用能力や、カスタマイズドマルウェア開発能力がある。2019年、Pulse Secure「Connect」VPN(CVE-2019-11510)、Fortinet FortiOS VPN(CVE-2018-13379)、およびPalo Alto Networksの「Global Protect」で開示された脆弱性を迅速に武器化した。後にCitrix "ADC" VPNで公開された脆弱性であるCVE-2019-19781も。
。。。だそうです。


Iranian Hackers Exploiting VPN Flaws to Backdoor Organizations Worldwide (02/18)

https://thehackernews.com/2020/02/iranian-hackers-vpn-vulnerabilities.html

最初の足場を獲得すると、C2サーバーと通信して、バックドアを植えるために使用できる一連のカスタムVBScriptファイルをダウンロードする

さらに、ウイルス対策ソフトウェアによる検出を回避するために、バックドアコード自体をチャンクでダウンロードする。これらの個々のファイルをつなぎ合わせて実行可能ファイルを作成するのは、「combine.bat」。

これらのタスクを実行して持続性を実現するために、Juicy PotatoやInvoke the Hashなどのツールを悪用して、高レベルの特権を獲得し、ネットワークを横切って移動する。

攻撃者が開発した他のツールには次のものがある。
・STSRCheck-ターゲットネットワークのデータベース、サーバー、および開いているポートをマッピングし、デフォルトの資格情報でログ記録することでブルートフォースするツール。
・Port.exe-定義済みのポートとサーバーをスキャンするツール。

攻撃者がlateral movement能力を獲得すると、攻撃者は最終段階に移動します:関連情報について、侵害されたシステムをスキャンし、(POWSSHNETと呼ばれる自己開発ツールを使用して)リモートデスクトップ接続を確立して、またはハードコードされたIPアドレスへのソケットベースの接続を開いて、ファイルを盗み出します。
The Hacker News はCVEへのリンクなど、使いやすい印象。

http-methods

https://nmap.org/nsedoc/scripts/http-methods.html
nmapのスクリプトでのhttp-methodsの検出について

enum4linux Package Description

https://tools.kali.org/information-gathering/enum4linux
Windows やSambaの概況調査ツール。
以前は www.bindview.comで enum.exeで同様の事が出来たのだそうだ。

Kali Linux 1.0.4リリースとenum4linux

https://ozuma.hatenablog.jp/entry/20130730/1375196315
enum4linuxの続き。Perlとのこと。

cudahashcat

https://books.google.co.jp/books?id=6XS3DwAAQBAJ&pg=PA298&lpg=PA298&dq=cudahashcat&source=bl&ots=2YKMJ-Expf&sig=ACfU3U0E6vl6xX8LmFP8eWNUda353EFAfQ&hl=ja&sa=X&ved=2ahUKEwjLv-GcgtvnAhUVzmEKHetdDqU4FBDoATACegQICRAB

Amazon EC2のGPUインスタンスでハッシュ解読をやってみる (2016-05-20)

http://inaz2.hatenablog.com/entry/2016/05/20/011353

Aug 30, 2019

Black HatでのFortigate SSL VPN破りの記事

ハッカーは、広く使用されている2つのVPNからパスワードを積極的に盗もうとしています (08/24)
https://translate.google.com/translate?hl=ja&sl=en&u=https://arstechnica.com/information-technology/2019/08/hackers-are-actively-trying-to-steal-passwords-from-two-widely-used-vpns/
『パッチを適用していないサーバーに特別な文字列を含むWebリクエストを送信することで脆弱性を悪用できる・・・認証前のファイル読み取りの脆弱性は、約480,000台のサーバーにインストールされたFortigate SSL VPNと、約50,000台のマシンにインストールされた競合のPulse Secure SSL VPNに存在・・・
Devcoreの研究者は、両方の製品に他の重大な脆弱性を発見・・・攻撃者はとりわけ、悪意のあるコードをリモートで実行し、パスワードを変更することができます。
この脆弱性は、インターネットにアクセスする必要があり、組織のネットワークの非常に機密性の高い部分へのゲートウェイとして機能するソフトウェアに影響を与えるため、深刻です。 ハッシュ化された、場合によってはプレーンテキストのパスワード、暗号化キー、およびその他の機密データを取得すると、人々がそれらのネットワークに侵入する可能性があります。 より多くの作業を行うと、パッチ未適用のサーバーを特定する攻撃者は、Devcoreの研究者が発見した他の脆弱性も悪用する可能性があります。 Fortigateの1つの欠陥は、 「The Magic Backdoor」と呼ばれ、ハードコードされたキーを知っているリモートの攻撃者がパスワードを変更できるようにします。
フォーティネットとPulse Secureの両方の代表は、企業はできるだけ早くシステムにパッチを適用するよう顧客に何ヶ月も促していると述べた・・・これらのVPNのいずれかを使用している組織は、脆弱性がないことを確認するために今すぐ時間をかける必要があります。』

・SSL VPNを攻撃する-パート2:Fortigate SSL VPNを破る
https://translate.googleusercontent.com/translate_c?depth=1&hl=ja&rurl=translate.google.com&sl=en&sp=nmt4&u=https://devco.re/blog/2019/08/09/attacking-ssl-vpn-part-2-breaking-the-Fortigate-ssl-vpn/&xid=17259,15700002,15700021,15700186,15700190,15700256,15700259,15700262,15700265&usg=ALkJrhjNfsQgONsEUrtxhdyG3sFG2Yp9oQ
当該システムのWebサーバについては『WebサーバーがApacheから変更されたことがわかりましたが、それは2002年のApacheです』なので問題山積と想像できる。
アタックベクターを絞っていくための候補:
 ・CVE-2018-13379 :認証前の任意のファイル読取
 ・CVE-2018-13380 :認証前のXSS
 ・CVE-2018-13381 :認証前のヒープオーバーフロー
 ・CVE-2018-13382 :マジックバックドア
 ・CVE-2018-13383 :認証後のヒープオーバーフロー

この中から、CVE-2018-13381で攻めるも立ち往生。CVE-2018-13379 + CVE-2018-13383に軌道変更して成功するまでの紹介記事。
YouTubeでのデモも見られる。 
CVE-2018-13379については、fortigate migadmin/lang json で検索して出てくる、
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=13&cad=rja&uact=8&ved=2ahUKEwi_tdXHkJ7kAhV1yIsBHUtSDTQ4ChAWMAJ6BAgFEAE&url=https%3A%2F%2Fhackmd.io%2F%40HITCON%2F2019-cmt-note&usg=AOvVaw2kcUPdDsZ_BFIVrZDMeVGIとか、CVE-2018-13379 のexp.py も気になってる

Oct 25, 2018

FortiGate、POODLE FAQ、徳丸浩氏が明かす“セキュリティ人材不足”の解決策、CSIRT ほか

POODLEに関するFAQ (2014/10/16)
『これは深刻な脆弱性・・・中略・・・と言えるでしょう
・・・中略・・・
フォーティネットの製品に関してですが、FortiGateFortiMailはデフォルトの構成では脆弱な状態ですが、SSLv3を無効化するCLI設定があります』

---> 2019.06.01追記、ここから
これか? ↓
・FortiGate 脆弱性対策 (2017/06/07)
 http://extstrg.asabiya.net/pukiwiki/index.php?FortiGate%20%C0%C8%BC%E5%C0%AD%C2%D0%BA%F6
『SSLv2、SSLv3、TLS1.0、TLS1.1の無効化 # config vpn ssl settings  (settings) # set sslv3 disable  (settings) # set sslv2 disable  (settings) # set tlsv1-0 disable  (settings) # set tlsv1-1 disable  (settings) # end 』
---> 2019.06.01追記、ここまで
--> 2020.03.02追記、ここから
SSLv3の脆弱性へのPOODLE攻撃は2014から知られ、
TLS1.0/1.1も主要ブラウザでサポート廃止に動いており
最近はTLS1.2 も危なくなり、TLS1.3が発表されました。
気付いたら早めの対処(バージョンアップや設定変更など)が吉ですね。

・Transport Layer Security
 https://ja.wikipedia.org/wiki/Transport_Layer_Security
 「2015年6月、RFC 7568によってSSL 3.0の使用は禁止された」

・SSL Version 2 and 3 Protocol Detection (update 2019/03/27)
 https://www.tenable.com/plugins/nessus/20007
Severity: HighRisk Factor: HighCVSS v2.0 Base Score: 7.1CVSS v3.0 Base Score: 7.5

・SSLv3 プロトコルに暗号化データを解読される脆弱性(POODLE 攻撃) (2014/10/16)
https://jvn.jp/vu/JVNVU98283300/
 飲食店や駅、空港など無料Wi-Fiの使える場所では、第三者が正規アクセスポイント(AP)に見せかけた偽APを設置するなどして、通信盗聴を試行が容易です。
 そして『暗号化された通信内容の一部を解読される可能性があります。』

・「Google Chrome」「Firefox」「Safari」もTLS 1.0/1.1のサポートを廃止へ (2018/10/16)
https://forest.watch.impress.co.jp/docs/news/1148101.html
「TLS(Transport Layer Security)」はインターネット通信を暗号化するプロトコルだが、初期バージョンの「TLS 1.0」や「TLS 1.1」はすでに設計が古く、もはや安全なプロトコルとは言えない。
--> 2020.03.02追記、ここまで

・徳丸浩氏が明かす“セキュリティ人材不足”の解決策、「実は答えは出ている」

・大成建設はいかにしてCSIRT運用を成功させたか

・統率が取れないクラウド導入がもたらすリスク



May 17, 2016

JVN、メモ

JVNVU#91176422
 NTP daemon (ntpd) に複数の脆弱性 (2016/04/28)

JVNVU#93163809
 OpenSSL に複数の脆弱性 (2016/05/06-11)

 ←先日のCVE-2016-2108(任意のコード実行)を含む

 本脆弱性を修正した OpenSSL 1.0.1t および 1.0.2h がリリースされています。
 開発者が提供する情報をもとに、最新版へアップデートしてください。

May 10, 2016

SSH, SSL, Linux Kernel


openssh -- openbsd
The do_setup_env function in session.c in sshd in OpenSSH through 7.2p2, when the UseLogin feature is enabled and PAM is configured to read .pam_environment files in user home directories, allows local users to gain privileges by triggering a crafted environment for the /bin/login program, as demonstrated by an LD_PRELOAD environment variable.
2016-04-30

openssl -- openssl
The ASN.1 implementation in OpenSSL before 1.0.1o and 1.0.2 before 1.0.2c allows remote attackers to execute arbitrary code or cause a denial of service (buffer underflow and memory corruption) via an ANY field in crafted serialized data, aka the "negative zero" issue.
2016-05-04

linux -- linux_kernel
The redirect_target function in net/ipv4/netfilter/ipt_REDIRECT.c in the Linux kernel before 2.6.0 allows remote attackers to cause a denial of service (NULL pointer dereference and OOPS) by sending packets to an interface that has a 0.0.0.0 IP address, a related issue to CVE-2015-8787.
2016-05-02

Jun 2, 2015

TLSメモ

SSL/TLS暗号設定ガイドライン~安全なウェブサイトのために(暗号設定対策編)~ (2015/05/12)
http://www.ipa.go.jp/security/vuln/ssl_crypt_config.html

マイクロソフト セキュリティ アドバイザリ 3042058
既定の暗号スイートの優先度の設定の更新プログラム (2015/05/13)
https://technet.microsoft.com/ja-jp/library/security/3042058
更新プログラムによって追加される暗号スイート
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_GCM_SHA256

■ TLSに新たな脆弱性「Logjam」、多数のサーバーや主要ブラウザーに影響
http://www.st.ryukoku.ac.jp/~kjm/security/memo/2015/05.html#20150521_Logjam

Webサーバの場合は、以下の対応を
> Disable support for all export cipher suites, to ensure they cannot be
used.
| 輸出グレードの暗号を使用不能に設定する。
> Increase the number of bits used by the prime numbers in the
Diffie-Hellman
> key exchange to 2048 bits
| Diffie-Hellman鍵交換のプライム番号を2048ビットに増加させる。
6/2追記→
JVNVU#99125992
SSL/TLS の実装が輸出グレードの RSA 鍵を受け入れる問題 (FREAK 攻撃) (2015/03/09, 更新 06/02)
http://jvn.jp/vu/JVNVU99125992/

May 25, 2015

CT (Certificate Transparency)って?

CT (Certificate Transparency) ってなあに? (2015/02/04)
http://techblog.clara.jp/2015/02/what-is-ct_certificate-transparency/

Digicert、2013年10月から Certificate Transparency (CT)ログ への登録を開始
https://www.digicert.ne.jp/topics/CertificateTransparency.html
>Online Certificate Status Protocol(OCSP)は...(中略)...
>証明書失効リスト (CRL) の代替として策定されたもので、 
>CRLを公開鍵基盤 (PKI)で使う際の問題に対応している。

「Certificate Transparencyに対応した証明書であることを確認したいときのメモ」 (2015/04/14)
http://kijitora.sabatora.info/wordpress/archives/423
ブラウザの画面の分かりやすい解説と、opensslで確認する方法が紹介されています。

//

May 22, 2015

色々5/22

Twitter上の嫌がらせ行為で通報を受けたTwitterはどう対処しているのか?
(2015/05/19)
http://gigazine.net/news/20150519-twitter-abuse-problem/

マルウェアはどうやってウィルス対策ソフトから逃れようとするのか?
(2015/05/15)
http://csi.sproutgroup.co.jp/archives/000107.html

CozyDukeを侮るなかれ (2015/05/14)
https://blog.kaspersky.co.jp/no-monkeys-for-cozyduke/7488/
5/27追記-->
OpenSSH環境に対するLogjam脆弱性の対応 (2015/05/25)
http://tech.naviplus.co.jp/2015/05/25/openssh%E7%92%B0%E5%A2%83%E3%81%AB%E5%AF%BE%E3%81%99%E3%82%8Blogjam%E8%84%86%E5%BC%B1%E6%80%A7%E3%81%AE%E5%AF%BE%E5%BF%9C/
これsshにも影響あるのか。orz

OpenSSH-6.5p1 日本語マニュアルページ (2014/05/31)
http://www.unixuser.org/~euske/doc/openssh/jman/sshd_config.html

//

May 10, 2015

FREAK メモ

暗号化通信を解読される「FREAK」脆弱性、Windowsも影響を受ける (2015/03/06)
http://itpro.nikkeibp.co.jp/atcl/news/15/030600830/

SSL/TLS通信時の脆弱性「FREAK」、その影響度は?
http://blog.trendmicro.co.jp/archives/11009

FREAK: Another day, another serious SSL security hole
http://www.zdnet.com/article/freak-another-day-another-serious-ssl-security-hole/#ftag=RSSbaffb68

マイクロソフト セキュリティ アドバイザリ 3046015
Schannel の脆弱性により、セキュリティ機能のバイパスが起こる (2015/03/06)
https://technet.microsoft.com/ja-jp/library/security/3046015

OpenSSLのコード、NCC Groupが監査へ--脆弱性の早期発見を目指す (2015/03/09)
http://japan.zdnet.com/article/35061477/

//

Feb 26, 2015

中間CA証明書のマージ


背景

   シマンテックの証明書をdelegated環境で使用する場合は
   中間CA証明書・クロスルート設定CA証明書を、サーバ証明書に
   組み込む必要がある。手順を以下に記す。

手順

    1.シマンテックから証明書受領。

    2.delegatedでSSLリバースプロキシの場合は、
      「X.509形式 (Apacheを代表とするサーバ(Microsoft IIS以外)用)」を
      エディタで server01-cert_verisign_public.pem として保存。

    3.グローバル・サーバID用中間CA証明書(クロスルート設定CA証明書込み)の

      取得用サイトにアクセスする。
      https://www.jp.websecurity.symantec.com/repository/intermediate.html

    4.「グローバル・サーバID」の「2枚1組」から申し込み時期に一致する

      リンクをクリックする。

    5.「CN = VeriSign Class 3 International Server CA - G3」を確認

    6.取得(画面からコピー)する。

    7.エディタで VeriSign_Class_3_International_ServerCA-G3.txt を新規作成、
      先ほどコピーした内容を貼り付けて保存する。

    8.# grep -i cert VeriSign_Class_3_International_ServerCA-G3.txt
      で 「-----BEGIN CERTIFICATE-----」~「-----END CERTIFICATE-----」が

      二組そろっていることを確認。

  9.サーバ証明書とマージ
     (1) 
         # cat server01-cert_verisign_public.pem > test1

     (2)
         # cat VeriSign_Class_3_International_ServerCA-G3.txt >> test1

      ・メモ
          手順4で「1枚毎」を選択した場合は、さらにエディタで*G5.txtを

    作成し、次のコマンドでマージすれば良い。
         # cat VeriSign_Class_3_Public_Primary_Certification_Authority-G5.txt >> test1
          面倒なだけなので、「2枚1組」で良い。

   10.形式変換
          # openssl pkcs12 -inkey server01-nopasskey.pem  \
             -in test1 -export -out server01-merged.pkcs12
          # openssl pkcs12 -in server01-merged.pkcs12 -nodes  \

           -out server01-merged.pem

   11.証明書のありかを設定して、delegated起動準備

     ・Windowsサーバの場合は、
        copy server01-nopasskey.pem [DGROOT]\bin\server-key.pem
        copy server01-merged.pem      [DGROOT]\bin\server-cert.pem  

     ←2015/03/22訂正(server01.pemをserver01-merged.pemに)。
      見てくれた方は意味不明だったと思います。済みません。

     ・ Linuxサーバの場合は、delegated起動スクリプトに、

    証明書のありかを記載。


   12.証明書の実装状態を確認
     ・ブラウザで確認


     ・Symantecのチェックツールでも確認しておくと良さそう
          Certificate Chainが構造化されている事が確認できる。
          チェックツールのサイトアドレスはこちら

参考

   Certificate Chaining
   http://help.globalscape.com/help/eft6/Certificate_Chaining.htm

   APサーバに中間証明書付のSSLサーバ証明書をインポートするには?
   (2011/12/31)
   http://acro-engineer.hatenablog.com/entry/20111231/1325314832

   How to configure SSL

   http://docs.codehaus.org/display/JETTY/How+to+configure+SSL

   SSL証明書ファイルのエンコードタイプとopensslでの変換方法
   http://www.digicert.ne.jp/howto/basis/file_types.html


以上

Feb 19, 2015

delegateと SSLv3対策メモ

delegateでSSL3を使用できなくする
http://d.hatena.ne.jp/iww/20141231/sslway

確認手段
(1)
  wget --no-check-certificate --secure-protocol=SSLv3 https://web-server/dir01/
  wget --no-check-certificate --secure-protocol=TLSv1 https://web-server/dir01/

(2)
  openssl s_client -connect web-server:443 -ssl3
  openssl s_client -connect web-server:443 -tls1

Jan 10, 2015

memo - Domino and SSL

How to convert IBM Domino SSL keys (private key) to the OpenSSL format?
http://security.stackexchange.com/questions/1576/how-to-convert-ibm-domino-ssl-keys-private-key-to-the-openssl-format

Quick guide to setting up SSL using Domino as the Certificate Authority
http://www-01.ibm.com/support/docview.wss?uid=swg21114148

Generating your Certificate Signing Request Domino 8.5x
https://www.digicert.com/csr-creation-domino-8.htm

SSLv3関連、メルマガの写し、続き


OpenSSL
   Severity Highのバグフィックスの他、プロトコルをダウングレードする攻撃
   (Severity Middle)に対して TLS_FALLBACK_SCSV がサポートされた次の
   OpenSSLバージョンにアップグレードする。

   OpenSSL 1.0.1 → 1.0.1j.にアップグレード
   OpenSSL 1.0.0 → 1.0.0o.にアップグレード
   OpenSSL 0.9.8 → 0.9.8zc.にアップグレード

   参考: https://www.openssl.org/news/secadv_20141015.txt

Apache HTTPD Server + mod_ssl
   httpd.confやssl.confに
   SSLProtocol All -SSLv2 -SSLv3
   と記載しサーバーを再起動 (※Apache 2.4以降はSSLv2は無効)

   参考: http://blog.livedoor.jp/k_urushima/archives/1752935.html#sec2-1

IBM Domino Server
   R8.5以降は、Fix Packを待つ
   R5はサポート無し

   参考: http://www-01.ibm.com/support/docview.wss?uid=swg21687167

Microsoft IIS
   コマンドラインで以下を実行することで、レジストリ設定により無効化します。
   reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders
   \SCHANNEL\Protocols\SSL 2.0\Server" /v Enabled /t REG_DWORD /d 0 /f
   reg add "HKLM\System\CurrentControlSet\Control\SecurityProviders
   \SCHANNEL\Protocols\SSL 3.0\Server" /v Enabled /t REG_DWORD /d 0 /f

   参考: http://blog.livedoor.jp/k_urushima/archives/1752935.html#sec2-5
   (Apache Tomcat (Java JSSE)も記載されている)

delegate
   STLS='fcl,sslway -tls1 ...'

   参考: http://ftp.delegate.org/mail-lists/delegate-en/3776

F5
   次のコマンドを実行する。
   [root@bigip1:Active:Standalone] templates # tmsh list /sys httpd
   sys httpd {
       ssl-protocol "all -SSLv2"
   }
   [root@bigip1:Active:Standalone] templates # tmsh modify /sys httpd
   ssl-protocol "all -SSLv2 -SSLv3"

   参考:
   https://devcentral.f5.com/articles/cve-2014-3566-removing-sslv3-from-big-ip

導入・設定の確認方法
   下記のように、プロトコルを指定してサーバにアクセスし、結果を比較する。
   (サポートしない通信はエラーメッセージを表示して直ぐにコマンド終了、プロ
   ンプトに戻る)
   $ openssl s_client -connect server01:443 -ssl3
   $ openssl s_client -connect server01:443 -tls1

以上

SSLv3関連、メルマガの写し


1.『POODLE』脆弱性の概要
『POODLE(Padding Oracle On Downgraded Legacy Encryption)』(以下、当脆弱
性)
はSSLバージョン3.0で、Cipher Block Chaining(CBC、暗号文ブロック連鎖モー
ド)を
利用している場合、中間者攻撃によってユーザーの個人情報や機密情報を盗聴、
漏えいさせることが可能になる脆弱性です。TLSバージョン1.0以上をご利用されて
いる
場合は影響を受けません。

2. SSLサーバ証明書およびSSL関連製品への影響
この脆弱性はSSLプロトコルの脆弱性で、既存のSSLサーバ証明書やコードサイニン

証明書への影響はございません。証明書の再発行やウェブサーバへの入れ替えは必

ございません。

3.お客様のリスク軽減方法 (対応順)
3-1. お客様のウェブサーバでSSLサーバ証明書をご利用中の場合は、以下のサイト

対象のウェブサーバのドメイン名(FQDN)を入力いただくことで、お客様のウェブ
サーバで
SSL3.0プロトコルが有効となっているか否かを確認できます。

■シマンテック SSLツールボックス
https://ssltools.websecurity.symantec.com/checker/views/certCheck.jsp

※SSL3.0を利用している場合、「Your server may be vulnerable: SSLv3 is
enabled」
と表示されます。

3-2.SSL3.0をご利用の場合はSSL3.0あるいはSSL3.0 CBCモードを利用できなくする
ことをリスク軽減方法としてご検討ください。
※以下のGoogleの発表もご参照ください。
http://googleonlinesecurity.blogspot.jp/2014/10/this-poodle-bites-exploiting-ssl-30.html


[TLS対応済みクライアント]
  <携帯端末>
    ・ソフトバンクモバイル 全端末

  <PCブラウザ>
    ・Microsoft Internet Explorer 7 以降(※)
    ・Mozilla Firefox 全てのバージョン
    ・Safari 全てのバージョン
    ・Google Chrome 全バージョン
    ・Opera Ver5 以降

[ご参考情報 各ブラウザメーカーのSSLv3対応の方針]
    ・Internet Explorer(SSLv3の無効を推奨)
     https://technet.microsoft.com/ja-jp/library/security/3009008.aspx
    ・Firefox(Firefoxの次バージョンより SSLv3非サポート予定)
     http://www.mozilla.jp/blog/entry/10433/
    ・Chrome(SSLv3非サポート予定)
      http://googleonlinesecurity.blogspot.jp/2014/10/this-poodle-bites-exploiting-ssl-30.html

    ・ソフトバンクモバイル
      http://creation.mb.softbank.jp/mc/tech/tech_web/web_ssl.html
    ・NTTドコモ
      https://www.nttdocomo.co.jp/service/developer/make/content/ssl/spec/index.html

                                   以上

Apr 15, 2012

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形式に変換した証明書にすると良いらしい。

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公開鍵に変換したものをファイル出力するツールです。
//