NGFW埩号化䜜業に飜きた







最初の日付を完党に台無しにしたい堎合は、埩号化に぀いお女の子に盞談しおください。 はい、そしおその埌の堎合-それも䟡倀がありたせん。



あなたずの出䌚いは初めおではないので、このテキストでは再び埩号化に぀いお説明したす。

はい、SSLに぀いお再床説明したす。 これがこのトピックの2番目で最埌の資料であるずいう事実を、私自身ずあなたに喜ばせるこずができたす。 おそらく。



前回、長い間苊劎しおきたSSLを解読する必芁がある理由を芋぀けたした。

この蚘事では、蚌明曞の眮換で埩号化がどのように機胜するかを分析したす。



これには䜕が必芁ですか



たず、SSLの仕組みを芚えおおいおください。 芁点を簡単に説明したす。



TCPセッションを確立した埌、クラむアントずサヌバヌの間でSSLハンドシェむクが発生したす。 その䞭で、䞡圓事者はClient HelloメッセヌゞずServer Helloメッセヌゞを亀換したす。





vk.comずのSSL接続を確立するダンプ



クラむアントHelloはサポヌトされおいる暗号化パラメヌタヌを蚘述し、サヌバヌHelloは提案されたクラむアントから遞択されたパラメヌタヌを含みたす。 クラむアントHelloずサヌバヌHelloの亀換は、SSLセッションを確立するむンゞケヌタヌずしお䜿甚できたす。 これらのメッセヌゞが衚瀺されるず、デバむスこの䟋ではvFTDは構成枈みの埩号化ポリシヌをスキャンしお、将来セッションを埩号化するかどうかを決定したす。



蚭定されたポリシヌがトラフィックを埩号化するように指瀺しおいる堎合、デバむスは䞭間者MITMになり、送信されたデヌタを埩号化したす。 MITMが正垞に起動するず、2぀のSSLセッションが確立されたす。



1぀目は、クラむアントず埩号化デバむスvFTDの間です。 2぀目は、埩号化デバむスずサヌバヌの間です。 暗号化されたデヌタは、クラむアントからvFTDに送信されたす。

解読されたした。 それらは、さたざたなポリシヌアクセス、IPS、ファむル、AMPなどによっおスキャンされたす。 クラむアントからの埩号化されたデヌタが怜蚌されるず、再床暗号化されおサヌバヌに送信されたす。 怜蚌に合栌しなかった堎合、デヌタは単にブロックされるサヌバヌ偎に送信されないか、セッションがリセットされたす。 サヌバヌからの応答も同様に凊理されたす。



デバむスがSSLセッションでMITMになるには、ほずんど必芁ありたせん。 SSLハンドシェむクの段階では、認蚌およびその他のアクションに加えお、共通のセッションキヌが生成されたす。 送信デヌタが暗号化されるのは、その助けを借りおです。 これには察称アルゎリズムが䜿甚されたす。



むンタヌネットでは、オヌプンな通信チャネルを介しお共通のセッションキヌを生成するための2぀の最も䞀般的な方法がありたすRSAずECDHDiffie-Hellman。 セッションキヌを生成するプロセスを䞋の図に瀺したす資料「 WiresharkでのSSL / TLSトラフィック分析 」から匕甚 





RSAを䜿甚したセッションキヌの生成



RSAの堎合、クラむアントはプリマスタヌシヌクレットを生成したす。 サヌバヌ蚌明曞の公開鍵で暗号化しお送信したす。 予備の秘密は、サヌバヌにのみ知られおいる秘密鍵の助けを借りおのみ解読できたす。



珟圚、双方には予備的な秘密がありたす。 これらはメむンシヌクレットを圢成し、次に共有セッションキヌを圢成したす。





ECDHを䜿甚したセッションキヌの生成



ECDHの堎合、SSL蚌明曞のキヌペアは暗号化にたったく䜿甚されたせん。 クラむアントずサヌバヌは、パブリックキヌずプラむベヌトキヌのランダムキヌのペアDiffie-Hellmanを圢成したす。 各偎は、公開鍵を暗号化されおいない圢匏で盞手偎に転送したす。



さらに、Diffie-Hellmanアルゎリズムを䜿甚しお、クラむアントずサヌバヌは自分の秘密鍵ず他の人の公開から共通の予備秘密を蚈算したす。 その埌、各サむドは共通のマスタヌシヌクレットずセッションキヌを圢成したす。



ECDHを䜿甚する堎合、送信されるDiffie-Hellman公開キヌの敎合性を維持する必芁がありたす。 サヌバヌは、秘密蚌明曞キヌを䜿甚しお、自身のDiffie-Hellman公開キヌに眲名したす。 クラむアントは、サヌバヌ蚌明曞の公開キヌを䜿甚しお、受信したDiffie-Hellman公開キヌの信頌性を怜蚌できたす。



したがっお、SSLセッション甚にMITMを線成するには 、ほずんどの堎合、サヌバヌ蚌明曞を独自のものに眮き換えるだけで十分です。 眮換が成功するず、クラむアントず共有されおいるセッションキヌを取埗し、デヌタを埩号化できるようになりたす。



RSAの堎合、MITMデバむスは、独自の秘密蚌明曞キヌを䜿甚しお予備シヌクレットを解読できたす。 ECDHを䜿甚する堎合、デバむスはDiffie-Hellman公開キヌに眲名できるため、クラむアント偎で眲名が有効ず芋なされたす。



サヌバヌ蚌明曞を独自の蚌明曞秘密鍵がわかるものに眮き換えるには、クラむアント偎で正しいサヌバヌ認蚌を提䟛する独自の蚌明曞が必芁です。 簡単に蚀えば、蚌明曞を眮き換えるずきに、クラむアントのブラりザヌが譊告やロックを䞎えないこずが必芁です。 このため、ほずんどの堎合、次のこずが必芁です。



  1. 蚌明曞のサブゞェクトフィヌルドには、ブラりザのアドレスバヌに入力された倀ず等しい倀を持぀共通名パラメヌタヌが含たれおいたした。
  2. 蚌明曞は、信頌できる蚌明機関によっお眲名されたした。


ワむルドカヌド蚌明曞
これは、ドメむンごずに泚文される蚌明曞です。 このような蚌明曞では、サブゞェクトフィヌルドに、*。mysite.ruなどの共通名パラメヌタヌがアスタリスクで曞き蟌たれたす。 したがっお、ra.mysite.ru、owa.mysite.ruなど、すべおのドメむンサヌビスで単䞀の蚌明曞を䜿甚できたす。 これは、サヌビスごずに個別の蚌明曞を泚文するよりも安䟡な堎合がありたす。



逆偎-ワむルドカヌド蚌明曞が䜕らかの方法で䟵害された堎合、すべおのサヌビスがすぐに被害を受けたす。 実際、すべおのサヌバヌに同じ秘密鍵がむンストヌルされたす。



もちろん、蚌明曞がクラむアント偎で有効ず芋なされるためには、他の条件も満たす必芁がありたす。それは、倱効したり、倱効したりしおはいけたせん。 ただし、これらのすべおの条件は、独自の蚌明機関によっお蚌明曞に眲名する段階で考慮されたす。



SHA-1
珟圚、ブラりザはデゞタル眲名アルゎリズムずしおのSHA1RSAの䜿甚を埐々に攟棄しおいたす。 たずえば、クロムはアドレスバヌに赀いバツ印のhttpsを衚瀺したす





ChromeはSHA-1を誓う





詳现



このような譊告を回避するには、蚌明機関は蚌明曞の眲名に厳密なHES生成アルゎリズムSHA-2ファミリを䜿甚する必芁がありたす。



蚌明曞のピン留めを䜿甚する堎合、サヌビス蚌明曞は厳密に定矩された蚌明機関によっお眲名される必芁がありたす。 そうでない堎合、蚌明曞が信頌できるセンタヌによっお眲名されおいおも、リ゜ヌスぞのアクセスはブロックされたす。



したがっお、蚌明曞のピン留めがあるリ゜ヌスの堎合、蚌明曞の眮換を䌎う埩号化は機胜したせん。



したがっお、MITMをSSLセッションで線成するには、デバむスはリモヌトサヌバヌの蚌明曞ず同じフィヌルドを持぀新しい蚌明曞を生成する必芁がありたす。 この堎合、よく知られた秘密鍵がありたす。 新しい蚌明曞は、信頌できる認蚌局を䜿甚しお眲名する必芁がありたす。



実際には、これは次のように実装されたす。



䌚瀟には独自の蚌明機関が必芁です。その蚌明機関のルヌト蚌明曞は、䌚瀟のすべおのデバむスで信頌された状態に眮かれたす。 これは前提条件です。



テンプレヌト「䞋䜍認蚌局」䞋䜍認蚌局、以䞋SubCAに埓っお、認蚌局で新しい蚌明曞が芁求されたす。 この蚌明曞の特城は、秘密鍵を䜿甚しお他の蚌明曞に眲名するために䜿甚できるこずですCAフラグは、拡匵機胜「基本蚌明曞制限」で蚭定されたす。



SubCAは信頌されたルヌト蚌明曞によっお眲名されおいるため、クラむアントマシンはそれず眲名されたすべおの蚌明曞を信頌したす。 SubCAずそれに察応する秘密鍵がデバむスにむンストヌルされ、SSLセッションでMITMになりたす。 これにより、クラむアントがHTTPSサヌバヌずのSSLセッションを確立しようずするたびに、デバむスは次のこずができるようになりたす。



  1. サヌバヌ蚌明曞を傍受したす。
  2. 秘密鍵を䜜成したす。
  3. 眮き換えられるものず同じフィヌルドを持぀新しい蚌明曞を生成したす。
  4. SubCAを䜿甚しお、生成された蚌明曞に眲名したす。


すべおが正しくセットアップされおいる堎合、ナヌザヌのブラりザヌはhttpsペヌゞを開くずきに譊告を衚瀺したせん。 ナヌザヌは、蚭定にアクセスした堎合にのみ、蚌明曞の眮換の事実を刀断できたす。





Mozillaの蚌明曞チェヌン



最終蚌明曞のフィヌルドを芋るず、サブゞェクトフィヌルドに正しい共通名の倀が含たれおいるこずがわかりたす。





共通名フィヌルド



実際の蚌明曞ず眮き換えられた蚌明曞を比范するず、実際には公開鍵ずデゞタル眲名の倀が異なるこずがわかりたすこの堎合、シリアル番号などは無芖したす。



眮き換えられた蚌明曞
Certificate: Data: Version: 3 (0x2) Serial Number: 1482311739306634470 (0x14923aac5bc36ce6) Signature Algorithm: sha256WithRSAEncryption Issuer: C=RU, ST=Moscow, O=CBS, OU=Computers, CN=proxy.cbs.com.ru/emailAddress=uskov@cbs.ru Validity Not Before: Sep 4 21:17:41 2015 GMT Not After : Sep 16 11:56:55 2018 GMT Subject: OU=Domain Control Validated, CN=*.vk.com Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:a1:09:76:bf:21:ce:9b:e7:e2:34:03:f0:74:02: 84:13:7f:2e:51:0b:e8:4a:11:e2:34:d8:3a:d9:39: 5b:ea:87:50:33:dc:64:5b:2e:f2:0d:33:36:47:3c: 0a:97:a7:ce:23:7d:d7:8f:76:85:17:42:f9:63:b6: d1:91:ea:18:de:98:3c:e1:c5:5b:59:4a:d0:e5:e2: b7:ce:e0:75:74:93:d9:35:b4:8b:85:70:4c:8e:c9: e0:53:7c:2f:9f:4b:e1:48:f0:3f:a5:70:f7:4e:99: f1:74:0b:2a:21:6a:9d:9f:20:f4:e5:fa:94:89:43: 61:82:0b:c1:98:7a:e3:7c:4e:cf:8b:6c:ad:6b:ce: 1b:0f:4d:e3:db:d4:47:5c:e8:77:aa:71:ea:62:8f: 17:c9:3b:a3:e2:29:ce:62:e2:31:71:a8:83:2a:41: d9:6b:a7:b8:75:d0:07:fc:10:f1:6e:69:84:4b:b1: 11:f8:ae:20:94:44:0d:b0:7b:0f:d2:bd:b3:1d:1c: 7c:ae:f8:cf:37:e2:aa:4a:d2:de:24:60:50:06:f9: c6:65:f0:9c:63:4f:53:eb:db:59:a4:93:14:b2:6f: aa:b3:fb:50:ae:6e:e4:b9:3f:fa:69:b3:43:32:3f: 7a:4b:57:41:2d:7e:c8:41:00:f8:68:6a:43:53:83: 5c:c3 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:FALSE X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication X509v3 Key Usage: critical Digital Signature, Key Encipherment X509v3 Subject Alternative Name: DNS:*.vk.com, DNS:vk.com X509v3 Subject Key Identifier: 18:91:5E:8A:5A:58:5D:AB:86:73:6D:C0:06:57:C2:6C:62:4E:5C:64 Signature Algorithm: sha256WithRSAEncryption 8d:bc:a8:ce:af:5d:39:fc:6a:ac:48:39:9a:7e:32:01:27:68: de:95:5c:4b:24:3a:51:5d:d2:90:e4:22:c1:55:5e:65:ea:4f: 59:2c:76:b0:48:53:d8:6e:c6:e3:2a:cb:26:e6:40:e3:9a:36: 4c:6b:29:52:1c:b5:83:c6:10:8e:cb:f8:6d:a9:ae:d7:71:1b: 92:69:99:c0:1e:de:2f:02:82:17:d6:1d:52:35:65:f7:ca:a7: 9c:fe:e6:1f:3b:a4:36:c2:4a:4e:e2:f2:7d:66:e1:c4:ea:e9: ca:d0:a9:76:fc:84:f1:55:e7:d8:04:45:04:9a:15:0d:23:c9: e1:0a:b0:9e:cb:3b:c0:86:d3:e4:23:3e:c5:8a:13:20:96:ac: 6d:d8:79:ea:b9:83:b9:a7:fe:79:67:41:3d:7d:1f:22:eb:20: b9:6c:06:34:cb:fb:17:a7:b3:fc:5a:2c:a2:4f:86:0a:80:53: ea:f2:71:4a:36:80:a3:fb:2e:42:76:c6:f8:68:6c:78:f0:5c: 5d:cd:c4:0a:05:29:a3:c5:a7:87:c4:87:af:5c:29:54:a1:8e: 94:2f:72:89:54:c4:76:cb:0b:87:f9:29:a1:18:4e:55:97:e2: 1f:86:2e:97:ca:15:40:6e:d4:29:25:eb:1c:5a:2e:b9:3d:e6: bb:5e:4d:18
      
      





しかし、実際の蚌明曞
 Certificate: Data: Version: 3 (0x2) Serial Number: 7817290772096849405 (0x6c7c988a18c595fd) Signature Algorithm: sha256WithRSAEncryption Issuer: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certs.godaddy.com/repository/, CN=Go Daddy Secure Certificate Authority - G2 Validity Not Before: Sep 4 21:17:41 2015 GMT Not After : Sep 16 11:56:55 2018 GMT Subject: OU=Domain Control Validated, CN=*.vk.com Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:db:c0:ab:97:82:f1:70:06:3f:d9:9d:79:85:a8: 7c:11:d2:17:c5:9a:61:b1:72:06:d7:5e:21:7f:3d: 3b:c2:cd:dd:f4:d8:62:8a:7b:23:b7:cb:08:70:db: bf:e8:85:f7:23:92:09:56:1c:bc:e4:f8:cd:81:01: 82:43:8d:37:b9:f1:6a:14:ac:68:fa:a4:ef:fd:5b: 99:ad:f1:df:04:00:1a:e2:8a:7e:80:6a:27:b3:60: 71:27:8d:dd:37:d2:df:2d:22:fe:f3:cb:cf:68:62: 65:d4:ff:88:47:6a:78:4d:bf:8f:8f:0d:06:47:3a: b0:84:f0:a4:ea:9e:69:59:97:e5:03:a9:36:0e:93: e6:2e:4e:d6:2a:bd:ea:bc:64:b8:9c:7d:a3:5e:c4: ce:1c:74:82:4d:95:bc:00:a0:01:3e:d1:3f:2a:18: 7c:49:7c:af:6a:41:61:4b:99:1d:af:95:f4:77:c6: e0:4e:60:aa:96:63:ee:68:96:63:33:fc:81:41:e5: 2c:15:0f:1d:39:f8:00:ac:05:13:f2:80:dd:96:00: 2d:42:4b:d5:c9:f7:26:08:67:68:f8:15:e4:25:43: cd:e1:09:4c:5c:ab:15:23:d8:30:f1:89:b7:83:92: fd:15:ad:b6:5b:e4:5c:b2:fa:7d:d1:b2:00:43:39: d9:a3 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:FALSE X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication X509v3 Key Usage: critical Digital Signature, Key Encipherment X509v3 CRL Distribution Points: Full Name: URI:http://crl.godaddy.com/gdig2s1-118.crl X509v3 Certificate Policies: Policy: 2.16.840.1.114413.1.7.23.1 CPS: http://certificates.godaddy.com/repository/ Authority Information Access: OCSP - URI:http://ocsp.godaddy.com/ CA Issuers - URI:http://certificates.godaddy.com/repository/gdig2.crt X509v3 Authority Key Identifier: keyid:40:C2:BD:27:8E:CC:34:83:30:A2:33:D7:FB:6C:B3:F0:B4:2C:80:CE X509v3 Subject Alternative Name: DNS:*.vk.com, DNS:vk.com X509v3 Subject Key Identifier: 18:91:5E:8A:5A:58:5D:AB:86:73:6D:C0:06:57:C2:6C:62:4E:5C:64 Signature Algorithm: sha256WithRSAEncryption 80:61:fc:da:a9:f2:ea:f3:4a:70:4e:8a:39:3e:eb:9b:77:c2: c9:5d:da:30:20:7a:31:8f:19:f8:2f:b5:1b:4a:87:74:fb:99: 59:78:0f:45:1b:9d:9d:76:29:5f:48:90:08:a5:f8:c8:2e:9f: 55:ea:54:33:c1:a1:a3:7e:7f:8c:32:c5:a8:0f:9b:04:c7:d1: 55:30:7e:09:87:03:7e:88:82:32:0a:cb:0c:66:f0:50:85:b2: e4:43:67:38:88:50:84:54:41:4b:bc:3e:b0:47:8f:71:46:e4: 9a:cf:f1:a4:39:a9:4b:ca:63:44:c3:34:7d:7b:ca:de:6c:91: 5b:15:09:06:b3:4c:56:6d:23:03:1b:dc:c5:d1:e5:a3:9f:d2: 4d:be:d2:ff:62:4a:75:f7:4f:29:a4:7d:35:cf:33:06:83:6a: 50:f6:25:ce:a7:59:ac:05:fe:74:7b:c7:89:06:f5:a8:2e:4e: d4:34:a1:e1:68:7b:66:8b:53:a8:41:ba:a7:50:72:49:94:e6: 4a:ad:2d:26:95:a3:5d:ce:e3:8b:d9:6c:d2:1e:31:4b:28:ab: e2:33:c5:5e:3f:82:dd:e1:e8:36:a2:b5:08:d8:b3:2e:23:b4: 9b:b4:e6:4a:ab:21:2d:6b:aa:5f:fd:56:31:dc:86:32:85:04: 01:5a:b9:64
      
      





最埌に泚意したいのは、 vFTDが同じキヌペアを䜿甚しおスプヌフィングされた蚌明曞を生成するこずです。 これは実際には論理的です。すでに暗号化/埩号化されたデバむスにリ゜ヌスを費やしお新しいキヌペアを生成する理由です。 ya.ruペヌゞを開いお受信した蚌明曞を衚瀺するず、公開キヌはvk.comの眮き換えられた蚌明曞ず同じであるこずがわかりたす。





眮き換えられた実際の蚌明曞



これで、NGFWのSSL埩号化メカニズムの説明を終わりたす。 すべおの芚醒ぞの挚拶、私たちは぀いにやった 痛かったですが、今ではSSLに぀いおもう少し知っおいたす。 䟡倀があるかどうか-それはあなたの裁量です。



PSそしお、はい、同僚からお祝いの蚀葉を䌝えたすそしお参加したす。 新幎には、バグ、束葉杖、タンバリンずのダンスが枛りたす







PPSこのキッチンがFirePOWER-Welkamタックル甚にどのように構成されおいるかに興味がある人向け。



FMC v6.1.0.1でのSSL埩号化の構成
たず、SubCAを準備したす。 キヌペアパブリックずプラむベヌトを生成したす。 テンプレヌト「䞋䜍認蚌局」䞋䜍認蚌局に埓っお、䌁業の認蚌局で蚌明曞に眲名したす。 これにはopensslナヌティリティを䜿甚できたす。 FMCコマンドラむンから利甚できたす。 CSRを生成するためのコマンドの䟋



 openssl rand -out ./private/.rand 1024 openssl genrsa -out ./private/cakey.pem -aes256 -rand ./private/.rand 2048 openssl req -new -key ./private/cakey.pem -out subcareq.pem -config openssl.cnf -sha256
      
      







眲名枈み蚌明曞を受け取ったら、FMCにむンストヌルしたす。 [オブゞェクト]-> [オブゞェクト管理]-> [PKI]-> [内郚CA]タブに移動し、[CAのむンポヌト]をクリックしたす。







蚌明曞ずその秘密鍵をアップロヌドするように求められたす。 以前にopensslず䌁業CAを䜿甚しお取埗したした。 新しいCAの名前を蚭定し、秘密鍵のパスワヌドを入力したす必芁な堎合







すべおが埩号化ポリシヌを䜜成する準備ができおいたす。 [ポリシヌ]-> [SSL]に移動したす。







[新しいポリシヌ]をクリックし、ポリシヌの名前、デフォルトのアクションを蚭定しお、説明にOpus Magnumを蚘述したす。







おなじみのタブレットでの埩号化ポリシヌ。 それらのフィヌルドは、埩号化されるトラフィックのパタヌンを蚘述したす。







[ルヌルの远加]をクリックしお、トラフィックパタヌンを説明したす。 最も単玔なケヌスでは、パラメヌタヌを指定せずにルヌルを䜜成できたす。 この堎合、SSLトラフィックは埩号化されたす。 アクションずしお、「埩号化-蟞任」を遞択したす。 「with」ずいう単語の埌のフィヌルドで、前の手順でアップロヌドした蚌明曞を遞択したす。 これは、眮換された蚌明曞に眲名するサブCAです。







スクリヌンショットでわかるように、FMCは、埩号化のトラフィックパタヌンを蚘述するための最も広い可胜性を提䟛したす。 トラフィックは、ナヌザヌ、アプリケヌションタむプ、URLカテゎリ、サヌバヌ蚌明曞パラメヌタヌDN、蚌明曞ステヌタス、暗号スむヌト、バヌゞョンなどによっお遞択できたす。



たずえば、Cert Statusタブのスクリヌンショット







必芁なルヌルをすべお蚭定したら、[保存]をクリックしたす。 埩号化ポリシヌの準備ができたした。 ただし、機胜を開始するには、アクセスポリシヌに関連付けられおいる必芁がありたす。 [ポリシヌ]-> [アクセス制埡]に移動したす。







興味のあるアクセスポリシヌを遞択し、鉛筆をクリックしたす。 開いたタブで、前の手順で䜜成した埩号化ポリシヌを遞択する必芁がありたす。









保存をクリックしたす。 管理察象デバむス私の堎合はvFTDに倉曎をデプロむするこずを忘れないでください










All Articles