CVE-2019-19781 Vulnerability Workaround Adımları

Çalışma Öncesi

Citrix ADC cihaz/ cihazlar güncel konfigürasyonu kaydedilir ve bir güncel back-up dosyası oluşturup download edilir.

Standalone Sistem

Citrix ADC cihazına SSH ile bağlanılır. Aşağıdaki komut dizini ile bir responder policy oluşturulur ve override global noktasına 1 priority ile bind edilir ve konfigürasyon kaydedilir.

enable ns feature responder
add responder action respondwith403 respondwith "\"HTTP/1.1 403 Forbidden\r\n\r\n\""
add responder policy ctx267027 "HTTP.REQ.URL.DECODE_USING_TEXT_MODE.CONTAINS(\"/vpns/\") && (!CLIENT.SSLVPN.IS_SSLVPN || HTTP.REQ.URL.DECODE_USING_TEXT_MODE.CONTAINS(\"/../\"))" respondwith403
bind responder global ctx267027 1 END -type REQ_OVERRIDE
save config

2. adım olarak netscaler sisteminde ilgili parametre değişikliği yapılır ve geçerli olabilmesi için reboot edilir.

shell nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0
shell "echo 'nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0' >> /nsconfig/rc.netscaler"
reboot

HA (High Availability) Sistem

Primary

Citrix ADC primary cihazına SSH ile bağlanılır. Aşağıdaki komut dizini ile bir responder policy oluşturulur ve override global noktasına 1 priority ile bind edilir ve konfigürasyon kaydedilir. Citrix ADC sisteminde ilgili parametre değişikliği yapılır ve geçerli olabilmesi için secondary’den başlayarak cihazlar kontrollü şekilde reboot edilir.

enable ns feature responder
add responder action respondwith403 respondwith "\"HTTP/1.1 403 Forbidden\r\n\r\n\""
add responder policy ctx267027 "HTTP.REQ.URL.DECODE_USING_TEXT_MODE.CONTAINS(\"/vpns/\") && (!CLIENT.SSLVPN.IS_SSLVPN || HTTP.REQ.URL.DECODE_USING_TEXT_MODE.CONTAINS(\"/../\"))" respondwith403
bind responder global ctx267027 1 END -type REQ_OVERRIDE
save config 
shell nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0
shell "echo 'nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0' >> /nsconfig/rc.netscaler"

NOT:  Secondary node ilk olarak reboot edilir. Secondary node ayağa kalktıktan sonra failover işlemi yapılır ve diğer node (yeni secondary) reboot edilir; cihazın tekrar ayağa kalkması sonrasında kontroller yapılır ve çalışma sonlandırılır.

reboot

Secondary

Secondary node üzerinde aşağıdaki komut dizini çalıştırılır.

shell nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0
shell "echo 'nsapimgr_wr.sh -ys skip_systemaccess_policyeval=0' >> /nsconfig/rc.netscaler"

ilk olarak secondary cihaz reboot edilir.

reboot

Değişiklikleri Geri Alma (Standalone, HA)

Eklenen policy Citrix ADC üzerinden kaldırılır. Konfigürasyon bu hali ile kaydedilir.

unbind responder global ctx267027
save config

Yapılan parametre değişikliği aşağıdaki komut ile geri alınır ve cihaz reboot edilir.

shell nsapimgr_wr.sh -ys skip_systemaccess_policyeval=1
shell "sed -i '' '/skip_systemaccess_policyeval=0/d' /nsconfig/rc.netscaler"

Cihaz reboot adımı.

reboot

NOT: Yukarıda uygulanan policylerin çalışması için reboot adımına gerek yoktur fakat zararlı olabilecek komutların çalıştırılıyor olmasına karşın mevcut sessionları sonlandırmak adına reboot etmek gerekir.

Ayrıca Citrix’ in paylaştığı çözüm adımlarına buradan ulaşabilirsiniz!

Yorum Bırakın