› Kategoria › Administracja serwerami

Atak brute force jako GoogleBot na WordPress – jak wykryć

Sprawa dość świeża (choć problem bardzo stary), bo pierwsze sygnały o atakach pojawiły się już 14 stycznia 2015.

Odporny na skanowanie popularnym “clamscan”, bot wkradł się na wiele serwerów, dokunując ataków typu brute force na inne skrypty, najczęściej WordPress, podając się za “GoogleBot”. Przykładowe logi serwera atakowanego:

IP - - [14/Jan/2015:19:12:04 +0100] "POST wp-login.php HTTP/1.1" 200 3865 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
IP - - [14/Jan/2015:21:20:10 +0100] "POST wp-login.php HTTP/1.1" 200 6166 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
IP - - [14/Jan/2015:19:12:04 +0100] "POST wp-login.php HTTP/1.1" 200 3865 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

Zabezpieczenie przed atakami to po prostu ograniczenie dostępu do pliku “wp-login.php” poprzez filtrowanie IP, lub dodatkowa autoryzacja wykorzystując “htpassword”.

Jednak jak wykryć czy nasz serwer nie padł ofiarą owego bota, stając się elementem większego bot-neta:

Dla całego katalogu /home lub odpowiedniego katalogu z danymi www, wykonujemy skanowanie plików php po zawartości:
grep -lir '\\x.\\x.\\x.' /home
Polecenie zwróci listę potencjalnie zainfekowanych plików.

Aby maksymalnie zwiększyć zasięg skanowania, polecenie:
grep -lir "?><?php" /home
Zwróci wszystkie pliki, które korzystają z “doklejonego” fragmentu kodu php.

Dodatkowe metody zabezpieczenia serwera:
– ustawienie chmodów wszystkich plików na : 0666, folderów na: 0755
– wyłączenie funkcji “eval” w php
– regularne skanowanie programem “clamscan”

UPDATE 16.01.2015:
aktualizacja polecenia “grep” – dostosowanie pod większą grupę potencjalnie niebezpiecznych plików.

UPDATE 18.01.2015:
Skrypt automatycznie usuwający zainfekowany kod z plików:

1) Zawartość zapisujemy jako “clean.sh” i nadajemy chmody +x:

#!/bin/bash
FILE=$1
if [ -f $FILE ]
then
`sed '1d' $FILE > $FILE.tmp`
`mv $FILE.tmp $FILE`
`sed -i 1i"<?php" $FILE`
echo "file($FILE) : OK";
else
echo "file($FILE) : NOT FOUND";
fi

2) Generujemy liste zainfektowanych plików:
grep -lir '\\x.\\x.\\x.' /home > all.txt

3) Uruchamiamy skrypt dla każdego znalezionego pliku:
cat all.txt | xargs -n1 ./clean.sh

4) Jeśli wykonywaliśmy skrypt jako root, trzeba jeszcze przywrócić właściciela pliku.
chown user:user -R /home/user

[solved] booting from local disk.. pxe-m0f: exiting pxe rom

Błąd podczas uruchamiania systemu:

# booting from local disk..
# pxe-m0f: exiting pxe rom

Ta mało czytelna wiadomość to po prostu informacja, że BIOS oddał danemu dyskowi kontrole nad systemem i… nic się nie stało, bo dysk nie posiada systemu operacyjnego.

Rozwiązanie:
1) zresetować maszyne, uruchomić BIOS
2) w zakładce BOOT zmienić kolejność dysków “HDD Boot Piority” i jako pierwszy ustawić ten, na którym został zainstalowany system operacyjny*
3) zapisać zmiany, restart

* jeśli mamy 100% pewność, że wybrany jest dysk z systemem operacyjnym, konieczne będzie przeinstalowanie GRUB-a:  czytaj całość

[linux][centOS] problemy z zamontowaniem partycji/dysku

Jednym z wielu problemów może być zamontowanie w systemie nie do końca sprawnego dysku, który nie przeszedł wstępnej weryfikacji przy starcie systemu, co spowodowało jego pominięcie (o ile w pliku /etc/fstab umieściliśmy flagę pozwalającą na pominięcie dysku w przypadku problemów – “nobootwait”, bo w przeciwnym wypadku system po prostu nie wstanie, wymuszając fizyczną interwencję w postaci np. “kliknięcia klawisza” pomijającego zamontowanie dysku, co w przypadku zdalnych serwerów kończy się na interwencji supportu).  czytaj całość

[ssh] instalacja dysku 4k sector HDD

Sektor dysku twardego, czyli najmniejsza odczytywana w całości ilość informacji, do tej pory wynosił 512 bajtów (0.5kb). Stosunkowo niedawno wprowadzono nowy standard zapisu informacji na dysku – sektor 4096 (4kb), co było niezbędnym posunięciem z powodu ilości danych zapisywanych na nowoczesnych dyskach, liczonych terabajtach.

Pomimo wielu korzyści zwiększenia rozmiaru sektora na dysku (większa szybkość odczytu/zapisu danych, zmniejszenie błędów zapisu, lepsze zagospodarowanie przestrzeni) pojawiły się także problemy: jak sformatować dysk z sektorem 4k?
  czytaj całość

Kurs css

  • Kurs CSS dla niecierpliwych [cz 1/2]

    Co to jest CSS, po co go używać, jak go używać.. CSS - stylizowanie różnych elementów HTML, inaczej mówiąc: wizualizowanie/nadawanie odpowiedniego wyglądu strony www. Zaczynając kurs…

  • Kurs CSS dla niecierpliwych [cz 2/2]

    Kontynuacja przyspieszonego kursu dla niecierpliwych. Część 1/2 - Kurs CSS dla niecierpliwych 1/2 Zakładam, że znasz lub zapoznałeś/aś się już wstępnie z podstawami HTML, wiesz do czego…