Zero Trust Soldier

Cybersecurity is complex. Let's see if we can make it more understandable


En enklere vei mot dekryptering

Alle vet at dekryptering er viktig for synlighet, kontroll og sikkerhet. Dekryptering kan gjøres i alle dagens moderne brannmurer, det er en innebygget egenskap og koster ikke noe ekstra. Allikevel er det veldig få som faktisk aktiverer det, dessverre. Hvor stor verdi har din Next Generation Firewall uten dekryptering? 30% 50% 70%?

Dagens trusselbilde inneholder mange utfordringer som kan adresseres på en bedre måte når synligheten er bedre, som phishing, misbruk av sårbarheter, lekkasje av data, nedlasting av skadevare og flere ting.

I denne artikkelen skal jeg komme med Palo Alto Networks tips relatert til utgående dekryptering for klienter.

3 typer dekryptering

Jeg velger å splitte dette opp i 3:

  • Inngående dekryptering mot internettbaserte tjenester som webservere, heter i Palo Alto Networks “SSL Inbound Inspection”, er enkelt og raskt å sette opp, og noe jeg setter opp tidlig i arbeidet med alle mine kunder. Oppsett av slik dekryptering tar vel kanskje 5 minutter og bare fungerer, og du får et stort løft på bl.a IPS funksjonaliteten for beskyttelse mot sårbarheter.
  • Utgående dekryptering for servere, heter i Palo Alto Networks “SSL Forward Proxy”, er også enkelt å sette opp. Servere er “statiske” i sin adferd, og er derfor enklere å håndtere. Dette punktet er veldig viktig sammen med VG testen.
  • Utgående dekryptering for klienter, er også “SSL Forward Proxy” i Palo Alto Networks. Dette er nok den største “bøygen” for de fleste, er den som krever mest innsats, og som kanskje er grunnen til at mange vegrer seg for å aktivere dekryptering, selv om det er veldig viktig. La oss se på hvordan vi kan forenkle veien til suksess.

Veien til suksess med dekryptering

De to første variantene velger jeg å ikke skrive noe mer om, da de er såpass enkle å adressere at man gjør det nærmest med venstrehånda.

Den siste er enkel å aktivere, men man vil oppleve en del tjenester som slutter å fungere av forskjellige grunner, som at brannmuren ikke kjenner til utsteder av sertifikat, til at klienten har applikasjoner som ikke tillater “man in the middle”, til at ende til ende kryptering noen ganger er følsomt og bare krasjer. Alle disse “problemene” vil skape støy i IT avdelingen, og det er enkelt å slå av igjen dekryptering, og det er ikke heldig.

Palo Alto Networks er topp på visibilitet, og på feilmeldinger i logger, og det er disse vi skal bruke for å lage dynamiske adressegrupper for unntak.

Vi benytter disse tre session-end-reason verdiene:

  • decrypt-error
  • decrypt-cert-validation
  • decrypt-unsupport-param

Når en sesjon avsluttes med en av disse tre, er det gjerne synonymt med at sesjonen feiler. Denne loggen inneholder destinasjons IP adressen, og det er denne vi automatisk legger inn i en dynamisk adressegruppe som unntas fra dekryptering. Dette tiltaket vil gjøre at den neste koblingen mot destinasjonen ikke blir dekryptert og da forhåpentligvis vil fungere helt supert. Dette er rett og slett en workaround for å fjerne støy fra brukere og dermed belastning på IT avdelingen. Samtidig vil loggene eksistere og kunne brukes for mer permanente unntak og dermed en helt topp brukeropplevelse.

Palo Alto Networks konfigurasjon

Log Forwarding

Vi starter med Log Forwarding, da det er her loggene er, og det er her vi matcher på session-end-reason og flytter IP adressene i en dynamisk adressegruppe:

Jeg kunne lagt inn alle tre i samme regel, men velger å splitte dette i tre forskjellige for bedre synlighet. Jeg gjør unntak for inngående kommunikasjon da det ikke er relevant for unntakene.

Set kommandoer for Log Forwarding

set shared log-settings profiles default match-list Log-Forwarding_decrypt_error actions TAG_Decrypt_error_Except type tagging registration localhost
set shared log-settings profiles default match-list Log-Forwarding_decrypt_error actions TAG_Decrypt_error_Except type tagging tags TAG_decrypt-error
set shared log-settings profiles default match-list Log-Forwarding_decrypt_error actions TAG_Decrypt_error_Except type tagging target destination-address
set shared log-settings profiles default match-list Log-Forwarding_decrypt_error actions TAG_Decrypt_error_Except type tagging action add-tag
set shared log-settings profiles default match-list Log-Forwarding_decrypt_error actions TAG_Decrypt_error_Except type tagging timeout 1440

set shared log-settings profiles default match-list Log-Forwarding_decrypt-cert-validation actions TAG_decrypt-cert-validation type tagging registration localhost
set shared log-settings profiles default match-list Log-Forwarding_decrypt-cert-validation actions TAG_decrypt-cert-validation type tagging tags TAG_decrypt-cert-validation
set shared log-settings profiles default match-list Log-Forwarding_decrypt-cert-validation actions TAG_decrypt-cert-validation type tagging target destination-address
set shared log-settings profiles default match-list Log-Forwarding_decrypt-cert-validation actions TAG_decrypt-cert-validation type tagging action add-tag
set shared log-settings profiles default match-list Log-Forwarding_decrypt-cert-validation actions TAG_decrypt-cert-validation type tagging timeout 1440

set shared log-settings profiles default match-list Log-Forwarding_decrypt-unsupport-param actions TAG_decrypt-unsupport-param type tagging registration localhost
set shared log-settings profiles default match-list Log-Forwarding_decrypt-unsupport-param actions TAG_decrypt-unsupport-param type tagging tags TAG_decrypt-unsupport-param
set shared log-settings profiles default match-list Log-Forwarding_decrypt-unsupport-param actions TAG_decrypt-unsupport-param type tagging target destination-address
set shared log-settings profiles default match-list Log-Forwarding_decrypt-unsupport-param actions TAG_decrypt-unsupport-param type tagging action add-tag
set shared log-settings profiles default match-list Log-Forwarding_decrypt-unsupport-param actions TAG_decrypt-unsupport-param type tagging timeout 1440

Dynamic Address Group (DAG)

Jeg lager tre grupper for å skape mer synlighet for å adressere min OCD 😀

Set kommandoer for Dynamic Address Group

set address-group DAG_decrypt-cert-validation dynamic filter “‘TAG_decrypt-cert-validation’”
set address-group DAG_decrypt-unsupport-param dynamic filter “‘TAG_decrypt-unsupport-param’”
set address-group DAG_Decrypt_Error dynamic filter “‘TAG_decrypt-error’”

No decrypt regler

Dette er standard no-decrypt regler utgående som matcher de dynamiske adressegruppene.

Set kommandoer for no-decrypt

set rulebase decryption rules “NO-Decrypt DAG_Decrypt_Error” category any
set rulebase decryption rules “NO-Decrypt DAG_Decrypt_Error” service any
set rulebase decryption rules “NO-Decrypt DAG_Decrypt_Error” type ssl-forward-proxy
set rulebase decryption rules “NO-Decrypt DAG_Decrypt_Error” from any
set rulebase decryption rules “NO-Decrypt DAG_Decrypt_Error” to Untrust
set rulebase decryption rules “NO-Decrypt DAG_Decrypt_Error” source any
set rulebase decryption rules “NO-Decrypt DAG_Decrypt_Error” destination DAG_Decrypt_Error
set rulebase decryption rules “NO-Decrypt DAG_Decrypt_Error” source-user any
set rulebase decryption rules “NO-Decrypt DAG_Decrypt_Error” action no-decrypt
set rulebase decryption rules “NO-Decrypt DAG_Decrypt_Error” disabled no
set rulebase decryption rules “NO-Decrypt DAG_Decrypt_Error” description “This rule does not do Decryption. This rule is validating SSL Protocol Communications.”
set rulebase decryption rules “NO-Decrypt DAG_Decrypt_Error” tag No-Decrypt
set rulebase decryption rules “NO-Decrypt DAG_Decrypt_Error” group-tag No-Decrypt
set rulebase decryption rules “NO-Decrypt DAG_Decrypt_Error” log-fail no
set rulebase decryption rules “NO-Decrypt DAG_Decrypt_Error” source-hip any
set rulebase decryption rules “NO-Decrypt DAG_Decrypt_Error” destination-hip any

set rulebase decryption rules “NO-Decrypt DAG_decrypt-unsupport-param” category any
set rulebase decryption rules “NO-Decrypt DAG_decrypt-unsupport-param” service any
set rulebase decryption rules “NO-Decrypt DAG_decrypt-unsupport-param” type ssl-forward-proxy
set rulebase decryption rules “NO-Decrypt DAG_decrypt-unsupport-param” from any
set rulebase decryption rules “NO-Decrypt DAG_decrypt-unsupport-param” to Untrust
set rulebase decryption rules “NO-Decrypt DAG_decrypt-unsupport-param” source any
set rulebase decryption rules “NO-Decrypt DAG_decrypt-unsupport-param” destination DAG_decrypt-unsupport-param
set rulebase decryption rules “NO-Decrypt DAG_decrypt-unsupport-param” source-user any
set rulebase decryption rules “NO-Decrypt DAG_decrypt-unsupport-param” action no-decrypt
set rulebase decryption rules “NO-Decrypt DAG_decrypt-unsupport-param” disabled no
set rulebase decryption rules “NO-Decrypt DAG_decrypt-unsupport-param” description “This rule does not do Decryption. This rule is validating SSL Protocol Communications.”
set rulebase decryption rules “NO-Decrypt DAG_decrypt-unsupport-param” tag No-Decrypt
set rulebase decryption rules “NO-Decrypt DAG_decrypt-unsupport-param” group-tag No-Decrypt
set rulebase decryption rules “NO-Decrypt DAG_decrypt-unsupport-param” log-fail no
set rulebase decryption rules “NO-Decrypt DAG_decrypt-unsupport-param” source-hip any
set rulebase decryption rules “NO-Decrypt DAG_decrypt-unsupport-param” destination-hip any

set rulebase decryption rules “NO-Decrypt DAG_decrypt-cert-validation” category any
set rulebase decryption rules “NO-Decrypt DAG_decrypt-cert-validation” service any
set rulebase decryption rules “NO-Decrypt DAG_decrypt-cert-validation” type ssl-forward-proxy
set rulebase decryption rules “NO-Decrypt DAG_decrypt-cert-validation” from any
set rulebase decryption rules “NO-Decrypt DAG_decrypt-cert-validation” to Untrust
set rulebase decryption rules “NO-Decrypt DAG_decrypt-cert-validation” source any
set rulebase decryption rules “NO-Decrypt DAG_decrypt-cert-validation” destination DAG_decrypt-cert-validation
set rulebase decryption rules “NO-Decrypt DAG_decrypt-cert-validation” source-user any
set rulebase decryption rules “NO-Decrypt DAG_decrypt-cert-validation” action no-decrypt
set rulebase decryption rules “NO-Decrypt DAG_decrypt-cert-validation” disabled no
set rulebase decryption rules “NO-Decrypt DAG_decrypt-cert-validation” description “This rule does not do Decryption. This rule is validating SSL Protocol Communications.”
set rulebase decryption rules “NO-Decrypt DAG_decrypt-cert-validation” tag No-Decrypt
set rulebase decryption rules “NO-Decrypt DAG_decrypt-cert-validation” group-tag No-Decrypt
set rulebase decryption rules “NO-Decrypt DAG_decrypt-cert-validation” log-fail no
set rulebase decryption rules “NO-Decrypt DAG_decrypt-cert-validation” source-hip any
set rulebase decryption rules “NO-Decrypt DAG_decrypt-cert-validation” destination-hip any



Leave a Reply

Discover more from Zero Trust Soldier

Subscribe now to keep reading and get access to the full archive.

Continue reading