Bądź na bieżąco - RSS

update.rc-d vs rc.local vs @reboot

17 października, 2015 | Brak Komentarzy | Kategoria: Linux, Porady

Auto-startTym razem chciałem przedstawić krótki i treściwy wpis na temat uruchamiana aplikacji w trakcie startu serwerowego systemu operacyjnego. Sprawa dotyczy mojego ulubionego Debiana. Właściwie najabardziej elegancką i zgodną z regułami metodą jest umieszczenie skryptu startowego w katalogu /etc/init.d/, nadanie mu praw wykonywalnych i wywołanie polecenia:

 

 

update-rc.d nasz_skrypt defaults 99

Niemniej z różnych przyczyn nie zawsze się to udaje. Trzeba podejść do tematu inaczej. Od razu zaznaczam, że poniższe metody, jakkolwiek spełniające swój cel, są po prostu bardzo nieeleganckie i nie świadczą najlepiej o umiejętnościach administratora. Czasami jednak trzeba się ugiąć – chociażby pod presją czasu.

Druga metoda polega na dopisaniu skryptu do pliku /etc/rc.local. Generalnie tym sposobem można rozwiązać dużo problemów ale osobiście stosuje go tylko doraźnie. Polecam to jako rozwiązanie tymczasowe.

Trzecia metoda, kiedy zawiodą dwie poprzednie, to umieszczenie skryptu startowego w cronie systemowym dla konta root. Wywołujemy go poleceniem:

crontab -e

a następnie na końcu pliku dopisujemy linijkę:

@reboot /ścieżka_dostępu/nasz_skrypt

Od tego momentu, za każdym razem podczas uruchamiania się systemu, automatycznie będzie wykonywał się skrypt. Mało elegancko ale skutecznie.

MG

Tagi: , , , ,

Jak zmienić UID i GID w Linuxie

19 września, 2015 | Brak Komentarzy | Kategoria: Linux, Porady

TerminalPrzenoszenie kont użytkowników między serwerami Debian jest czynnością prostą i bezpieczną. W zasadzie wystarczy wykonać 3 podstawowe czynności:

  1. Skopiować odpowiednie grupy z pliku /etc/group.
  2. Skopiować odpowiednich użytkowników z pliku /etc/passwd.
  3. Skopiować hasła powyższych użytkowników z pliku /etc/shadow.

Wymienione pliku są tekstowe zatem sprawdzi się metoda copy-paste. Oczywiście na koniec trzeba skopiować katalogi domowe użytkowników (np. używając tar z opcjami cvzf) a potem rozpakować na serwerze docelowym (tar xvzf). Jeśli ktoś woli można skorzystać z synchronizacji między serwerami za pomocą rsync.

Problem może pojawić się wtedy kiedy na docelowym serwerze istnieją już konta posiadające identyfikatory systemowe UID (user ID) i GID (group ID) i nie możemy wprost kopiować linii plików konfiguracyjnych aby uniknąć sytuacji, w której np. dwa konta posiadają ten sam UID. Wówczas przed kopiowaniem trzeba zmienić UID i GID na serwerze źródłowym. Czy jest to proste? Jak wszystko w Linuxie… Poniżej zamieszczam polecenia pozwalające przygotować się do całego procesu:

usermod -u <NowyUID> <Login> 
groupmod -g <NowyGID> <Grupa>
find / -user <StaryUID> -exec chown -h <NowyUID> {} \;
find / -group <StaryGID> -exec chgrp -h <NowyGID> {} \;
usermod -g <NowyGID> <Login>

MG

Tagi: , ,

ssl error weak server ephemeral dh key

15 sierpnia, 2015 | Brak Komentarzy | Kategoria: Linux, Porady, Windows

FirefoxOd miesiąca, po zainstalowaniu najnowszej aktualizacji przeglądarki Firefox można napotkać błąd połączenia z niektórymi szyfrowanymi stronami (chodzi o protokół HTTPS):

ssl error weak server ephemeral dh key

W dużym skrócie wynika to stąd, że pojawiła się nowa metoda ataku o nazwie Logjam, która wymusza zmiane długości klucza szyfrującego do 512 bitów (w miejsce np. 2048). Jak powszechnie wiadomo osłabia to znacząco odporność szyfrowanego kanału transmisji. Autorzy Firefoxa słusznie postanowili wzmocnić swoją przeglądarkę uniemożliwiając połączenie ze serwerami podatnymi na taki mechanizm. Z jednej strony jest to rozsądne działanie ale z drugiej co mają zrobić np. użytkownicy domowych urządzeń sieciowych zarządzanych przez HTTPS. O ile w przypadku serwerów zawsze można liczyć na administratorów o tyle domowy router wcale nie musi dostać wsparcia od producenta w postaci nowego firmware’u. Można wybrać inną przeglądarke ale myślę, że za miesiąc pozostałe również zablokują wspomniane połączenia. Okazuje się jednak, że w Firefoxie można wyłączyć to zabezpieczenie. Nie namawiam nikogo aby robił to na stałe. Poniższe kroki proponuję stosować wyłącznie tymczasowo np. aby skonfigurować swój router domowy:

  • Jako adres w Firefoxie podajemy „about:config”
  • Wyszukujemy paramter „security.ssl3.dhe_rsa_aes_128_sha” i ustawiamy jego wartość na „false”
  • Wyszukujemy parametr „security.ssl3.dhe_rsa_aes_256_sha” i ustawiamy jego wartość na „false”

Pamiętajmy jednak o tym, żeby na koniec przywrócić wartość „true” dla wspomnianych parametrów po zakończeniu konfiguracji przykładowego routera.

MG

Tagi: , ,

Ninite Pro w trybie offline

18 lipca, 2015 | Brak Komentarzy | Kategoria: Porady, Windows

InstalacjaAdministratorzy średnich i dużych domen Windows często muszą radzić sobie z problemem hurtowej instalacji oprogramowania na wielu końcówkach w sieci. Rozwiązania wbudowane w serwer Windows, wykorzystujące mechanizmy GPO oraz instalatory MSI nie są szczególnie wygodne. Zewnętrzne narzędzia, z których mogę polecić PDQ Deploy, są bardzo rozbudowane i nieprzejrzyste dla początkującego. Jednak od kilku lat na popularności zyskuje bardzo prosty program do instalacji o nazwie Ninite. W wersji płatnej (20 USD miesięcznie za sieć do 100 końcówek) oferuje rozbudowaną linię poleceń i dykretną instalacje silent installation, która przebiega w tle. Można zatem, uruchamiając instalator w trybie zdalnym remote install bardzo szybko aktualizować komputery bez niepokojenia użytkowników.

Ważną funkcją, która nie jest widoczna na pierwszy rzut oka jest możliwość przygotowania pliku instalacji offline korzystając z opcji freeze. Możemy przygotować w ten sposób paczkę wykonywalną EXE, którą kopiujemy np. na pendrive. Tak uzbrojony serwisant, technik czy administrator jest w stanie zaktualizować każdy komputer bez dostępu do sieci Internet! Poniżej zamieszczam postać polecenia:

NinitePro.exe /freeze /select "7-Zip" Instalator7zipOffline.exe

W przykładzie użyłem opcji select, która pozwala wybrać programy dla paczki offline. Pełną listę dostępnych aplikacji można znaleźć tutaj.

MG

Tagi: , ,

Pomiar jakości usług – PingPlotter

20 czerwca, 2015 | Brak Komentarzy | Kategoria: Porady, Windows

NarzędziaJak wspomniałem w poprzednim wpisie, chciałbym napisać krótko jak można ocenić jakość usługi jaką niewątpliwie jest nasz domowy Internet. Oczywiście zawsze możemy skorzystać z szerokiej oferty dostępnych stron internetowych, które pozwolą szybko dowiedzieć się jaka jest na przykład szybkość naszego łącza. Przykładów jest wiele. Sam, żeby na szybko sprawdzić co w trawie piszczy korzystam z serwisu speedof.me. Ważne jest jednak aby technologia wykorzystana do budowy takiej strony sama nie wpływała na pomiar. Poza tym zawsze powinniśmy mieć możliwość zmierzenia:

  • opóźnień (najczęściej za pomocą pomiaru RTT – Round Trip Time)
  • szybkości wysyłania
  • szybkości pobierania danych

Bardzo ważne jest aby serwis testujący wyraźnie określał z jakim serwerem testowym będziemy się łączyć. Inaczej będzie wyglądał pomiar do serwera stojącego, dajmy na to w Krakowie a inaczej do takiego z Nowego Jorku. Można temat analizować bardziej szczegółowo ale moim zamiarem jest przedstawienie narzędzi, które każdy użytkownik może sam zainstalować na swoim komputerze a co ważniejsze, które pozwolą ustalić przyczyny słabej jakości usługi.

Pierwszym w cyklu jest program dla środowiska Windows o nazwie PingPlotter. W wersji demo będzie działał 30 dni a to wystarczająco dużo aby sprawdzić jakość naszego łącza. Tradycyjnie już nie chcę opisywać jak instalować i używać tej aplikacji. To może zrobić każdy sam. Chciałbym natomiast zwrócić uwagę na jej cechy szczególne, które powodują, że jest w pewnym sensie wyjątkowa.

PingPlotter, jak sama nazwa wskazuje, wykonuje pomiar przy pomocy protokółu ICMP. Innymi słowy pozwala zmierzyć czas podróży pakietu ICMP do wybranego węzła (serwera, komputera, ogólnie – hosta) i z powrotem (wspomniany wcześniej RTT). To trywialne zadanie można również wykonać przy pomocy wbudowanego w system programu o nazwie ping.exe. Niemniej PingPlotter daje nam więcej. Dzięki niemu możemy na bieżąco śledzić stan łącza przez dłuższy czas. W połączeniu z wizualizacją pomiarów (rysunek poniżej)

PingPlotter

pozwoli zobaczyć gdzie znajdują się potencjalne wąskie gardła w naszym połączeniu. Analiza staje się tym ciekawsza im dłużej będziemy obserwować stan łącza. Przykładowy pomiar całodobowy pozwoli wychwycić artefakty, które są kompletnie niedostrzegalne przy jednorazowym sprawdzeniu czy wybrany serwer odpowiada. Zachęcam do zabawy z tym narzędziem.

MG

Tagi: , ,

Wymiana dysku na SSD

18 kwietnia, 2015 | Brak Komentarzy | Kategoria: Linux, Porady, Windows

SSDJeszcze dwa lata temu zastanawiałem się czy całkowite zrezygnowanie z tradycyjnych dysków na rzecz SSD w moim laptopie będzie dobrym krokiem. Znajomi głównie straszyli wielką katastrofą, utratą danych spowodowaną przez niesprawdzoną technologię. Minęło sporo czasu i okazało się, że technologia ma się całkiem dobrze, nie ma spektakularnych katastrof a w nowym sprzęcie zaczynają się pojawiać wyłącznie dyski SSD. Dlatego zdecydowałem się na wymiane dysku. Generalnie rzecz biorąc jest to dość droga operacja. Nie ma się co oszukiwać ceny są jeszcze wysokie. Niemniej postanowiłem zmienić HDD 750 GB na SSD 512 GB. Producent dostarczył wraz z dyskiem specjalną wersję Acronis TrueImage, która miała uczynić cały proces bezbolesnym. Miała, gdyż nie przewidziano, że można mieć 2 systemy operacyjne (Ubuntu, Windows 7) oraz 6 partycji różnego typu (NTFS, EXT3, EXT4). Efekt był taki, że po sklonowaniu dysku nic nie działało prawidłowo. Pobieżne przejrzenie materiałów w sieci utwierdziło mnie w przekonaniu, że są duże problemy z takimi operacjami. Niemniej postanowiłem spróbować starej i sprawdzonej przeze mnie wielokrotnie metody. W tym celu potrzebowałem jedynie SystemRescueCD (http://www.sysresccd.org/SystemRescueCd_Homepage), drugiego kabla SATA (żeby podłączyć dwa dyski na raz) oraz trochę spokoju.

SystemRescueCD zawiera wszystkie potrzebne narzędzia a przede wszystkim GParted (http://gparted.sourceforge.net/), który jest bardzo łatwy w użyciu i pozwala skopiować całe partycje na nowy dysk wraz ze zmianą ich rozmiaru. Należy pamiętać, żeby odwzorować flagę partycji startowej za pomocą menu edycji partycji (opcja 'Manage flags on …’). Druga bardzo ważna czynność to skopiowanie MBR. W tym przypadku należy skorzystać z polecenia:

 dd if=/dev/sdX of=plik_mbr.img bs=512 count=1

które zapisze zawartość MBR dysku klonowanego w pliku 'plik_mbr.img’. Przy odtwarzaniu MBR na nowym dysku musimy pamiętać, że jeżeli zmienialiśmy rozmiary partycji (tak jak w opisywanym przypadku) to powinniśmy użyć polecenia:

dd if=plik_mbr.img of=/dev/sdX bs=446 count=1

w przeciwnym razie możemy odtworzyć cały obszar:

dd if=plik_mbr.img of=/dev/sdX bs=512 count=1

I w zasadzie to wszystko. Opisana metoda działa niezawodnie a co ważniejsze pozwala cieszyć się zauważalnym wzrostem wydajności naszego komputera.

MG

Tagi: , ,

BulletProof Security

21 marca, 2015 | Brak Komentarzy | Kategoria: Linux, Porady, Windows

WordPressZabezpieczanie stron zbudowanych w oparciu o platforme WordPress jest czynnością, która powinna wejść w nawyk każdemu autorowi. Dotyczy to zresztą nie tylko WordPressa ale również Joomli i Drupala. Wiem, że jednym z głównych argumentów za wyższością dwóch ostatnich CMS-ów jest ich większe bezpieczeństwo ale nie ma co zaprzeczać, że ostatnio WordPress stał się bardzo popularny i stale powiększa się grono jego użytkowników. Poza tym nie ma co się oszukiwać bo stara prawda głosi, że każdy system jest tak bezpieczny jak jego administrator. Zatem krótko i na temat – jeżeli nie jesteś super administratorem, nie chesz zajmować się konfiguracją plików .htaccess, chcesz po prostu komfortowo, bez zbędnych problemów prowadzić bloga lub po prostu swoją stronę www, to jako jedną z pierwszych zainstaluj wtyczkę BulletProof Security. Nie ma ona może zbyt przyjaznego interfejsu i wymaga poświęcenia około 30 minut na konfigurację ale każda z nich to bardzo dobrze spędzony czas! Nie będę dalej opisywał jej możliwości bo przecież każdy może to sprawdzić sam. A na prawdę warto.

Tagi: , , ,

Tryb on line w Outlook 2010 dla udostępnionych skrzynek

21 lutego, 2015 | Brak Komentarzy | Kategoria: Porady, Windows

OutlookUdostępnianie skrzynek pocztowych za pomocą serwera MS Exchange jest jedną z najczęściej wykorzystywanych funkcji. Umożliwia wygodny wgląd w zawartość czyjejś poczty np. podczas zastępstwa lub nieobecności. W kliencie MS Outlook 2010 skrzynka udostępniana pojawia się na liście zasobów wystarczy zatem wybrać ją aby wyświetlić zawartość. W tym momencie mogą pojawić się problemy z synchronizacją. Outlook 2010 domyślnie bufforuje (tryb cache) zawartość dołączanych skrzynek co oznacza, że będzie starał się pobrać ich zawartość na dysk lokalny. Nietrudno jest sobie wyobrazić, że przy skrzynce dużych rozmiarów oraz niewydajnym łączu proces taki może trwać niemal bez końca. W poprzednich wersjach Outlooka domyślnym trybem działania był tryb bez buforowania (on line). Na szczęście istnieją sposoby za pomocą, których można przyrócić tą funkcję. Jednym z najszybszych jest zmodyfikowanie rejestru systemowego:

  • Zamykamy Outlook.
  • Z menu start uruchamiamy edytor rejestru: regdit.exe.
  • Wyszukujemy i wybieramy następujący klucz:
    HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Cached Mode
    jeśli nie ma klucza Cached Mode to należy go utworzyć.
  • W menu Edytuj wskazujemy opcje Nowy i wybieramy wartość DWORD.
  • Podajemy nazwę CacheOthersMail i zatwierdzamy wciskając ENTER.
  • Z menu Edytuj wybieramy opcję Modyfikuj i wpisujemy wartość 0.
  • Zamykamy edytor rejestru.
  • Uruchamiamy Outlook.

Od tego momentu wszystkie udostępnione szkrzynki pocztowe będą działać w trybie on line. Trzeba jednak pamiętać, że oznacza to, że aby przejrzeć ich zawartość konieczne jest połączenie z serwerem MS Exchange. Cóż, coś za coś.

MG

Tagi: , , ,

WordPress – włamanie w celu rozsyłania spamu (Apache+PHP+Postfix)

17 stycznia, 2015 | Brak Komentarzy | Kategoria: Linux, Porady

HackerWordPress jako bardzo popularne narzędzie jest często obiektem ataków w celu przejęcia zawartości strony. Podmiana treści serwisu przez hackera jest widocznym skutkiem złamania zabezpieczeń. Sama w sobie nie jest jednak tak groźna jak np. wykorzystanie naszego serwera do rozsyłania spamu (co może spowodować umieszczenie go na czarnych listach). Najczęściej atakujący starają się umieścić w strukturze katalogów serwisu przygotowane skrypty PHP (w formie plików), które następnie wykorzystują do wysyłania maili. Co zrobić, żeby zabezpieczyć się przed tą formą ataku?

Przede wszystkim konieczne jest wykonanie 2 czynności: (a) ograniczenie zainstalowanych motywów do niezbędnego minimum oraz (b) usunięcie wszystkich zbędnych wtyczek (bywają takie, które z powodu słabej jakości kodu umożliwiają natychmiastowy dostęp do serwera). Kolejną rzeczą jest uniemożliwienie przesłania spreparowanego zapytania do naszego serwera. Absolutnym minimum jest przygotowanie pliku .htaccess z odpowiednimi regułami. Jeśli chcemu pójść na skróty można skorzystać ze zbioru gotowych reguł: http://perishablepress.com/5g-blacklist-2013/. W zasadzie dzięki tym dwóm prostym krokom uzyskamy przynajmniej minimalny poziom zabezpieczeń strony w WordPressie. Dodam jeszce, że na końcu .httaccess można  dopisać linijkę

RewriteRule ^(php\.ini|\.htaccess) - [NC,F]

która zabezpieczy nas przed modyfikacją zawartości plików index.php i właśnie .htaccess co z kolei uniemożliwi np. przekierowanie wywołań naszej strony na inny serwer www.

Jednak w jaki sposób powstrzymać doraźnie atak na nasz serwer (jeśli już doszło do niego). Przy założeniu, że korzystamy z domyślnej konfiguracji Apache trzeba zatrzymać wysyłanie poczty z konta www-data. Edytujemy plik /etc/postfix/main.cf i dodajemy na końcu wiersz

authorized_submit_users = !www-data, static:all

Natstępnie wczytujemy nową konfiguracje serwera poczty:

/etc/init.d/postfix reload

Teraz musimy wyczyścić kolejkę maili oczekujących na nadanie:

postsuper -d ALL

Przechodzimy do najbardziej monotonnej częsci całego procesu. Edytujemy plik /etc/php5/apache2/php.ini, żeby znaleźć (i odkomentować lub zmienić na postać przedstawioną poniżej) fragment:

mail.add_x_header = On
mail.log = /var/log/phpmail.log

Pierwsza spowoduje dodanie nagłówka do wszystkich maili nadawanych z wykorzystaniem PHP a druga włączy logowanie informacji na ten temat (do pliku /var/log/phpmail.log). Teraz pozostaje nam żmudne przeglądanie pliku z logami w celu śledzenia historii ataku oraz usuwania niepożądanych plików (zawierających np. skrypty PHP), które są wykorzystywane do rozsyłania spamu.

MG

Tagi: , , , ,

rsync czyli kopie szybko i bezproblemowo

20 grudnia, 2014 | Brak Komentarzy | Kategoria: Linux, Porady

Kopia dyskursync to narzędzie dobrze znane i szeroko stosowane. Ten niezwykle wygodny w użyciu program pozwala na synchronizowanie zawartości między zasobami w niezawodny sposób. Dzięki kopiowaniu bloków informacji w miejsce całych jednostek np. plików, algorytm kopiowania jest bardzo szybki. Dodatkowo rsync sprawdza się na zawodnych łaczach, gdzie dostępne pasmo potrafi spaść nagle do kilku kb/s. Nie ukrywam, że jest to moja ulubiona metoda tworzenia kopii dlatego chciałem pokazać jak szybko przygotować rsync dla dwóch serwerów w środowisku Debian Linux. Jeden niech będzie serwerem produkcyjnym, drugi zaś serwerem kopii.

Zaczynamy od instalacji aplikacji na obu komputerach:

apt-get install rsync

Następnie tworzymy specjalne konto na serwerze kopii:

adduser zapasowe

Kolejnym krokiem jest wygenerowanie certyfikatu na serwerze produkcyjnym i skopiowanie go na serwer kopii:

ssh-keygen -t dsa
ssh-copy-id -i .ssh/id_dsa.pub zapasowe@serwer_kopii

Możecie wierzyc lub nie ale to już prawie wszystko! Teraz wystarczy wywołanie polecenia na serwerze produkcyjnym:

rsync -aogrvzP --delete -e ssh /wazne zapasowe@serwer_kopii:kopie

Spowoduje ono utworzenie dokładnej kopii zawartości katalogu wazne na serwerze kopii w katalogu kopie. Prosto i skutecznie. Aha, powyższe polecenie możemy umieścić w pliku crontab, automatyzując tym samym cały proces.

MG

Tagi: , , ,