root

Cloudflare - automatyczne włączanie Under Attack mode

Rekomendowane odpowiedzi

Cloudflare - automatyczne włączanie Under Attack mode

 

Poniższy skrypt przy użyciu API Cloudflare włączy dla danej strony tryb "Under Attack" gdy obciążenie CPU będzie zauważalnie wyższe niż normalnie, lub gdy na forum pojawi się zbyt duża liczba gości. Tryb Under Attack powoduje wymuszanie weryfikacji przeglądarki za pomocą skryptu *.js, co blokuje dostęp do strony wszelkim botom itp. Kiedy potencjalny atak ustanie, skrypt automatycznie wyłączy tryb Under Attack.

 

Celem tego skryptu jest ograniczenie ataków oraz wizyt botów zrzucających zawartość strony i testujących kolejne linki. W skrypcie zamieściłem sporo komentarzy, gdyby ktoś chciał coś zmienić czy poprawić. W razie problemów zapraszam do dyskusji poniżej.

 

image.png

 

Aby wszystko działało prawidłowo

  • należy mieć serwer VPS
  • strona musi być podpięta do Cloudflare
  • trzeba wygenerować sobie odpowiedni klucz API Cloudflare
  • należy mieć zainstalowane bc
  • w ustawieniach firewalla Cloudflare dodajemy wyjątek dla adresu IP serwera www (dzięki temu curl pobierze stronę nawet gdy zostanie włączony tryb Under Attack)

 

 

Jak zainstalować?

  1. Instalujemy bc, jeśli nie ma go w systemie:
    apt-get install bc

     

  2. Konfigurujemy w skrypcie cloudflare.sh odpowiednie ustawienia:
    ####################################################################################
    #Cloudflare mail
    cfmail="xxxxxxxxxxxx@xxx.xxx"
    #Cloudflare authkey
    cfauthkey="xxxxxxxxxxxxxxx"
    #Cloudflare zone
    zone="xxxxxxxxxxxxxxx"
    #adres strony do sprawdzenia
    www="https://uwujka.pl/online/"
    #Fraza do wyszukania na stronie, dla IPS 4+ nie zmieniać.
    string='"Gość"></span>'
    #max dopuszczalna liczba gości
    maxguests="10"
    #max dopuszczalne obciążenie
    maxcpu="1.8"
    #czas, po którym może zostać wyłączony tryb Under Attack jeśli atak ustąpił (minuty)
    time="60"
    #nazwa pliku tymczasowego oznaczającego włączenie trybu Under Attack
    tempfile=".tmp_on"
    #Pamiętaj, aby dodać wykonywanie skryptu co minutę w CRONie, oraz dodać odpowiedni
    #wyjątek w Cloudflare, aby IP serwera www bez problemu mogło wczytać stronę nawet
    #gdy włączony jest tryb Under Attack. Skrypt musi posiadać również uprawnienia do
    #wykonania.
    #
    #Wymagana jest także isntalacja bc, jeśli go nie ma: apt-get install bc
    #
    ####################################################################################

    cfmail - nasz login (mail) do Cloudflare
    cfauthkey - klucz autoryzacyjny do wygenerowania tutaj (Global API Key)
    zone - widoczne po zalogowaniu do Cloudflare i wybraniu domeny (API -> Zone ID)
    www - adres zakładki "Użytkownicy online", dla IPS 4+ będzie to np. https://uwujka.pl/online/ - dla innych skryptów mogę pomóc w razie problemów (np. dla phpbb3).
    string - fraza, której wystąpienia będą zliczane na stronie ustawionej w "www", dla IPS 4+ będzie to
     

    '"Gość"></span>'

    Należy zwrócić uwagę na odpowiednie cudzysłowy. W przypadku innych skryptów, również mogę pomóc ze znalezieniem odpowiedniej frazy. Również w przypadku mocno zmodyfikowanych motywów IPS 4 fraza może wymagać zmiany.
    maxguests - maksymalna, dopuszczalna liczba gości; przekroczenie tej wartości spowoduje włączenie Under Attack
    maxcpu - maksymalne, dopuszczalne, średnie obciążenie CPU z ostatniej minuty widoczne np. w uptime / top. Zalecam wcześniej zalogować się do panelu VPS'a i sprawdzić, jakie wartości na ogół osiąga ten parametr. Przekroczenie ustawionej wartości spowoduje włączanie Under Attack mode.
    time - minimalny czas od włączenia trybu, po którym tryb ten może zostać wyłączony

  3. W katalogu /root/ (lub dowolnym innym w zależności od konfiguracji swojego VPS'a) tworzymy nowy katalog i nadajemy uprawnienia (do zapisu też, będzie tam tworzony plik tymczasowy). U mnie jest to:

    /root/antiddos/

    Wgrywamy tam skrypt cloudflare.sh, skonfigurowany wcześniej.
    Nadajemy uprawnienia do wykonania.

  4. W panelu Cloudflare -> Firewall -> Tools dodajemy wyjątek dla IP naszego VPS'a (allow), aby mógł pobrać stronę przez curl nawet gdy włączony jest tryb Under Attack.

  5. Dodajemy skrypt do CRON'a, np.:
    /etc/crontab
     

    #Anti DDoS
    * * * * * root cd /root/antiddos && ./cloudflare.sh

    Pamiętajmy, aby na końcu pliku zostawić pustą linię.

 

Proszę nie udostępniać skryptu bez podania autora.

cloudflare.sh

  • Lubię 2

signature.php?steamid=76561198033487452&
uwujka.pl - Najlepsze serwery CS: GO

Chcesz mieć taki ładny podpis jak ja? >KLIK<

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się


  • Przeglądający   0 użytkowników

  • Podobna zawartość

    • Przez  root
      Wrzucałem już na innym forum, więc wrzucę i tutaj dla odmiany po polsku. W CSGO ciągle pojawiają się nowe skiny, każda sieć chce mieć je od razu, bo wiadomo - gracze będą grali tam, gdzie mają od razu dostęp do nowych skinów.
       
      Co zrobić, aby mieć skiny na serwerze?
      Na serwerze musicie mieć wgrany ten plugin. Dlaczego akurat ten? Bo jest najlepszy i jako jedyny nie posiada poważnych bugów. Innych pluginów nie będę omawiać. Posiadanie skinów na serwerze wiąże się z koniecznością wykupienia usług oferujących tokeny - 3x w tygodniu taki serwer dostanie bana na token i będzie musiał pobrać nowy token. Nie polecę konkretnego serwisu, ale dobrze Wam radzę za wszelką cenę unikajcie tego polskiego - jeśli cenicie swój serwer. Rosyjski i australijski serwis jest OK. Koszt: ok. 1,5zł tygodniowo/1 serwer. W pewnym momencie pojawi się aktualizacja dodająca nowe skiny. Wtedy przechodzimy do kolejnego akapitu.  
      Co zrobić, aby na serwerze były dostępne najnowsze skiny?
      Przygotowałem mały skrypcik batch (Windows) do szybkiego wygenerowania plików konfiguracyjnych we wszystkich dostępnych w CSGO językach, do wyżej wymienionego pluginu. Skrypt korzysta z CSGOItemParserForWeaponsPlugin. Wygenerowanie wszystkich plików przy użyciu 4-rdzeniowego CPU zajmie około 10 minut.
      Pobierz i wypakuj CSGOItemParser. Pobierz załącznik, wypakuj, skopiuj automatic.cmd do folderu bin/ pobranego wcześniej CSGOItemParser. Otwórz plik automatic.cmd z notatnika, ustaw swój katalog CSGO jeśli zainstalowałeś grę w innym, niż domyślny. Uruchom automatic.cmd. Idź do kuchni i zrób sobie kawę. Wgraj wygenerowane pliki na swój serwer. Można też iść na łatwiznę i pobrać wygenerowane przez kogoś innego pliki, ale pewnie zbyt często nie będzie mi się chciało ich tu wrzucać, więc zostaje Google.
       
      Pobierz wygenerowane weapons_*.cfg (2018/10/04)
      Pobierz automatic.cmd
       
      Miłej zabawy!
    • Przez  root
      Generator podpisów
      Wygeneruj swój podpis na forum!
       
      Link: https://status.uwujka.pl/
       
      Funkcje
      generowanie obrazka dla danego SteamID wyświetlanie statusu osób z profilem prywatnym (online / offline) wyświetlanie kraju, levelu, odznaki dla danego profilu Steam wyświetlanie obrazka (tła) gry w którą gramy w danym momencie wybór tła, gdy jesteśmy online/offline dwupoziomowe cache  
      Jak używać?
      Wejdź na podaną stronę i wpisz swoje SteamID w formacie 0:12345678
       
      Do zrobienia
      wyświetlanie kodów obrazka tutoriale konwersja SteamID na różne formaty dodawanie tła z dowolnej gry na Steamie (+tutorial)  
      Zauważyłeś błąd?
      Zgłoś go poniżej, a postaramy się go naprawić. Koniecznie podaj szczegóły.
       
      Propozycje zmian
      Masz pomysł co moglibyśmy dodać? Zgłoś go poniżej, zobaczymy co da się zrobić.
       
      Wersja alpha
      Generator podpisów jest wersji alpha. Oznacza to, że nie jest to finalna wersja aplikacji i jeszcze wiele funkcji zostanie poprawionych/dodanych.
       
      Changelog
      0.0.2a - usunięte niektóre zbędne frazy informujące o wersji alpha; dodane przyciski kopiowania kodu do schowka / kopiowania i przejścia do edycji podpisu na forum; zmiana układu strony na bloki poziome; https (żeby nie było komunikatu "Twoje połączenie z tą witryną nie jest w pełni bezpieczne" z powodu podpisów) 0.0.1a - pierwsze wersja alpha  
  • Popularny