Tworzenie własnej strony blokowania dla F5 WAF z użyciem iRule

Polityki bezpieczeństwa (Security Policies) tworzone w module F5 AWF posiadają dość rozbudowane możliwości dostosowywania wyglądu strony blokowania do własnych potrzeb. Należy tu zwrócić uwagę na słowo „wyglądu”.

Jeśli chodzi o przekazywanie do strony blokowania dynamicznych wartości generowanych przez BIG-IP jesteśmy ograniczeni do zmiennej <%TS.request.ID()%>. Ta zmienna zawiera identyfikator incydentu (Support ID) związanego z naruszeniem polityki bezpieczeństwa.

Oczywiście istnieje sposób na obejście tego ograniczenia – użycie iRule.

Przykładowa iRule pozwala na umieszczenie na stronie blokowania daty i czasu wystąpienia incydentu. Co prawda, taką samą funkcjonalność można uzyskać przy pomocy JavaScript, należy jednak zwrócić uwagę, że JS wykonuje się w przeglądarce na stacji klienta. W związku z tym wynikiem będzie data i czas na stacji klienta a nie na BIG-IP. Oznacza to, że data i czas wyświetlany na stronie blokowania może nie być zgodny z tym raportowanym w logu incydentów polityki bezpieczeństwa.

when ASM_REQUEST_BLOCKING {

set activeViolation 1

set current_day [clock format [clock seconds] -format {%D %T}]

set response "Strona nie może być wyświetlona.

Prosimy o kontakt ze wsparciem technicznym.

Support ID: [ASM::support_id], $current_day.
[Powrót]"

ASM::payload replace 0 [ASM::payload length] ""

ASM::payload replace 0 0 $response

set new_l [ASM::payload length]

}

when HTTP_RESPONSE_RELEASE {

catch {

if { $activeViolation } {

HTTP::header replace Content-Length $new_l

}

}

}

Rezultatem działania powyższej iRule będzie strona blokowania wyglądająca jak poniżej

Strona nie może być wyświetlona.

Prosimy o kontakt ze wsparciem technicznym.

Support ID: 15588291219069862278, 04/17/24 09:29:50.

[Powrót]

W celu użycia iRule należy wykonać następuje kroki:

1.       W polityce bezpieczeństwa ustawić parametr Trigger ASM iRule Events Mode na Normal(Security Policy > General Settings).

WAŻNE:Bez tej modyfikacji nie będą generowane zdarzenia (Events) związane z WAF – iRule nie będzie działać.

WSKAZÓWKA: Po wykonaniu modyfikacji oprócz zapisania zmian (przycisk Save) nie można zapomnieć o wykonaniu Apply Policy

2.       Podłączyć iRule do Virtual Server realizującego daną politykę bezpieczeństwa.

ZALECENIA PRAKTYCZNE:

1.       Należy unikać tworzenia „ciężkich” stron blokowania. Strona blokowania powinna być jak najmniejsza. Wynika to z prostej przyczyny. O ile w trakcie przetwarzania normalnego ruchu nie będzie to najprawdopodobniej generować problemów wydajnościowych, o tyle w trakcie ataku DDoS efektem może być jego wzmocnienie, poprzez:

a.       Zużywanie przepustowości łącza do Internetu

b.       Zwiększanie obciążenia BIG-IP

2.       Na stronie blokowania nie można umieszczać informacji dostarczających atakującym dodatkowej wiedzy o konfiguracji polityki bezpieczeństwa, np. informacji o typie naruszenia polityki