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