Bądź na bieżąco - RSS

Rola rekordu SRV w konfiguracji MS Exchange

7 lipca, 2012 | Brak Komentarzy | Kategoria: Bez kategorii, Porady, Windows

Microsoft Exchange Server jest obecnie jednym z popularnych serwerów pracy grupowej w firmach. Nie jest to rozwiązanie tanie. Szczególnie jeśli uwzględnimy koszt budowy infrastruktury zgodnie z zaleceniami Microsfotu, koszt licencji dostępowych CAL itd. Tak czy inaczej jeżeli zdecydowaliśmy się już na zakup oprogramowania i nie mamy kilku serwerów do wykorzystania musimy liczyć się z koniecznością gruntownego zabezpieczenia naszego głównego serwera Exchange. Konfiguracja, o której mówie zakłada zainstalowanie 3 głównych ról serwera (Hub Transport Server, Mailbox Server oraz CAS – Client Access Server) na jednym serwerze. W omawianym przypadku nie zajmujemy się serwerem brzegowym (Edge Transport Server).

Ponieważ na wspomnianym serwerze instalujemy usługi dostępowe CAS (w tym dla klientów mobilnych, z poza sieci firmowej) należy zabezpieczyć go wszelkimi możliwymi środkami. Najprostszym i najtańszym rozwiązaniem jest zorganizowanie komunikacji z wykorzystaniem protokołu HTTPS (port 443). Klient poczty Microsoft Outlook posiada możliwość połączenia się z serwerem Exchange za pomocą tandemu RTP over HTTPS. Można zatem łatwo dodać regułę na firewallu firmowym, umożliwiącą komunikację z zewnątrz z serwerem Exchange na porcie 443.

Niestety Outlook wykorzystuje często funkcje autokonfiguracji działającą w oparciu o usługę Autodiscover. W tym miejscu dochodzimy do sedna problemu opisywanego w tym artykule. Jeżeli domena Active Directory (np. corp.firma.com) różni się od domeny internetowej (np. firma.com) to Outlook będzie zasypywał nas komunikatami o błędach. Istnieje wiele sposobów zapobiegania takim sytuacjom. Jednym z najbardziej skutecznych jest wykorzystanie rekordu SVR na zewnętrznych serwerach nazw. W ten sposób Outlook z każdego miejsca w internecie będzie mógł połączyć się z naszym serwerem Exchange. Rekord SRV dla Exchange będzie miał następującą postać (użyłem przykładu dla popularnego serwera bind):

_autodiscover._tcp.firma.com. IN SRV 0 5 443 server.corp.firma.com.

Musimy jeszcze pamiętać o rekordzie A dla domeny z przykładu – firma.com:

server.corp IN A 1.2.3.4

Takie rozwiązanie pozwoli uniknąć w przyszłości chóru narzekających użytkowników. I o to w zasadzie w tym wszystkim chodzi…

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: , ,

Termometr IP dla ochrony serwerowni – część II

5 maja, 2012 | Brak Komentarzy | Kategoria: Bez kategorii, Porady, Windows

Jakiś czas temu opisywałem rozwiązanie polegające na zdalnym pomiarze parametrów pracy pomieszczenia (np. serwerowni). Przez ten czas zmieniła się konfiguracja obserwowanej serwerowni i pojawiły się nowe urządzenia. Pomyślałem zatem o scentralizowanym rozwiązaniu, które umożliwi obserwacje stanu większej ilości czujników a przy tym pozwoli na generację alarmów w sytuacjach krytycznych. Konfigurowanie pojedynczo każdego nowego czujnika IP jest pracochłonne i nie daje możliwości budowania złożonych akcji (alarmów), które polegają na analizie stanu kilku czujników.

Producent termometru IP udostępnił na swojej stronie darmową wersję aplikacji Wix, która umożliwia m.in.

  • obserwację pomiarów z kilku urządzeń
  • wykreślanie historii pomiarów
  • budowanie akcji z prostą logiką warunków
  • wysyłanie wiadomości alarmowych via e-mail, SMS

W tej wersji aplikacja Wix nie jest być może szczególnie zaawansowana ale oferowała funkcjonalność, której poszukiwałem. Jeśli ktoś poszukuje lekkiego i prostego w konfiguracji rozwiązania można ją śmiało polecić. Dla bardziej wymagających pozostaje zabawa z oprogramowaniem urządzeń firmy Papouch za pomocą API udostępnionego na stronie producenta.

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: , ,

Laptop DELL, MS Windows, Office 2010 64-bit i problemy

3 marca, 2012 | Brak Komentarzy | Kategoria: Porady, Windows

Tym razem krótki i raczej humorystyczny wpis. Ta wiedza może uchronić Cię przed godzinami spędzonymi w poszukiwaniu rozwiązania. Rzecz dotyczy laptopów marki Dell z zainstalowanymi Windowsami w wersji 64-bitowej i pakietu MS Office 2010 64-bit. Jak się okazuje MS Word (w takiej konfiguracji) po pewnym czasie odmawia posłuszeństwa. Obajwy są dość nietypowe. Nie może otworzyć dokumentu, zawiesza się a następnie proponuje tryb awaryjny. Po naprawieniu problemu w trybie awaryjnym sytuacja powtarza się od nowa. W tym miejscu chylę czoła przed użytkownikami, którzy wpadli na to, że należy wyłączyć wtyczkę obsługującą połączenie Bluetooth – 'Opcje programu Word/Dodatki’. Krótko i na temat. Do tej pory nie mogę się otrząsnąć.

🙂

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: , ,

Błąd MS SQL – Performance counter registry hive consistency check

5 listopada, 2011 | Brak Komentarzy | Kategoria: Porady, Windows

Świat byłby zbyt piękny gdyby wszystko działało od razu bez problemu. Ostatnio, przy okazji instalacji SQL Server 2008 R2 Standard Edition na dziewiczym systemie operacyjnym Microsoft Windows Server 2008 R2 Standard, spotkałem się z problemem, którego rozwiązanie zajeło sporo czasu. Okazało się, że instalator zatrzymuje się na komunikacie o niespełnionej zależnościPerformance counter registry hive consistency check. Nie będę się rozpisywał na temat tego błędu, który związany jest z nieprawidłowymi wpisami do rejestrów. Zresztą na internetowych forach pełno jest poradników na ten temat. Niestety większość metod nie pomaga. Na szczęście znalazłem skuteczną łatkę systemową SQL2008R2patch.exe, którą mogę szczerze polecić jako przetestowaną i działająca. Pozwala zaoszczędzić dużo czasu i bezproblemowo przygotować system do pracy 🙂

MG

Tagi: , ,

Dlaczego musiałem zdegradować kontroler domeny Windows 2008 R2

1 października, 2011 | Brak Komentarzy | Kategoria: Porady, Windows

Przez wiele lat byłem użytkownikiem Windowsów. Pamiętam takie czasy gdy Windows NT w wersji 4.0 był dla mnie podstawowym narzędziem pracy. Udało mi się nawet bezawaryjnie obsługiwać jedną z domen NT przez 10lat  (taki osobisty rekord w kategorii najdłużej działających serwerów bez zwisów, serwer dostarczał DHCP, DNS, WWW i pocztę elektroniczą). Potem nastał czas Unixa, Linuxa i tak aż do tego roku. Historia lubi zataczać koło i zostałem zmuszony do przypomnienia sobie paru rzeczy, nauczenia się nowych oraz odświeżenia znajomości z domenami Active Directory.

Razem z kolegą zaprojektowaliśmy i wykonaliśmy mała domenę AD na zlecenie. Głównymi jej elementami były dwu węzłowy klaster MS SQL, dwu węzłowy klaster HyperV przeznaczony na wirtualną maszynę z MS Exchange. Żeby całość funkcjonowała prawidłowo potrzebny był oczywiście jeszcze kontroler domeny. I tutaj zaczeły się schody. W opisanym wcześniej przypadku pojedynczy kontroler stanowi najsłabszy element sieci. Praktycznie wszystkie usługi domenowe korzystają z baz utrzymywanych przez kontroler. Nie musi to być najbardziej wydajna maszyna, powinna być jednak dobrze zabezpieczona. Ponieważ w międzyczasie zleceniodawca zdecydował się na dodanie do domeny jeszcze jednego serwera, potrzebnego do implementacji CRM, wpadłem na pomysł, że nadarza się okazja zaimplementowania na nim dodatkowego kontrolera domeny. Nic bardziej błędnego! Główne powody, dla których nie należy tak robić to:

  • Komputer, który jest kontrolerem domeny nie ma możliwości dodawania użytkowników lokalnie
  • Jeśli oprogramowanie instalowane na kontrolerze domeny dodaje nowe konta to stają się one kontami domenowymi
  • Nie możemy ograniczyć uprawnień dla np. operatora serwera (odpowiedzialnego za lokalną usuługę np. wspomniany CRM) na tyle aby nie był on w  stanie zaszkodzić domenie

Wniosek jaki stąd płynie brzmi – jeśli myślisz o dodatkowych usługach w swojej domenie np. IIS, CRM itd. to instaluj je na serwerach będących wyłącznie członkami domeny (domain members). Pomio różnych opinii spotykanych w Internecie na ten temat skłaniam się ku kategorycznemu stwierdzeniu, że kontroler domeny powinien pozostać wyłącznie kontrolerem domeny. Jeśli sieć ma być w miarę bezpieczna rzecz jasna. A to z kolei prowadzi do wniosku, że projektując domene trzeba przyjąć, że co najmniej 2 serwery musimy przeznaczyć do tej roli. A więc płacz i płać:(

Nawiązując do tematu wpisu dałem złapać się w pułapkę i dlatego musiałem zdegradować (w dokumentacji technicznej Microsftu ta czynność nazywa się depromoting) całkiem zgrabny kontroler domeny. Poradnik jak to zrobić można znaleźć na stronie Microsoft TechNet w artykule „Removing a Domain Controller from a Domain„. Zanim jednak zaczniemy działać należy się upewnić, że:

  1. Nie usuwamy ostatniego kontrolera w domenie (praktycznie oznacza to, że w sieci musi być jeszcze co najmniej jeden serwer przechowywujący Katalog Globalny GC) co nieodwracalnie ją zniszczy
  2. Nie usuwamy podstawowego serwera DNS dla domeny Active Directory (jeśli tak to trzeba wcześniej przenieść tą rolę na inny serwer zawierający Katalog Globalny GC)

MG

Tagi: , ,