W CVE-2015-7547 została opisana krytyczna luka bezpieczeństwa w powszechnie używanej bibliotece glibc. Błąd znaleziono w funkcji getaddrinfo().
Aby wykorzystać lukę, atakujący odpowiada specjalnie spreparowanym pakietem DNS na zapytanie DNS ofiary. Nie musi on dysponować własnym serwerem DNS, do manipulacji pakietu może też dojść poprzez atak Man-in-the-Middle. Zmodyfikowana odpowiedź DNS może doprowadzić do przepełnienia bufora oraz wykonania obcego kodu w systemie ofiary.
Archiwum tagów: Linux
glibc – krytyczna luka bezpieczeństwa (CVE-2015-7547)
Puppet – konfiguracja w Ubuntu, OpenBSD i CentOS (część 3)
W trzeciej części naszych przygód z puppet’em skupimy się bardziej na jego uniwersalności. Do naszego środowiska testowego dodamy dwie nowe maszyny. Jedna z nich ma zainstalowany systemem Ubuntu, a druga OpenBSD. Jako punkt startu wykorzystamy konfigurację z części 2 (warto też zajrzeć do części 1), którą rozwiniemy tak, aby działała z dwoma nowymi systemami.
Puppet – dodajemy moduły firewall i httpd (część 2)
Dziś rozwiniemy nieco naszą konfigurację i dodamy dwa nowe moduły: httpd oraz firewall. Pierwszy z nich zainstaluje w razie potrzeby pakiet httpd, stworzy podstawowe pliki, takie jak domyślny vhost oraz index.html
. Drugi moduł firewall zainstaluje pakiet iptables, przekopiuje domyślną konfigurację oraz uruchomi go na maszynie puppet-slave01.
Puppet – instalacja i konfiguracja (część 1)
Puppet to popularne oprogramowanie, które ułatwia zarządzanie serwerami oraz automatyzuje ich konfigurację. Możliwości jest sporo, od tworzenia, modyfikacji plików, zmiany ich praw, poprzez instalację wymaganego oprogramowania oraz monitorowania wybranych procesów, a w razie problemów ich automatycznego uruchomienia. Te wszystkie rzeczy możemy wygodnie zdefiniować na centralnym serwerze, a nowe maszyny po połączeniu się z nim, natychmiast zaimplementują niezbędne poprawki. Taki proces zdecydowanie przyspiesza provisioning nowych serwerów i oszczędza wiele czasu dla administratora, który nie musi za każdym razem wprowadzać tych samych poleceń. Puppet jest darmowym oprogramowaniem napisanym w języku Ruby, rozwijanym na licencji GNU GPL. Jest on dostępny praktycznie dla wszystkich popularnych systemów operacyjnych.
CentOS 6.4 – obsługa kilku wersji PHP jednocześnie dzięki PHP-FPM (5.3.x, 5.4.x oraz 5.5)
Obsługa kilku różnych wersji PHP zawsze była pewnym problemem. Domyślnym rozwiązaniem jest użycie mod_php (libphp5.so). Problem w tym, że ograniczeni jesteśmy tylko do jednej wersji na serwer www (np. apache). Na szczęście wszystko da się zrobić i popularnym rozwiązaniem była instalacja kilku instancji serwera www, każda z nich nasłuchiwała na innym porcie i do każdej z nich mogliśmy przypisać inną wersję PHP. Do tego dochodziło „trochę magii” z opcją ProxyPass etc, ale najważniejsze było to że działało (zobacz wpis Suse 9.3 z php 5.0.x i 5.2.x). No ale nie o tym ten wpis.
Zaczynając od wersji 5.3.3 w PHP dostępny jest dodatek PHP-FPM (FastCGI Process Manager), który jest alternatywną implementacją FastCGI zawartą już bezpośrednio w jądrze PHP. Potrafi on samemu zarządzać procesami FastCGI, dostarcza nam wszelkich statystyk (podobnie do mod_status w Apache), każdy z procesów możemy uruchomić z innym uid/gid/chroot lub plikiem php.ini etc etc. W skrócie rozwiązanie zalecane dla większych i bardziej wymagających stron. A ponieważ procesy PHP uruchamiane są dynamicznie poprzez FastCGI możemy właśnie użyć różnych wersji w per virtual host. I nie potrzebujemy do tego kolejnych instancji serwera www.