Bądź na bieżąco - RSS

Budowa serwera SFTP na bazie SSH i Debiana

21 maja, 2016 | Brak Komentarzy | Kategoria: Linux, Porady

SFTPJak powszechnie wiadomo nie wynaleziono jeszcze bardziej popularnej usługi do transferu plików niż FTP. Być może większość administratorów wolałaby korzystać z innych rozwiązań ale tak się składa, że znają prawie wszyscy użytkownicy i to oni z reguły wymuszają stosowanie FTP. Podstawowy problem w tym przypadku to brak szyfrowania transmisji co przede wszystkim oznacza przesyłanie haseł jawnym tekstem. Jednak mając gotowy serwer z Linuxem oraz dostępem zdalnym po SSH można pokusić się o przygotowanie serwera SFTP, który zachowując większość funkcji FTP będzie zabezpieczał odpowiednio nasze połączenia. Co więcej jeśli ktoś dotychczas korzystał z bardzo popularnych programów typu WinSCP czy FileZilla to zasadniczo nie powinien mieć żadnych problemów z korzystaniem z SFTP bowiem obsługa tego ostatniego została już zaimplementowana w tych windowsowych klientach. Zatem do dzieła.

Po pierwsze sprawdzamy czy obsługa SFTP została włączona w konfiguracji serwera OpenSSH. Plik /etc/ssh/sshd_config powinien zawierać wpis:

Subsystem sftp internal-sftp

Teraz, na końcu pliku możemy dodać sekcje dla nowego konta z dostępem SFTP:

Match User KontoSFTP
  ChrootDirectory /home
  AllowTCPForwarding no
  X11Forwarding no
  ForceCommand internal-sftp

Oczywiście zakładam, że wcześniej założyliśmy sobie takie konto w systemie. Po ponownym uruchomieniu serwera SSH wszystko powinno zacząć działać… oprócz dwóch drobnostek.

Na pewno warto zadbać aby użytkownik KontoSFTP nie miał dostępu shellowego do systemu. W tym celu musimy zmienić mu domyślny shell. Najpierw sprawdzamy czy możemy użyć shella typu sftp-server:

cat /etc/shells

Jeśli nie zostanie wyświetlona nazwa sftp-server powinniśmy użyć polecenia:

echo '/usr/lib/openssh/sftp-server' >> /etc/shells

Teraz możemy już zmodyfikować konto naszego użytkownika:

usermod -s /usr/lib/openssh/sftp-server KontoSFTP

Druga sprawa to powinniśmy zmienić prawa dostępu do tych podkatalogów w /home, do których chcemy zabezpieczyć dostęp. W ten sposób nasz użytkownik nie będzie mógł zwiedzać innych podkatalogów. Dla każdego z zabezpieczanych katalogów należy wydać polecenie:

chmod 700 /home/NazwaZabezpieczanegoKatalogu

Po wykonaniu powyższych czynności możemy cieszyć się nowym serwerem SFTP. Powyższe uwagi dotyczą rzecz jasna mojego ulubionego Debiana.

MG

Tagi: , , , , ,

ClamAV-clamd av-scanner FAILED

16 kwietnia, 2016 | Brak Komentarzy | Kategoria: Linux, Porady

AntywirusCałkiem niedawno instalowałem po raz kolejny serwer poczty dla klienta. Niestety wsparcie dla mojego ulubionego Debiana Squeeze skończyło się w kwietniu tego roku dlatego postanowiłem od razu pominąć dystrybucje Wheezy i skorzystać z Jessie. W jednym ze wcześniejszych wpisów podałem adres bardzo dobrego poradnika, który omawiał jak niewielkim kosztem przygotować bardzo wydajną i sprawną bramkę mailową typu Antivirus/Antispam. Świat idzie szybko do przodu i okazało się, że poradnik już nie jest dostępny. Co więcej autor poleca skorzystanie ze skryptów iRedMail. Skrypty skryptami, niby rozwiązanie wygodne i szybkie ale co ma zrobić administrator przyzwyczajony do konfigurowania wszystkiego ręcznie? Przez wiele lat nagromadziłem własne gotowe pliki konfiguracyjne i nie bardzo uśmiechało mi się przeglądanie gotowców z iRedMail. Dlatego postanowiłem sprawdzić co pozmieniało się w stosunku do informacji (konfiguracji) które już posiadam i jednak zbudować serwer poczty od początku na własną ręke. Musze przyznać, że zmian było stosunkowo niewiele. Oczywiście niektóre repozytoria wygasły a w ich miejsce pojawiły się inne. Miłą niespodzianką okazała się na przykład dostępność w podstawowym repo pakietu clamav-unofficial-sigs, o czy zupełnie nie wiedziałem i zawsze instalowałem „z palca”. W trakcie instalacji trafiłem jednak na spory problem. Coś co do tej pory działało niezawodnie, nagle w Jessie przestało funkcjonować prawidłowo. Chodzi o pakiet Clamav, który zaczał zgłaszać błędy:

... run_av (ClamAV-clamd) FAILED ...
... ClamAV-clamd av-scanner FAILED ...
... WARN: all primary virus scanners failed, considering backups...

Sprawa wyglądała dość poważnie bo dotyczyła jednego z kluczowych elementów każdego systemu pocztowego. Jak zwykle w takich sytuacjach rozwiązanie okazało się dość banalne. W pliku konfiguracyjnym /etc/clamav/clamd.conf, w dystrybucji Jessie zmieniła się jedna linijka. Wygląda ona obecnie tak:

AllowSupplementaryGroups false

a powinna wyglądać jak w poprzednich dystrybucjach, czyli:

AllowSupplementaryGroups true

I to wszystko.

MG

Tagi: , , ,

Roaming Profile – kopia zapasowa c.d.

19 marca, 2016 | Brak Komentarzy | Kategoria: Porady, Windows

Łatka

 

Dwa miesiące temu pisałem o tym jak zrobić kopie zapasową profilu typu Roaming Profile w sieci Active Directory. W trakcie korzystania przez cały ten czas z opisywanego narzędzia psexec będącego częścią pakietu SysInternals PSTools okazało się, że potrafi ono odmówić posłuszeństwa. Każda próba uruchomienia środowiska za jego pomocą kończy się komunikatem:

 

Error communicating with PsExec service

 

Próba zwyczajnego przeinstalowania pakietu nie pomaga. Okazuje się, że antidotum w tej sytuacji jest wykonanie poniższej procedury i nie pytajcie mnie dlaczego to działa akurat w taki sposób:

  1. Na komputerze z zainstalowaną usługą psexec należy ją po prostu zatrzymać. Można to zrobić za pomocą GUI lub za pomocą polecenia pskill.
  2. Na drugim komputerze trzeba zdalnie usunąć psexec poleceniem sc \\nazwa_naprawianego_komputera delete psexesvc.
  3. Dopiero teraz można ponownie zainstalować pakiet PSTools ponownie.

Hmm…, dziwne.

MG

Tagi: , , ,

Błąd 2221 – mapowanie dysku

20 lutego, 2016 | Brak Komentarzy | Kategoria: Porady, Windows

Udział sieciowy - błąd 2221Chciałem dzisiaj napisać o problemie z jakim spotkałem się przed kilkoma dniami. Problem dotyczył podłączenia (mapowania) zdalnego udziału sieciowego w domenie Active Directory. Proces kończył się zawsze komunikatem – błąd 2221. Było to o tyle dziwne zachowania, że:

  1. Problem dotyczył tylko wybranego użytkownika na wybranej stacji (w tym przypadku laptopie). Zalogowanie się na innym komputerze jako ten sam użytkownik umożliwiało podłączenie wspomnianego udziału.
  2. Zalogowanie się z uprawnieniami adminstratora na feralnej stacji powodowało, że ten sam udział można było mapować bez żadnego problemu.
  3. Najdziwniejsze zaś było to, że udział nie mapował się przy użyciu nazwy domenowej serwera, zaś jeśli użyłem adresu IP to wszystko działało dobrze, nawet na koncie wspomnianego użytkownika.

Jest to dość subtelny błąd i trudno było znaleźć jednoznaczane rozwiązanie. Niemniej po jakimś czasie okazało się, że kłopot sprawia bufor (cache) przechowywujący lokalnie nazwy użytkownika i związane z nimi hasła. Po jego wyczyszczeniu wszystko wróciło do normy. Poniżej krótki przepis co należy zrobić.

Uruchamiamy Panel sterowania, wybieramy Konta użytkowników a następnie opcję Zarządzaj poświadczeniami. Teraz pozostaje nam odnaleźć nazwę użytkownika (konta) i usunąć poświadczenia zapisane przez system.

Tagi: , , ,

Roaming Profile – kopia zapasowa

16 stycznia, 2016 | Brak Komentarzy | Kategoria: Porady, Windows

Roaming ProfileDomena MS Active Directory umozliwia przechowywanie profilu użytkownika w postaci tzw. Roaming Profile. Oznacza to, że przede wszystkim dane użytkowników mogą byc składowane na serwerze i umieszczone w odpowiednim współdzielonym katalogu. Główną zaletą takiego rozwiązania (pominę tym razem wady) jest umożliwienie pracy z każdej końcówki w domenie ponieważ po zalogowaniu profil użytkownika jest przesyłany na stację roboczą. Zaś podczas pracy system dba o synchronizację jego zawartości z serwerem. Brzmi całkiem nieźle i powiedzmy, że generalnie się sprawdza.

W skład profilu użytkownika wchodzą przede wszystkim jego pliki i poczta ale również ustawienia związane z całym spersonalizowanym środowiskiem pracy – czyli profil użytkownika w całości. Są to dane bardzo wrażliwe na zmiany. Powszechnie wiadomo czym może zakończyć się ręczne modyfikowanie profilu Windows. Stąd Roaming Profile przechowywany na serwerze ma odpowiedni poziom zabezpieczeń. Dostęp do swoich plików ma praktycznie tylko ich użytkownik. Nie ma go nawet administrator. Co jednak można zrobić w sytuacji gdy powinniśmy (jako administrator) wykonywać kopie zapasową profilu użytkownika?

Rozwiązaniem tego problemu jest zmodyfikowanie uprawnień dla poszczególnych katalogów wewnątrz profilu użytkownika. Aby chronić środowisko pracy najlepiej jest ograniczyć się np. tylko do katalogów: Pulpit i Moje dokumenty (większość cennych danych znajduje się właśnie tutaj).

Zaczynamy od pobrania narzędzia PSTools ze strony SysInternals. Po rozpakowaniu pliku PSTools.zip, z katalogu PSTools uruchamiamy okienko systemowe poleceniem:

psexec -i -s cmd.exe

Potem korzystając z otworzonego okna systemowego (wywołanego z najwyższymi uprawnieniamy – SYSTEM, należy korzystać bardzo ostrożnie) wydajemy polecenie zmieniające uprawnienia dla wybranego katalogu:

icacls "D:\Profiles\*" /grant "domain admins":(OI)(CI)F /T

Naturalnie przykładowa ścieżkę D:\Profiles\* zmieniamy na docelową dla swoich zastosowań (np. wspomniany Pulpit lub Moje dokumenty).

MG

Tagi: , , ,

MS Outlook – odpowiedź z załącznikiem

19 grudnia, 2015 | Brak Komentarzy | Kategoria: Porady, Windows

MS Outlook - ReplyCzy można odpowiedzieć na e-mail odysłając ten sam załącznik? Pytanie to dla wielu osób wydać może się co najmniej dziwne. Jednak inwencja twórcza użytkowników MS Outlook jest na tyle olbrzymia, że zdarzyło mi się zetknąć z takim problemem. Możliwe są w tym przypadku cztery odpowiedzi:

  1. To nie jest możliwe bo kto tak robi? (odpowiedź zła ponieważ jak już wspomniałem jednak ktoś tak robi).
  2. Można zrobić to ręcznie. Najpierw zapisujemy załącznik a potem ponownie go załączamy w odpowiedzi. Metoda najprostsza, wręcz oczywista ale czy godna adminstratora – prawdziwego tygrysa? Wątpie.
  3. Można kupić program, który to za nas zrobi. Aplikacja nazywa się Kutools for Outlook. Już za 39 USD otrzymamy nową zakładke w MS Outlook:
    MS Outlook: odpowiedź z załącznikiem

    Jest to rozwiązanie, które nazwałbym hmm… ścieżką korporacyjną 🙂

  4. Ostatecznie można być ambitnym i napisać skrypt Visual Basic. Co więcej wcale nie potrzeba do tego specjalnych umięjętności. Trzeba wiedzieć gdzie szukać:http://www.extendoffice.com/documents/outlook/1613-outlook-reply-with-attachments.html#b

I tak zadanie może zostać rozwiązane na szybko, korporacyjnie lub wzbudzając (niezasłużony) podziw u kolegów z działu IT.

MG

Tagi: , ,

Microsoft Exchange – kopia zapasowa skrzynki w formacie MSG

28 listopada, 2015 | Brak Komentarzy | Kategoria: Porady, Windows

Kopia zapasowaWykonywanie kopii zapasowych serwera Microsoft Exchange 2010 jest zagadnieniem dobrze znanym, szeroko opisywanym i wydawać by się mogło, że nie można już nic więcej zaproponować w tej dziedzinie. Jeśli jednak nie mamy uprawnień administratora serwera, dysponujemy tylko klientem Outlook a chielibyśmy robić regularnie kopie swojej skrzynki to, jak się okazuje, oferta aplikacji jest dość skromna. Mowa tu, rzecz jasna, o sytuacji gdy nie dysponujemy lokalna kopią PST a korzystamy wyłącznie zdalnie z zasobów sieciowych (de facto oznacza to korzystanie z pliku OST – kopii offline). Można zawsze robić ręcznie kopie korzystając z funkcji eksport do pliku PST lub nieco zautmatyzować proces korzystając np. z AutoIt. Jest to jednak trudne ze względu na niestandardowy interfejs Outlooka.

Stojąc przed opisywanym problemem założyłem, że chciałbym wykorzystać harmonogram zadań systemowych oraz tekstowy skrypt wsadowy BAT lub CMD (do tego niekoniecznie wykorzystujący np. PowerShell). Czyli coś co wydawać by się mogło nierealne. A jednak nie do końca.

Poszukując aplikacji, która spełniałaby założenia trafiłem na ReliefJet Essentials for Outlook. Czemu jest ona wyjątkowa? Ponieważ oprócz interfejsu graficznego posiada tryb pracy wsadowej. Co więcej, najpierw można przygotować np. kopie zapasowe korzystając z okienek konfiguracyjnych a potem skorzystać z ikonki Show command line, żeby zobaczyć jak będzie wyglądać odpowiednia komenda systemowa.

ExecutorCli.exe /u OutlookFolderBackup ↵
Profile=nazwa_konta For="\\nazwa_skrzynki*" ↵ 
IgnoreErrors=True TargetDir=C:\TEMP\ ↵
StartDate="2015-01-01 00:00:00.000" ↵
Report=C:\TEMP\raport.csv

Powyższa komenda umożliwia przygotowanie kopii skrzynki współdzielonej przy użyciu wybranego profilu Outlooka. Możemy ponadto określić od jakiej daty zostanie ona wykonana oraz przygotować raport końcowy.

Możliwości aplikacji są dużo większe i myślę, że naprawde warto zapoznać się z tym produktem.

MG

Tagi: , , ,

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