NFsec Logo

Ustawienie zmiennej środowiskowej TZ oszczędza tysiące wywołań systemowych

26/02/2017 w Administracja, Debug Brak komentarzy.

A

by zaoszczędzić dodatkowych wywołań systemowych na serwerze przez chodzący proces – wystarczy ustawić zmienną środowiskową TZ na wartość: :/etc/localtime. Spowoduje to, że glibc nie będzie wykonywać zbędnych, dodatkowych wywołań systemowych. Szczególnie sprawdza się to w systemach, w których ustawienie strefy czasowej nie jest cyklicznie przestawiane – lub istnieje możliwość restartu danego procesu, kiedy to występuje (w większości przypadków taka zmiana występuje tylko raz – zazwyczaj w polskich realiach jest to przestawienie z UTC na CET).
[ czytaj całość… ]

Ubuntu 14.04, 16.04 LTS i błąd out of memory (oom) killer

29/01/2017 w Administracja, Debug Brak komentarzy.

Jeśli podczas łatania np. DirtyCow na naszym serwerze wyposażonym w Ubuntu Trusty lub Xenial zainstalowane zostało jądro w wersji 4.4.0-59-generic i nagle wcześniej działające bez problemu aplikacje oraz daemony zaczęły zaliczać błędy typu: out of memory (brak pamięci) jest wielce prawdopodobne, że jest to spowodowane błędem, który wkradł się podczas rozwoju wersji. Tymczasowym rozwiązaniem do czasu aż zostanie wydany kolejny patchset naprawiający to zachowanie jest cofnięcie się do wersji: 4.4.0-57.

Więcej informacji: mm, oom: prevent premature OOM killer invocation for high order request

Czas utworzenia pliku w Linuksie

17/11/2016 w Debug Brak komentarzy.

J

ak sprawdzić czas utworzenia pliku w systemie plików ext2/ext3/ext4? Na początku należy za pomocą stat pobrać numer i-node pliku, a następnie posłużyć się debugfs, aby wyświetlić jego szczegóły na danym urządzeniu:

root@darkstar:~# stat -c %i plik
131124
root@darkstar:~# debugfs -R 'stat <131124>' /dev/sda2

Inode: 131124   Type: regular    Mode:  0755   Flags: 0x80000
Generation: 2191072338    Version: 0x00000000:00000001
User:     0   Group:     0   Size: 8988
File ACL: 0    Directory ACL: 0
Links: 1   Blockcount: 24
Fragment:  Address: 0    Number: 0    Size: 0
 ctime: 0x57ae0ac4:22d8c824 -- Fri Aug 12 19:43:32 2016
 atime: 0x57ae0abf:1c2bc7bc -- Fri Aug 12 19:43:27 2016
 mtime: 0x57ae0abf:1c2bc7bc -- Fri Aug 12 19:43:27 2016
crtime: 0x57ae0abf:1c2bc7bc -- Fri Aug 12 19:43:27 2016
Size of extra inode fields: 32
EXTENTS:
(0-2):557400-557402

Więcej informacji: Birth is empty on ext4

Ekstrakcja ze stosu TCP/IP

25/09/2016 w Administracja, Debug Brak komentarzy.

T

CPxtract jest narzędziem używanym do ekstrakcji konkretnego zestawu plików z zrzutów sieciowych w formie plików pcap poprzez zaglądanie w sesje TCP i odszukiwaniu skonfigurowanych sygnatur – technika ta nazywa się data carving. W przypadku ruchu sieciowego możemy go wykorzystać na przykład, jeśli chcemy dowiedzieć się, co dokładnie ściąga złośliwe oprogramowanie lub przeanalizować wybrany scenariusz ataku – ustawiając wcześniej sniffer na nasłuchiwanie i nagrywanie sesji połączeń. Przykład wydobycia plików .html oraz .jpg z nagranej sesji HTTP:

~:# tcpxtract -f ff.pcap -o dump/
Found file of type "html" in session [192.168.1.10:34262 -> 81.225.61.6:20480],
exporting to dump/00000000.html
Found file of type "html" in session [192.168.1.10:34262 -> 81.225.61.6:20480],
exporting to dump/00000001.html
Found file of type "jpg" in session [81.225.61.6:20480 -> 192.168.1.10:35030],
exporting to dump/00000008.jpg

Więcej informacji: tcpxtract, tcpxtract version 1.0

Ubuntu 14.04 LTS rsyslog time travel

19/05/2016 w Administracja, Debug Brak komentarzy.

G

dyby kogoś zdziwiły wpisy z przeszłości w logach np. dotyczące różnego rodzaju zadań wykonywanych w dość małych odstępach czasowych to nie należy się stresować:

May 19 18:55:01 darkstar CRON[7328]: (test) CMD (/bin/echo "test")
May 15 07:45:01 darkstar CRON[7942]: (test) CMD (/bin/echo "test")
May 19 19:05:01 darkstar CRON[7945]: (test) CMD (/bin/echo "test")
May  9 10:55:01 darkstar CRON[8563]: (test) CMD (/bin/echo "test")
May  4 18:50:01 darkstar CRON[8880]: (test) CMD (/bin/echo "test")
May 19 19:35:01 darkstar CRON[9819]: (test) CMD (/bin/echo "test")
May  9 19:45:01 darkstar CRON[10093]: (test) CMD (/bin/echo "test")
May 19 19:40:01 darkstar CRON[10143]: (test) CMD (/bin/echo "test")

Bug do Ubuntu zgłoszony już w 2015 roku, ale jakoś team rsyslog’a nie pali się do jego poprawienia.

The resulting partition is not properly aligned for best performance

20/03/2016 w Debug Brak komentarzy.

Jeśli otrzymujemy taki „warning” przy zakładaniu partycji w programie parted – zamiast konkretnej liczby bajtów lub sektorów wystarczy w przy ostatniej lub obydwu granicach podać wartość procentową np. mkpart primary ext4 0% 100%.

Intel(R) 10 Gigabit PCI Express Network Driver performance degradation

02/10/2015 w Administracja, Debug Brak komentarzy.

O

statnio podczas testów linków 10G zauważyłem ciekawą zależność. Testując różne wersje jądra w systemie Ubuntu 12.04 ze względu na różne problemy z obsługą systemu plików ext4 na świat wyszedł inny błąd powiązany z sterownikiem sieciowym. Dla wersji jądra: Linux darkstar 3.13.0-32-generic #57~precise1-Ubuntu SMP test linków za pomocą iperf prezentuje się następująco:
[ czytaj całość… ]

tomcat7 – wyciekające sockety i can’t identify protocol

15/05/2015 w Administracja, Debug Brak komentarzy.

P

roblem: aplikacja uruchomiona na serwerze tomcat7 z nieznanych powodów w dość powolny, ale wykładniczy sposób zaczyna otwierać i przetrzymywać deskryptory plików. Z czasem skutkuje to osiągnięciem limitu otwartych plików i błędem: java.net.SocketException: Too many open files.
[ czytaj całość… ]

Kiedy URI hash load balancing zawodzi

27/01/2014 w Administracja, Debug Brak komentarzy.

Z

ałóżmy, że chcemy na naszą aplikację webową nałożyć warstwę cache w celu przyśpieszenia jej działania, zredukowania serwerów front-endowych i odciążenia back-endu. W zależności od skali ruchu sieciowego i wielkości naszej aplikacji – jeden serwer typu proxy cache czasami nie wystarczy. Przyjmijmy, że skala wymaga pięciu serwerów typu cache (wykorzystajmy Varnish’a). Bez sensu jest postawienie przed tymi serwerami urządzenia lub aplikacji do wykonywania load balancingu w trybie round robin, ponieważ spowoduje to powielanie obiektów w pamięci cache serwerów i nieoptymalne ich wykorzystanie.
[ czytaj całość… ]

Najszybsza metoda usunięcia 1000000 plików z katalogu

03/06/2013 w Administracja, Debug Brak komentarzy.

J

aki sposób usunięcia 1.000.000 plików (o wielkości 0 bajtów każdy) z pojedynczego katalogu jest najszybszy? Ostatnio wątek ten został poruszony na serwisie Quora. Zamiast używać popularnych poleceń typu rm + find + xargs – użytkownik Zhenyu Lee zaproponował użycie polecenia rsync z pustym katalogiem jako źródłowym.
[ czytaj całość… ]

Strona 1 z 3123