Poznań - Skórzewo ul. Działkowa 32

Ochrona przed hackerami przy pomocy CrowdSec

W dzisiejszym świecie, gdy coraz więcej firm i osób prywatnych przenosi swoją działalność do internetu, kwestia cyberbezpieczeństwa staje się kluczowa. Każdego dnia popularne systemy zarządzania treścią, takie jak WordPress czy Drupal, stają się celem ataków hakerskich. Na szczęście istnieją rozwiązania, które mogą pomóc w ochronie przed takimi zagrożeniami. Jednym z nich jest CrowdSec – otwartoźródłowe narzędzie do wykrywania i blokowania złośliwych działań w sieci.

Czym jest CrowdSec?

CrowdSec to darmowy, otwartoźródłowy system wykrywania i reagowania na zagrożenia, który działa na zasadzie “kolektywnej obrony”. Jego główna idea opiera się na współpracy - informacje o atakach są udostępniane między wszystkimi użytkownikami platformy, tworząc swego rodzaju “odpornościowy system” sieci.

W przeciwieństwie do tradycyjnych zapór sieciowych (firewall), CrowdSec nie tylko blokuje podejrzane adresy IP, ale również analizuje zachowania użytkowników, identyfikując potencjalne zagrożenia na podstawie ich działań. Co więcej, gdy system wykryje atak, informacja o nim jest udostępniana całej społeczności CrowdSec, dzięki czemu wszyscy użytkownicy mogą być chronieni przed danym zagrożeniem.

Jak CrowdSec zwiększa bezpieczeństwo aplikacji webowych?

Ochrona systemów CMS takich jak WordPress i Drupal

WordPress i Drupal to bardzo popularne systemy zarządzania treścią, które ze względu na swoją powszechność często stają się celem ataków. CrowdSec może znacząco zwiększyć ich bezpieczeństwo poprzez:

1. Wykrywanie prób siłowego logowania

Jednym z najczęstszych typów ataków na strony WordPress i Drupal są próby siłowego logowania (brute force), polegające na wielokrotnym próbowaniu różnych kombinacji haseł. CrowdSec monitoruje logi dostępowe i wykrywa takie próby, automatycznie blokując adresy IP, z których pochodzą.

2. Ochrona przed skanowaniem podatności

Hakerzy często skanują strony w poszukiwaniu znanych podatności w popularnych wtyczkach czy motywach. CrowdSec potrafi rozpoznać takie zachowania i zablokować adresy IP, które wykazują wzorce typowe dla skanowania.

3. Blokowanie znanych złośliwych adresów IP

Dzięki systemowi współdzielenia informacji o zagrożeniach, CrowdSec ma dostęp do obszernej bazy danych adresów IP, które zostały zidentyfikowane jako źródła ataków. Twoja strona może być chroniona przed atakami, nawet jeśli wcześniej nie były one skierowane bezpośrednio na nią.

4. Ochrona panelu administracyjnego

CrowdSec może pomóc w zabezpieczeniu panelu administracyjnego przed nieautoryzowanym dostępem, monitorując podejrzane próby logowania i blokując dostęp z nietypowych lokalizacji czy w nietypowych godzinach.

Jak wdrożyć CrowdSec w środowisku Dockerowym?

Wdrożenie CrowdSec w środowisku opartym na Dockerze jest stosunkowo proste, nawet dla osób bez rozległej wiedzy technicznej. Poniżej prezentujemy podstawowe kroki:

Krok 1: Instalacja CrowdSec za pomocą Docker Compose

Najprostszym sposobem jest wykorzystanie pliku docker-compose.yml. Oto przykładowy plik:

version: '3'
services:
  crowdsec:
    image: crowdsecurity/crowdsec:latest
    container_name: crowdsec
    environment:
      - GID=1000
      - UID=1000
    volumes:
      - ./crowdsec/config:/etc/crowdsec
      - ./crowdsec/data:/var/lib/crowdsec/data
      - ./logs:/var/log
    restart: unless-stopped
  
  crowdsec-firewall-bouncer:
    image: crowdsecurity/cs-firewall-bouncer:latest
    container_name: crowdsec-firewall-bouncer
    environment:
      - CS_API_URL=http://crowdsec:8080
    network_mode: host
    depends_on:
      - crowdsec
    restart: unless-stopped

Ten plik tworzy dwa kontenery:

  • crowdsec - główny kontener odpowiedzialny za analizę logów i wykrywanie zagrożeń
  • crowdsec-firewall-bouncer - kontener odpowiedzialny za faktyczne blokowanie złośliwych adresów IP

Krok 2: Konfiguracja dostępu do logów

Aby CrowdSec mógł skutecznie działać, potrzebuje dostępu do logów aplikacji. W środowisku Dockerowym możemy to osiągnąć, montując odpowiednie katalogi z logami do kontenera CrowdSec.

Na przykład, jeśli używamy WordPress w Dockerze, możemy dodać:

volumes:
  - ./wordpress/logs:/var/log/wordpress

Krok 3: Konfiguracja analizatorów

Po uruchomieniu CrowdSec, musimy skonfigurować analizatory odpowiednie dla naszych aplikacji. Można to zrobić za pomocą komendy:

docker exec -it crowdsec cscli collections install crowdsecurity/wordpress
docker exec -it crowdsec cscli collections install crowdsecurity/drupal

Te komendy instalują gotowe konfiguracje do wykrywania ataków specyficznych dla WordPress i Drupal.

Krok 4: Integracja z serwerem WWW

CrowdSec oferuje różne “bouncery” (moduły blokujące) dla popularnych serwerów web. Na przykład dla Nginx możemy użyć:

services:
  nginx-crowdsec-bouncer:
    image: crowdsecurity/nginx-bouncer:latest
    environment:
      - CROWDSEC_BOUNCER_API_KEY=YOUR_API_KEY
      - CROWDSEC_AGENT_HOST=crowdsec:8080
    volumes:
      - ./nginx-bouncer:/etc/nginx/conf.d
    restart: unless-stopped

Moduł dla CMS Drupal

Moduł CrowdSec integruje witrynę Drupal z CrowdSec, aby trzymać podejrzanych użytkowników i cyberprzestępców z dala. Nie wymaga posiadania konta w CrowdSec ani instalowania dodatkowego oprogramowania agenta. Ten moduł zawiera wszystko, co potrzebne. Zainstaluj za pomocą composera, włącz moduł i bądź spokojny, że znaczna część złośliwego ruchu i wiele wektorów ataku po prostu zostanie wyeliminowane.

Zalety stosowania powiadomień z wykorzystaniem Gotify

Samo blokowanie ataków często nie wystarcza - ważne jest również otrzymywanie powiadomień o wykrytych zagrożeniach. CrowdSec można łatwo zintegrować z Gotify, lekkim serwerem powiadomień.

Co to jest Gotify?

Gotify to prosty, samodzielnie hostowalny serwer do wysyłania i odbierania powiadomień. Pozwala na otrzymywanie alertów na urządzeniach mobilnych i komputerach bez konieczności korzystania z usług zewnętrznych firm.

Dlaczego warto używać powiadomień z CrowdSec?

1. Natychmiastowa świadomość zagrożeń

Otrzymywanie powiadomień o atakach w czasie rzeczywistym pozwala szybko reagować na potencjalne zagrożenia, zanim spowodują poważne szkody.

2. Widoczność aktywności w sieci

Regularne powiadomienia dają lepszy wgląd w to, co dzieje się w twojej sieci i jakie typy ataków są najczęściej kierowane na twoje systemy.

3. Możliwość szybkiej reakcji

W przypadku fałszywych alarmów lub gdy potrzebne jest ręczne odblokowanie adresu IP, natychmiastowe powiadomienie pozwala na szybką reakcję.

Jak skonfigurować powiadomienia CrowdSec z Gotify

Najpierw należy zainstalować Gotify jako usługę Docker:

services:
  gotify:
    image: gotify/server:latest
    ports:
      - 8070:80
    environment:
      - GOTIFY_DEFAULTUSER_PASS=silnehaslo
    volumes:
      - ./gotify/data:/app/data
    restart: unless-stopped

Następnie, aby zintegrować CrowdSec z Gotify, należy stworzyć plik konfiguracyjny dla pluginu powiadomień:

type: http
name: gotify_notifications
format: |
  CrowdSec Alert:
  IP: {{.IP}}
  Scenario: {{.Scenario}}
  Country: {{.Country}}
url: http://gotify:80/message
method: POST
headers:
  X-Gotify-Key: YOUR_GOTIFY_APP_TOKEN
data: |
  {
    "title": "CrowdSec Alert",
    "message": "Wykryto atak z IP {{.IP}} ({{.Country}}), scenariusz: {{.Scenario}}",
    "priority": 5
  }

Podsumowanie

CrowdSec stanowi nowoczesne i skuteczne rozwiązanie dla ochrony aplikacji webowych, takich jak WordPress czy Drupal, przed różnorodnymi atakami. Jego główne zalety to:

  • Wspólnotowe podejście do bezpieczeństwa, gdzie każdy użytkownik przyczynia się do ochrony całej sieci.
  • Łatwa integracja z popularnymi aplikacjami webowymi.
  • Możliwość wdrożenia w środowisku Docker bez rozległej wiedzy technicznej.
  • Skuteczne wykrywanie i blokowanie typowych ataków.
  • Możliwość otrzymywania powiadomień o zagrożeniach.

Dzięki połączeniu CrowdSec z systemem powiadomień, takim jak Gotify, zyskujesz nie tylko skuteczną ochronę przed hakerami, ale również pełną świadomość tego, co dzieje się w twojej sieci. To rozwiązanie jest szczególnie cenne dla małych i średnich firm, które nie mogą sobie pozwolić na zaawansowane, komercyjne systemy bezpieczeństwa.

Wdrożenie CrowdSec w środowisku Docker jest stosunkowo proste i może znacząco zwiększyć poziom bezpieczeństwa twoich aplikacji webowych, chroniąc twoje dane i zapewniając spokój zarówno tobie, jak i twoim użytkownikom.

Kontakt z nami

Jeśli jesteś zainteresowany/-a minimalizacją ryzyk związanych z cyberzagrożeniami dla swoich webaplikacji, napisz do nas.

Zapoznaj się z naszą pełną ofertą: