Bądź na bieżąco - RSS

Obsługa UPS Smart-UPS SC1000 w Debian Squeeze

3 listopada, 2012 | Brak Komentarzy | Kategoria: Linux, Porady

Dawno już minęły czasy, kiedy praktycznie każdy UPS firmy APC, obecnie APC Schneider, można było obsłużyć za pomocą linuksowego daemona apcupsd. Na stronie jego autorów można znaleźć ostrzeżenie przed kupowaniem modeli SmartUPS SMX/SMT 750, 1000, 1500, czy SmartUPS RT 3000XL, 5000XL. Niestety padłem ofiarą takiego zakupu i duże było moje zdziwienie, że nic nie działa jak powinno. Ponieważ miałem możliwość wymiany urządzenia, to zamówiłem nowy, inny model. Tym razem zażyczyłem sobie żeby był obsługiwany przez apcupsd. Po paru dniach dotarł UPS Smart-UPS SC1000. Zabrałem się szybko za instalacje i okazało się, że znowu jest problem. Serwer nie miał portu szeregowego, zaś UPS zamiast kabla USB został wyposażony w adapter Profilic USB-to-serial. Mając na pokładzie Debiana Squeeze zacząłem zmagać się z adapterem. Moduł obsługi został dołączony do standardowego jądra, jednak UPS nadal pozostawał ślepy i głuchy. Po kilku godzinach szukania rozwiązania, trafiłem na strony Ubuntu Forum, gdzie udało mi się znaleźć pozyteczne informacje i przygotować działające, choć może niezbyt eleganckie rozwiązanie.

Po pierwsze – modyfikujemy skrypt startowy ’/etc/init.d/apcupsd’, dodając między wierszem:

case "$1" in
  start)
    echo -n "Starting $DESC: "

a wierszem:

rm -f /etc/apcupsd/powerfail

następujący kod:

if [ ! -d /dev/usb-tty ]
then
mkdir -p /dev/usb-tty
fi

mknod /dev/usb-tty/ttyUSB0 c 188 0
mknod /dev/usb-tty/ttyUSB1 c 188 1
mknod /dev/usb-tty/ttyUSB2 c 188 2
mknod /dev/usb-tty/ttyUSB3 c 188 3
mknod /dev/usb-tty/ttyUSB4 c 188 4
mknod /dev/usb-tty/ttyUSB5 c 188 5
mknod /dev/usb-tty/ttyUSB6 c 188 6
mknod /dev/usb-tty/ttyUSB7 c 188 7
mknod /dev/usb-tty/ttyUSB8 c 188 8
mknod /dev/usb-tty/ttyUSB9 c 188 9
mknod /dev/usb-tty/ttyUSB10 c 188 10
mknod /dev/usb-tty/ttyUSB11 c 188 11
mknod /dev/usb-tty/ttyUSB12 c 188 12
mknod /dev/usb-tty/ttyUSB13 c 188 13
mknod /dev/usb-tty/ttyUSB14 c 188 14
mknod /dev/usb-tty/ttyUSB15 c 188 15

Po drugie – edytujemy plik ’/etc/apcupsd/apcupsd.conf’ i definiujemu następujące parametry:

UPSCABLE smart
UPSTYPE apcsmart
DEVICE /dev/usb-tty/ttyUSB0

Ostania linijkę powinniśmy zmodyfikować w zależności od portu, do którego podłączyliśmy UPS. Po restarcie daemona apcupsd:

/etc/init.d/apcupsd stop
/etc/init.d/apcupsd start

nasz UPS, po wpisaniu polecenia:

/etc/init.d/apcupsd status

powinien odezwać się dobrze znanym komunikatem.

MG

Tagi: , , ,

Automatyczne przesyłanie zawartości skrzynki pocztowej na inne konto z wykorzystaniem Mutt

4 sierpnia, 2012 | Brak Komentarzy | Kategoria: Linux, Porady

Jakiś czas temu spotkałem się z sytuacją, w której znajomy posiadający konto poczty elektronicznej na linuksowym serwerze chciał wszystkie wiadomości przesłać jednym poleceniem na nowe konto na serwerze MS Exchange. Wiem, dla niektórych to mocno niewłaściwy kierunek ale zostałem poproszony o pomoc. Konfiguracja serwerów uniemożliwiała bezpośredni import danych. Pozostały zatem jedynie różne mniej lub bardziej udane obejścia. Długo myślałem rozważając różne możliwości i ponieważ jestem zadeklarowanym zwolennikiem terminala oraz Mutta, postanowiłem wygorzystać jego funkcje. Przyznam, że nie wiedziałem czy jest to wogóle możliwe ale Mutt po raz kolejny pozytwnie mnie zaskoczył.

Po uruchomieniu Mutta z linii poleceń:

mutt -f /path/to/mboxfile

możemy przystąpić od razu do działania. Wykorzystujemy następującą sekwencje klawiszy:

[T][.][enter]

zaznaczając wszystkie wiadomości w skrzynce. Następnie kontynuujemy:

[;][b]

i podajemy adres e-mail, na który chcemy przesłać wiadomości. Po zatwierdzeniu:

[enter]

Mutt prześle wszystkie wiadomości na nowe konto.

Nie ma rzeczy doskonałych. Dlatego i w tym przypadku trzeba wspomnieć, że wiadomości zostaną przekazane na nowe konto z tą samą datą. Jednak nasze cenne dane zostaną skopiowane i zachowane.

MG

Tagi: , , ,

Jednorazowe korzystanie z Proxy podczas aktualizacji

2 czerwca, 2012 | Brak Komentarzy | Kategoria: Bez kategorii, Linux, Porady

Jednym z wielu zadań należących do administratora systemu Linux Debian jest wykonywanie aktualizacji. Funkcjonuje nawet anegdota, że użytkownika Debiana można rozpoznać po tym, iż każdy dzień rozpoczyna od komendy:

apt-get update

Tak czy inaczej czasami zdarza się, że aktualizacje ciągną się w nieskończoność a szybkość połączenia pozostawia wiele do życzenia. Nie są to niestety sporadyczne przypadki. Dodatkowo jeżeli mamy do czynienia z kilkoma serwerami w sieci, które powinniśmy zaktualizować sytuacja może być irytująca. Rozwiązaniem w tym przypadku jest serwer proxy. Co zrobić jednak, gdy chcemy z niego skorzystać tylko jednorazowo na czas aktualizacji? Rozwiązanie jest bardzo proste i wymaga jedynie dostępu do konsoli. Wydajemy polecenie:

http_proxy='http://adres_serwera_proxy:port'

co pozwoli nam na wykorzystanie proxy ad-hoc bez rekonfiguracji ustawień systemowych.

MG

 

Tagi: , ,

Jak dodać obsługę SVN do XAMPPa

7 kwietnia, 2012 | Brak Komentarzy | Kategoria: Bez kategorii, Linux, Porady

XAMPP jest bardzo wygodnym zestawem typu Apache+PHP+MySQL. Moim zdaniem jego przewaga nad podobnymi rozwiązaniami wynika z dopracowanego projektu oraz możliwości instalacji przez rozpakowanie archiwum do katalogu '/opt’. Wykonywanie kopii zapasowych oraz przenoszenie całego serwisu z serwera na serwer jest również bardzo proste, wystarczy bowiem zatrzymać usługę, zrobić kopię (np. za pomocą tar) i przenieść na inny komputer.

XAMPP nie jest jednak pozbawiony drobnych wad. Jedną z nich jest brak wbudowanej obsługi systemu kontroli wersji SVN. Taka właściwość jest bardzo przydatna jeśli chcemy utworzyć np. repozytorium dokumentów za pomocą WebDAV (odpowiedni moduł jest standardowo wbudowany w XAMPP).

Instalację SVN zaczynamy od instalacji odpowiednich pakietów z repozytorium:

apt-get install subversion libapache2-svn

Następnie przygotowywujemy katalog dla repozytorium SVN np. '/var/svn’:

mkdir /var/svn/

Zakładamy pzrykładowy projekt o nazwie test:

svnadmin create --fs-type fsfs /var/svn/test

Potem dodajemy użytkownika (np. marcin) z uprawnieniami do naszego projektu. Dwa pierwsze wiersze kodu poniżej wykonujemy jednorazowo:

rm -f /var/svn/test/conf/passwd
touch /var/svn/test/conf/passwd
htpasswd /var/svn/test/conf/passwd marcin

Tworzymy grupę subversion i ustawiamy uprawnienia dla katalogu '/svn’:

groupadd subversion
chmod -R 777 /var/svn/*

Żeby XAMPP mógł obsłużyć SVN konieczne są dwie biblioteki mod_authz_svn.so oraz mod_dav_svn.so. Możemy je np. skopiować z katalogu Apache, pod warunkiem, że zainstalowaliśmy wcześniej pakiet apache2:

cp /usr/lib/apache2/modules/mod_authz_svn.so /opt/lampp/modules/
cp /usr/lib/apache2/modules/mod_dav_svn.so /opt/lampp/modules/

Teraz możemy wyedytować plik '/opt/lampp/etc/httpd.conf”, żeby najpierw pod linią zawierającą wpis LoadModule ssl_module modules/mod_ssl.so umieścić fragment:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

a następnie na końcu pliku dodać:

# Subversion repositories

<Location /test>
DAV svn
SVNPath /var/svn/test
AuthType Basic
AuthName “Subversion Repository”
AuthUserFile /var/svn/test/conf/passwd
Require valid-user
SSLRequireSSL
</Location>

Po zatrzymaniu i ponownym uruchomieniu XAMPPa, możemy rozpocząć testowanie opisanego rozwiązania.

MG

Tagi: , ,

NOCC – następca Webimiau

4 lutego, 2012 | Brak Komentarzy | Kategoria: Linux

Posiadanie własnego systemu webmail lub inaczej mówiąc klienta poczty zainstalowanego na serwerze WWW jest z wielu powodów przydatną rzeczą. Rzecz jasna mamy wiele gotowych rozwiązań takich jak Gmail czy Yahoo Mail lub OWA dla posiadaczy serwera MS Exchange. Jeśli jednak chcemy przygotować rozwiązanie wyłącznie dla swoich (lub firmy) potrzeb i nie chcemy poświęcać dużo czasu na jego konfigurację a mamy już zainstalowany serwer protokołu POP3 lub IMAP to znalezienie dobrego, lekkiego rozwiązania, które w dodatku może zostać zainstalowane praktycznie wszędzie (nie tylko na serwerze poczty jak np. SquirrelMail) staje się małym wyzwaniem.

Moim ulubioną aplikacją do tej pory był Uebimiau. Niestety wydaje się, że projekt został porzucony lub przynajmniej nie jest rozwijany. A szkoda, bowiem był na prawdę prosty w konfiguracji i oferował elegancki interfejs (co dla mnie jest ważne).

Za jego następcę, biorąc pod uwagę łatwość i szybkość wdrożenia, można obecnie uznać projekt NOCC. Ta ciągle rozwijająca się aplikacja posiada minimalne wymagania. W zasadzie wystarczy serwer WWW np. Apache z zainstalowanym PHP w wersji 5.0.0 lub nowszej. Baza danych nie jest potrzebna w tym przypadku. Trochę surowy interfejs całkowicie rekompensuje konfiguracja za pomocą pliku 'config/conf.php’, która została przejrzyście udokumentowana. Jedyny błąd jaki znalazłem związany był z nieprawidłowym spolsczeniem interfejsu. Usterkę tą można łatwo naprawić usuwając z pliku 'config/conf_lang.php’ poniższą sekcję:

// Pashto
$lang_array[$i] = new lang();
$lang_array[$i]->filename = 'ps';
$lang_array[$i]->label = 'پښتو';

 

Podobno błąd dotyczy wersji 1.9.1, jednak w poprzednich wersjach również występuje (co osobiście sprawdziłem).

MG

Tagi: , ,

Czarna lista z adresami podsieci IP

7 stycznia, 2012 | Brak Komentarzy | Kategoria: Linux, Porady

Administratorzy mający w zwyczaju codzienne przeglądanie logów systemowych, bezpośrednio lub za pomocą np. logcheck, na pewno niejednokrotnie znajdują ślady działalności tzw. script-kiddies. Nie są to być może groźne próby włamania się przez usługę systemową z otwartym portem (zazwyczaj typu brute-force) ale na pewno niepotrzebnie obciążają zasoby serwera. Osobiście myślę, że warto postarać się aby źródła takich ataków zostały wpisane na czarną listę, która może zostać obsłużona przez iptables. W wersji bardziej przyjaznej to samo można osiągnąć za pomocą nakładki np. Shorewall. Może warto od razu rozważyć blokadę całej podsieci IP w miejsce pojedynczego adresu.

W sieci, pod adresem https://www.dan.me.uk/ipinfo dostępny jest serwis umożliwiający precyzyjne wyznaczenie podsieci IP dla każdego podanego adresu. Możemy sprawdzić 24 adresy dziennie. Nie jest to specjalnie dużo ale w większości przypadków wystarczy do zbudowania czarnej listy.

Informacje możemy uzyskać ręcznie, bądź cały proces nieco zautomatyzować pisząc skrypt, który doda wpisy do naszej listy. Przykładowa komenda odpytująca wspomniany serwis 'IP Information Tool’ może mieć postać:

wget -qO- https://www.dan.me.uk/ipinfo?ip=badany_adres_IP | →
→ grep -E "IP-Prefix:|IP-Country:"

Np. dla adresu 212.77.100.101 (www.wp.pl) otrzymamy odpowiedź:

IP-Prefix: 212.77.100.0/24
IP-Country: Poland

 

Druga, być może nie zawsze potrzebna, linijka wskazuje na kraj, z którego pochodzi atak (bądź na lokalizacje sewera proxy jeśli atakujący jest odrobinę bardziej rozgarnięty)
🙂

MG

Tagi: ,

Kopie zapasowe za pomocą rsync dla Windows – aktualizacja

3 grudnia, 2011 | Brak Komentarzy | Kategoria: Linux, Porady, Windows

Dokładnie 2 lata temu napisałem artykuł na temat kopii zapasowych za pomocą portu rsync dla Windows. 2 miesiące temu temat powrócił, jednak tym razem w roli głównej wystąpił Windows 2008 R2 Server. Co prawda posiada on bardzo rozbudowaną obsługę kopii zapasowych – na prawdę można przekonać się, że wiele poprawiono – aplikacja jest wygodna i niezawodna. Niemniej występują w niej niedogodności we współpracy z dyskami sieciowymi. Dla hostów windowsowych należących do Active Directory wszystko działa prawidłowo. Jednak zrzucenie kopii zapasowej na dysk udostępniony przez komputer z Linuxem (np. via SMB) stwarza problemy (szwankuje autoryzacja).

Nie pozostaje nic innego jak skorzstać ze starego, dobrego rsynca! Znalazłem w sieci bardzo dobry i stabilny port o nazwie DeltaCopy. Instalacja jest przyjemna i dość szczegółowo opisana na stronie autora. Program można uruchomić również w trybie bez instalacji. Posiada tryb usługi windows. W zasadzie jedyna rzecz, o której warto pamiętać to uprawnienia z jakimi uruchamiamy DeltaCopy w trybie usługi systemowej. Gdy zostaniemy zapytani podczas instalacji o konto i hasło dla użytkownika programu należy pozostawić puste pola. Następnie przechodzimy do widoku usług systemowych (przez Mendżer Serwera) i ustawiamy właściwości dla usługi DeltaCopy. W zakładce Logowanie należy wybrać opcję Lokalne konto systemowe.

W ten sposób otrzymujemy gotowy do użytku serwer rsync dla Windows. Należy jeszcze tylko pamiętać o otworzeniu portu 873 w Regułach przychodzących systemowego firewalla.

Ze strony komputera z Linuxem sprawa jest jeszcze prostsza (zakładam, że rsync został już zainstalowany). Przykładowe polecenie wykonujące kopie zapasową będzie miało postać:

rsync -arvz serwer.windows.2008r2::nazwa_udziału_rsync/ →
→ /sciezka_dostepu_do_katalogu_kopii_zapasowych/nazwa_kopii_zapasowej/

Dla wygody umieszczamy powyższą komendę w crontabie i możemy spać spokojnie… dopóki coś zowu się nie popsuje.

MG

Tagi: , ,

Mozilla Thunderbird – filtry antyspamowe

3 września, 2011 | Brak Komentarzy | Kategoria: Linux, Porady, Windows

Pomimo coraz bardziej zaawansowanych algorytmów filtrowania wiadomości zawierających, spam problem zasypywania naszych skrzynek pocztowych niechcianą pocztą jest ciągle aktualny. Ostatnio zetknąłem się z dość szczególnym zachowaniem użytkowników Mozilla Thunderbird. Aplikacja została wyposażona w dosyć dobre filtry antyspamowe. Nie ma sensu opisywanie w tym miejscu jak je włączyć i odpowiednio skonfigurować. Wystarczy skorzystać z Mozilla Zine, gdzie można znaleźć bardzo szczegółowe informacje na ten temat. Wracając do tematu, zauważyłem, że bardzo często użytkownicy z włączonymi filtrami po prostu nie uczą algorytmu co powoduje, że spam nie jest prawidłowo oznaczany i usuwany. W większości przypadków usuwają wiadomości zamiast oznaczyć je jako niechciane. Ponieważ Thunderbird wykorzystuje filtry Bayesa konieczne jest uczenie algorytmu co jest spamem a co nie. Z każdą kolejną iteracją czas poświęcany na naukę filtru skraca się znacząco. W praktyce po kilku dniach nie trzeba już wogóle ingerować w algorytm. Jednak co zrobić gdy mamy do czynienia z wyjątkowo opornym użytkownikiem, który twierdzi, że nie ma na to czasu (wbrew pozorom dosyć częsty przypadek:)? Wystarczy znaleźć użytkownika, który zakończył uczenie filtrów i przegrać od niego plik z danymi treningowymi. Wspomniany plik znajduje się w głównym katalogu profilu Mozlilli Thunderbird  i nosi nazwe training.dat. Teraz wystarczy podmienić wyżej wymieniony plik u użytkownika docelowego. W ten sposób filtr antyspamowy zacznie działać praktycznie od razu. Nie muszę dodawać, że im większy rozmiar  training.dat tym lepiej.

MG

Tagi: ,

Termometr IP dla ochrony serwerowni

6 sierpnia, 2011 | Brak Komentarzy | Kategoria: Linux, Porady, Windows

Nadzorowanie parametrów życiowych naszej serwerowni może okazać się bardzo pomocne, szczególnie jeśli administrator budynku postanawia zaoszczędzić na agencji ochrony, zastępując ludzi systemem monitoringu. Zdarza się, że projekt monitoringu nie uwzględnia potrzeb działu IT. Nie rzadko byłem świadkiem awarii systemów chłodzenia co prowadziło do gwałtownego wzrostu temperatury w serwerowniach. Skoro nikt nie chce nam pomóc musimy radzić sobie sami.

Na rynku dostępnych jest wiele rozwiązań dla monitoringu parametrów pracy serwerowni. Mając na względzie zasobność kieszeni przeciętnego działu IT i łatwość oraz szybkość montażu urządzeń postanowiłem znaleźć coś stosunkowo taniego i działającego na zasadzie niezależnego hosta (serwera TCP/IP). Po paru godzinach poszukiwania wybór padł na termometr IP firmy Papouch. Kilka uwag praktycznych. Żeby sprowadzić termometr najlepiej bezpośrednio skontaktować się z polskim dystrtybutorem firmą Chip Electronics. Obsługa jest bezproblemowa i szybka. Cena końcowa wraz z kosztami przesyłki to około 740PLN brutto. Co dostajemy w zamian? Małe srebrne pudełko z interfejem FastEthernet. Podłączenie i konfiguracja przez interfejs www jest banalna. Ale na tym nie koniec. Wbudowany serwer www pozwala wysłać e-mail z komunikatem w przypadku wzrostu (lub spadku) temperatury powyżej (poniżej) wartości progowej. Obecnie możemy odbierać poczte elektroniczną za pomocą telefonu komórkowego. Ja postanowiłem jednak zmienić wiadomość elektroniczną w SMS, który możemy odebrać każdym telefonem. W tym celu zarejestrowałem się na polskiej bramce typu e-mail2sms http://www.gsmservice.pl. Powiązanie pierwszego konta nadawcy e-mail z kontem jest darmowe. Pozostaje tylko zapłacić z góry za pakiet SMSów. Zakładając, że awarie klimatyzacji nie są zbyt częste całe rozwiązanie jest tanie i niezawodne. Zatem do dzieła:)

MG

Ps.
Wiem, że opisane rozwiąznie można zrealizować za pomocą termistora podłączonego do portu USB i serwera z Linuxem ale co robić kiedy zabraknie czasu i zależy nam na szybkim wdrożeniu…

Tagi: ,

Konfiguracja blacklist za pomocą Shorewalla

4 czerwca, 2011 | Brak Komentarzy | Kategoria: Linux, Porady

Shorewall to jeden z bardzo popularnych firewalli dla Linuxa. W rzeczywistości jest nakładką na IPTABLES ale ponieważ jest przejrzysty i łatwy w konfiguracji często używam go w środowiskach o dużej liczbie serwerów. W tym artykule chciałbym skupić się wyłącznie na konfiguracji pozwalającej na zastosowanie blacklist – czarnych list za pomocą shorewalla.

Każdy administrator serwera z publicznym adresem IP spotkał się z atakami słownikowymi na usługi. Większość z nich przeprowadzanych jest przez automaty i przy zachowaniu odpowiednich zasad bezpieczeństwa nie powinna stanowić zagrożenia. Jednak licho nie śpi i dlatego zastosowanie czarnych list na poziomie firewalla pozwala ograniczyć liczbę ataków.

Z pomocą shorewalla możemy utrzymywać własne czarne listy. Aby włączyć tą funkcję należy:

  • Dodać opcję blacklist w pliku definicji interfejsów – interfaces (ścieżka domyślna: /etc/shorewall/interfaces)
net    eth0    detect    blacklist
  • Utworzyć plik blacklist (ścieżka domyślna: /etc/shorewall/blacklist) z odpowiednią zawartością np.
1.232.0.0/13        tcp        22,2200,2222

Pierwsza opcja to adres IP w notacji CIDR, druga rodzaj protokołu (tcp,udp), zaś trzecia to port blokowany dla ruchu przychodzącego.

  • Zrestartować demona shorewall:
/etc/init.d/shorewall restart

To wszystko:) Na zakończenie bonus w postaci gotowego pliku blacklist z aktualizowaną co tydzień czarną listą, który można pobrać pod adresem:

http://dl.dropbox.com/u/545869/Config/Shorewall/blacklist

MG

Tagi: , ,