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