Bądź na bieżąco - RSS

Aktualizacja XSIBackup

27 lipca, 2020 | Brak Komentarzy | Kategoria: Porady
Awaria serwera - konieczna aktualizacja XSIBackup

XSIBackup jako super wygodne narzędzie do wykonywania kopii zapasowych maszyn wirtualnych VMware sprawuje się bez zarzutu. Pisałem o tym programie wielokrotnie np. tutaj. Wspominałem również, że w połączeniu z VMware vCenter Converter Standalone stanowi szwajcarski scyzoryk na wypadek grubszej awarii tj. gdy musimy bardzo szybko odtworzyć wirtualizację np. z powodu awarii sprzętowej hosta.

W przyrodzie nie ma jednak rozwiązań doskonałych i nawet XSIBackup potrafi spłatać figla. Sytuacja, którą chciałem opisać dotyczy momentu tuż po aktualizacji VMware ESXi, kiedy mamy już powgrywane najnowsze patche a jeszcze nie aktualizowaliśmy naszego programu do kopii. Ja po prostu o tym zapomniałem – do tego stopnia, że nawet przeoczyłem brak nowych raportów email o kopiach zapasowych. A program się zwiesił.

Dość szybko znalazłem opis błędu w Internecie, odpowiedzialny był interpreter, a dokładniej jego niezgodność (w nowej wersji VMware) ze starszą wersją XSIBackup. Stanąłem przed koniecznością zainstalowania nowego wydania… i popełniłem duży błąd. Podążając za rozmaitymi poradnikami z forów użytkowników, gdzie twierdzono, że zasadniczo wystarczy podmienić odpowiednie pliki i wszystko powinno działać, pracowicie skopiowałem co trzeba. Zależało mi głównie na tym aby nie tracić tzw. jobs, czyli zadań kopiowania, które zdążyłem skonfigurować (nie jest to trywialna czynność ze względu na mnogość opcji). Zostawiłem całość bez przetestowania – kolejny błąd, a za dwa dni zadzwonił do mnie zaniepokojony użytkownik z informacją, że serwer nie działa. Chodziło o jdną z maszyn wirtualnych. Okazało się, że nie odpowiada cały host VM 🙁 Była sobota i w tym momencie runęła perspektywa wypoczynku. Po dotarciu na miejsce tzn. do serwerowni, ze zdziwieniem stwierdziłem, że serwer działa bez zarzutu, ale interfejsy sieciowe padły. Rzecz jasna restart całej jednostki pomógł, ale zmobilizowało mnie to do wykonania dwóch czynności, które powinienem zrobić od razu.

Po pierwsze usunąłem całą instalację XSIBackup. Polega to głównie na skasowaniu wszystkich plików i co ważne usunięciu zadań kopiowania na poziomie cron:

rm -rf "/vmfs/volumes/datastore1/xsi-dir"; \ 
chmod 0700 /var/spool/cron/crontabs/root; \ 
sed -i '/-dir\/jobs/d' /var/spool/cron/crontabs/root; \ 
sed -i '/cron-init/d' /etc/rc.local.d/local.sh

Po drugie zainstalowałem od nowa XSIBackup odtwarzając skopiowane wcześniej zadania automatycznego wykonywania kopii. Na szczęście pomogło.

MG

Tagi: , , , ,

Zewnętrzny numer IP?

31 maja, 2020 | Możliwość komentowania Zewnętrzny numer IP? została wyłączona | Kategoria: Linux, Porady, Windows
Numer IP? Jak uzyskać informacje na ten temat?

Numer IP – bardzo często bywa tak, że z jakichś powodów chcielibyśmy uzyskać informację na ten temat (zwłaszcza jeśli chodzi o zewnętrzny numer IP). Jak zauważyłem problem ten dotyczy nie tylko sytuacji, w której po prostu sprawdzamy czy operator przydzielił nam właściwy adres IP, ale również coraz częściej jeśli chcemy np. sprawdzić czy zadziałało połączenie prywatne VPN. Zauważyłem, że powoli stają się one standardem (i bardzo dobrze), warto zatem czasami upewnić się, że nasz ruch przechodzi przez odpowiedni router.

Do tej pory można to było zrobić na kilka, mniej lub bardziej eleganckich sposobów. Dla mniej wprawnych zawsze pozostaje np. serwis https://www.whatismyip.com. Ta metoda wymaga jednak posiadania interfejsu graficznego czyli GUI. A jak zrobić to samo na serwerze, który posiada tylko czystą konsolę tekstową?

Tutaj również mamy do dyspozycji wiele metod. Szczególnie jeżeli używamy mojego ulubionego rozwiązania czyli Linuxa. Od lat korzystałem w tym celu z dobrze znanego polecenia wget, które pozwala na sparsowanie wyjścia i tą nieco pokrętną metodą uzyskanie odpowiedzi na pytanie postawione w tytule artykułu:

/usr/local/bin/wget -qO - http://ipinfo.io/ip

Świat idzie jednak do przodu (i bardzo dobrze). wget powoli jest zastępowany przez nowe polecenie (a w zasadzie rozbudowane narzędzie) czyli curl. W takim wydaniu uzyskanie informacji jaki jest zewnętrzny numer IP jest jeszcze prostsze:

curl http://icanhazip.com

I o to przecież wszystkim chodzi 🙂

MG

Tagi: , , ,

Karta SD – formatowanie w Mac OS

29 grudnia, 2019 | Brak Komentarzy | Kategoria: MacOS, Porady
karta SD

Karta SD i jej formatowanie w Mac OS może być źródłem problemów. Sam kilka razy miałem kłopoty. Oczywiście jeśli stosujemy standardowe rozwiązania i mamy kartę sformatowaną dla systemu MS-DOS (FAT), tudzież dla typowego Mac OS Extended (Journaled) to raczej nie napotkamy na żadne przeszkody. Czasami jednak, zwłaszcza gdy zamierzamy testować np. Raspberry Pi, musimy zmierzyć się z innymi systemami plików. I nie chodzi w tym przypadku o zakładanie i konfigurowanie tychże, ale o przygotowanie karty do pracy, czyli usunięcie w pierwszym kroku wszystkich partycji z dostępnej przestrzeni. Niestety, bez tego często nie jesteśmy w stanie korzystać z SD. Wiem, że brzmi to co najmniej dziwnie, ale sam miałem takie problemy.

Jak sprawdziłem najszybszą niezawodną metodą jest skorzystanie z wbudowanych narzędzi systemowych. A więc czas uruchomić terminal. 😉

Jednym z najbardziej pożytecznych i skutecznych narzędzi jest diskutil. Program ten pozwoli nam na wyświetlenie zawartości karty SD:

$ diskutil list

Otrzymamy nazwy urządzeń (np. disk2 lub disk3) z przypisanymi partycjami. Z wyświetlonych informacji można łatwo wywnioskować, które urządzenie to karta SD. Zakładając, że jest np. disk2, możemy przygotować kartę do pracy z Raspberry Pi:

$ diskutil eraseDisk FAT32 RASPBIAN MBRFormat disk2

Na tym jednak nie koniec. Wracając do głównego wątku, możemy również dosłownie wyzerować kartę SD. W tym celu najpierw powinniśmy odmontować urządzenie:

$ diskutil unmountDisk disk2

A potem usunąć jej zawartość:

$ diskutil zeroDisk disk2

Lub inną metodą:

$ diskutil randomDisk disk2

Warto wspomnieć, że opisana komenda sprawdza się również w przypadku pamięci USB, dysków twardych itd. Trzeba jej jednak używać bardzo ostrożnie, i chyba nie muszę tłumaczyć dlaczego.

To tyle w tym ostatnim tegorocznym wpisie.

MG

Tagi: , ,

OpenVAS – testy penetracyjne

29 września, 2019 | Brak Komentarzy | Kategoria: Linux, Porady
OpenVAS

W dzisiejszych czasach wykonywanie testów penetracyjnych jest, lub przynajmniej powinno być, elementarzem każdego administratora, który zarządza siecią z serwerami obsługiwanymi przez innych użytkowników. Doświadczenie uczy, że pomysłowość ludzka polegająca m. in. na pozostawianiu niezabezpieczonych usług, skonfigurowanych niepoprawnie aplikacji itp. jest praktycznie nieograniczona. Niestety sieć jest tak bezpieczna jak jej nasłabszy punkt. Dlatego chciałem napisać parę słów o dosyć popularnym i prostym w obsłudze narzędziu jakim jest OpenVAS.

Większość popularnych dystrybucji Linuxa posiada gotowe paczki do instalacji. W Debianie 10 Buster (jak do tej pory ostatnim) nie trzeba nawet wspomagać się dodatkowymi bibliotekami, wystarczy wydać polecenie:

apt-get install openvas -y

Po kilku lub kilkunastu minutach, w zależności od stanu łacza internetowego, cały pakiet zostanie zainstalowany i można przejść do jego konfiguracji:

openvas setup

Aplikacja rozpocznie pobieranie aktualizacji z 3 źródeł – NVT, Cert Data i SCAP Data, tak abyśmy mieli dostęp to świeżego zestawu testów, czyli tak naprawdę np. najnowszych definicji dotyczących exploitów, opisanych zagrożeń itp. Całość trochę potrwa i na koniec zostaniemy poinformowani o sukcesie (mam nadzieję) oraz co najważniejsze wyświetlone zostanie hasło dla administratora usługi. Hasło w zasadzie jest jednorazowe i należy je zmienić od razu po pierwszym zalogowaniu, tym bardziej, że nie jest wygodne do zapamiętania.

OpenVAS jest obsługiwany za pomocą przeglądarki internetowej. Domyślnie skonfigurowany jest tylko dostęp lokalny. Może to stanowić pewne utrudnienie, szczególnie w sytuacji gdy korzystamy z serwera bez środowiska graficznego. Dlatego powinniśmy sprawdzić adres IP swojego serwera:

ip a

Następnie trzeba wedytować 2 pliki konfiguracyjne:

/lib/systemd/system/greenbone-security-assistant.service
/lib/systemd/system/openvas-manager.service

i zmienić adres ‘127.0.0.1’ na uzyskany adres naszego serwera – w każdym miejscu, w którym występuje.

Na koniec pozostaje uruchomić ponownie usługę OpenVAS:

systemctl daemon-reload 
openvas-stop
openvas-start

Od tej chwili możemy cieszyć się w pełni funkcjonalnym skanerem sieci do celów testów penetracyjnych. Otwieramy przeglądarkę i podajemy adres:

https://adres_ip_serwera:9392

MG

Tagi: , , , ,

Telnet w Windows czyli wakacje 2019

25 sierpnia, 2019 | Brak Komentarzy | Kategoria: Porady, Windows
Putty telnet

Po raz pierwszy od 3 miesięcy postanowiłem napisać krótki wakacyjny wpis jako podsumowanie letniego okresu. Chociaż podsumowanie nie będzie tu najlepszym określeniem. Chciałem po prostu zamieścić przynajmniej jeden wpis podczas wakacji 2019 (np. dotyczący popularnej komendy telnet).

Ponieważ nie można tak od razu rzucić się na pracę, tym razem kilka krótkich akapitów o narzędziu telnet. Już ponad 20 lat używam go w codziennej pracy. Powszechnie wiadomo – jest niebezpieczne, powinniśmy go unikać jak tylko można, ale w zasadzie do sprawdzania otwartych portów na zdalnych hostach jest najszybsze. Zapewne większość administratorów używała nie raz polecenia:

telnet host.remote.net 80

żeby sprawdzić czy działa serwer stron www. Komenda ta zadziała nawet jeżeli firewall blokuje pakiety ICMP czyli jeżeli w wyniku:

ping host.remote.net

otrzymamy odpowiedź typu “host jest nieosiągalny”.

W najnowszych wersjach systemów Windows a dotyczy to zarówno stacji roboczych jak i serwerów, ze wspomnianych względów bezpieczeństwa nie ma już komendy telnet. Można ją oczywiście różnymi sposobami doinstalować, jest nawet całkiem sporo poradników typu how-to w sieci. Jednak skoro Microsoft zadecydował, że coś jest niebezpieczne to może znajdzie się alternatywa.

Okazuje się, że wraz z rozwojem środowiska PowerShell, Microsoft dorzuca nam z każdą wersją ciekawe narzędzia. Jednym z nich jest program Test-NetworkConnection. Jeżeli uruchomimy PowerShell w naszym systemie to całkiem spokojnie możemy go wypróbować. A ponieważ parę akapitów wcześniej wspominałem o telnet, to spróbujmy użyć TNC właśnie w taki sposób:

tnc host.remote.net -port 80

Wynikiem będzie raport z ostanią linijką zatytułowaną TcpTestSucceeded. Parametr ten przyjmuje wartości true/false i funkcjonalnie odpowiada staremu dobremu połączeniu za pomocą telnet. TNC ma oczywiście multum innych opcji i serdecznie zachęcam do zapoznania się z dokumentacją.

MG

Tagi: , ,

IPv6 w służbie udziałom sieciowym

21 października, 2018 | Brak Komentarzy | Kategoria: Porady, Windows

IPv6Życie lubi często płatać figle. Nierzadko stawia administratorów przed bardzo dziwnymi zadaniami, uwzględniającymi bardzo wydumane ezoteryczne scenariusze działania. Gdybym sam się z tym nie stykał na co dzień, to muszę przyznać, że byłoby mi ciężko uwierzyć. A jednak shit happens jak mawiają.

Dzisiejszy wpis dotyczy sytuacji, w której ktoś postanowił wymienić sprzęt sieciowy, w tym serwery plików NAS (tj. QNAP, Synology) i zastąpić je po prostu udziałami na serwerze plików Windows. Ponieważ nowa polityka bezpiczeństwa nie zakładała wykorzystywania rozwiązań innych niż z systemem Windows, nagle wspomniane wcześniej urządzenia zostały wyłączone. Można powiedzieć – cóż… koszty wdrożenia… ale w ten sposób pozbyto się niemałej przestrzeni dyskowej (chodziło to o kilka, kilkanaście TB), która może być zawsze wykorzystana np. do kopii zapasowych. Nietrudno się domyśleć, że powstał problem jak podłączyć z powrotem urządzenia tak aby nie naruszały zasad bezpieczeństwa. Najlepiej oczywiście lokalnie np. przez port USB, ale po pierwsze nie każde ma taką możliwość, po drugie tracimy w ten sposób masę funkcji, które są wbudowane w gotowce typu NAS. Czyli pozostaje przełożyć dyski do serwerów Windows… otóż nie do końca.

Pierwszą myślą było utworzenie osobnej podsieci lokalnej dla naszego NASa i przygotowanie na wybranym komputerze sieciowego interfejsu wirtualnego tak aby stacja mogła korzystać równocześnie z głównej podsieci i w połączeniu punkt-punkt z dysków NAS (dzięki udziałom SMB). Łatwo powiedzieć i łatwo zrobić jeśli ktoś nie rzuca kłód pod nogi. A tym razem kolejną przeszkodą był fakt, że główny interfejs sieciowy został skonfigurowany do pobierania parametrów IP przez DHCP. Niestety ani Windows 7 ani Windows 10 nie umożliwiają skonfigurowania wirtualnej karty sieciowej jeśli podstawowa korzysta z DHCP. Oczywiście w sieci można znaleźć trochę propozycji rozwiązań, jednak nie działają one wogóle, albo wymagają instalowania dodatkowego oprogramowania. Dodatkowo często po restarcie komputera cała misternie przygotowana konfiguracja idzie w cyfrową niepamięć. I właśnie w tym przypadku przydaje się IPv6.

Wystarczy otworzyć okno właściwości karty sieciowej, żeby zauważyć, że przecież oporócz IPv4 możemy skonfigurować IPv6. Na razie mało kto z tego korzysta, a bywa, że ze względów bezpieczeństwa IPv6 jest wyłączane. Tym razem możemy skonfigurować lokalną sieć IPv6 do połączenia naszego komputera z NASem. Zatem po kolei. Na komputerze Windows dodajemy IPv6 z adresem lokalnym:

fe80::208:9bff:fef9:44f

Lokalny adres IPv6 wygenerujemy przy pomocy strony https://www.ultratools.com/tools/rangeGenerator. Pamiętajmy jednak aby wybrać adres z prefiksem 64. Jest to dosyć często spotykana opcja w gotowcach typu NAS.

Na naszym urządzeniu NAS konfigurujemy IPv6 z tej samej podsieci ale np. z numerem o 1 większym. Czyli uruchamiamy kalkulator z możliwością obliczeń w zapisie szesnastkowym i do wartości 44f dodajemy 1. Powiniśmy otrzymać adres postaci:

fe80::208:9bff:fef9:450

Po restarcie obu urządzeń mamy gotową podsieć lokalną składającą się z komputera Windows i serwera NAS. Musimy tylko wiedzieć jak dostać się do dysków np. z poziomu Eksploratora Plików Windows. Otwieramy zatem eksplorator i w polu adresu wpisujemy:

\\fe80--208-9bff-fef9-450.ipv6-literal.net

Wpisywanie każdorazowo powyższego adresu jest kłopotliwe, można zatem przygotować skrót na Pulpicie albo (jeszcze lepiej) zamontować nasz udział jako lokalny katalog (C:\NAS):

mklink /D C:\NAS \\fe80--208-9bff-fef9-450.ipv6-literal.net\

Pamiętajmy jednak, że montować możemy udział sieciowy (np. \\fe80–208-9bff-fef9-450.ipv6-literal.net\kopie), więc podany przeze mnie przykład nie zadziała 😉 .

MG

 

Tagi: , , , ,

Docker, Portainer i kłopoty z OpenProject

15 września, 2018 | Brak Komentarzy | Kategoria: Felieton, Linux, Porady

Docker

Techniki wirtualizacji są obecnie bardzo popularne. Począwszy od tych dostępnych na wyciągnięcie ręki dla każdego użytkownika, mam na myśli VirtualBox, a skończywszy na bardziej rozbudowanych typu VMware ESXi, czy QEMU. Te ostatnie wymagają już środowiska w pełni serwerowego i trochę zaawansowanej technicznie wiedzy (ale bez przesady). Z drugiej strony prężnie rozwija się technologia kontenerów wirtualizacyjnych typu Docker. Stają się one popularne głównie w środowisku programistów (koderów i developerów) bo pozwalają w łatwy sposób instalować całe środowiska z przygotowanych obrazów. Skraca to bardzo czas rozwoju oprogramowania, bo daje do ręki skonfigurowany gotowiec jak np. LAMP czyli Linux, Apache, MySQL, PHP/Python/Perl.

W tym wpisie chciałem się właśnie skupić się na apliakcji Docker. Wynika to głównie stąd, że jakiś czas temu realizowałem projekt polegający na zainstalowaniu całego środowiska developerskiego. Składały się na nie serwer z Debianem oraz 3 kontenery: GitLab, Nextcloud i OpenProject. Można powiedzieć solidne środowisko do pracy dla programistów. Całość została uruchomiona w sieci lokalnej, a każdy z wymienionych kontenerów był dostępny pod swoim własnym adresem IP oraz wewnętrzną nazwą domenową. Przy tej okazji chciałem podzielić się dwoma spostrzeżeniami, dotyczącymi problemów, których zrozumienie i dla których przygotowanie rozwiązania bardzo ułatwiło mi opracowanie rozwiązań. Jeden będzie dosyć ogólny, drugi zaś to przykład debugowania rozwiązania i zaaplikowania specyficznej łaty. Ale po kolei.

Środowiskiem kontenerów Dockera można zarządzać oczywiście za pomocą linii komend. Jednak jako alternatywe polecam gorąco projekt o nazwie Portainer. Instalowany jako jeden z pierwszych kontenerów naszego Dockera pozwoli w dosyć prosty i elegancki sposób zarządzać całością. Zwolenników aplikacji webowych ucieszy na pewno fakt, że jest to po prostu serwer, który udostępnia interfejs przeglądarkowy. Możemy zarządzać praktycznie wszystkimi potrzebnymi modułami w tym: kontenerami, obrazami, wolumenami i sieciami. Możliwości jest dużo więcej i najlepiej jest zainstalować to oprogramowanie samemu, żeby o tym się przekonać. Tym bardziej, że jest to łatwe jak instalacja każdego kontenera w Dockerze 🙂

Drugim problemem, bardziej złożonym, okazała się isntalacja OpenProject. Chciałbym o tym wspomnieć ponieważ jest to bardzo dobry przykład na to, z jakimi problememi można się spotkać używając Dockera. Sama instalacja z oficjalnego, przygotowanego przez autorów obrazu nie nastręcza większych żadnych trudności. Zaraz po uruchomieniu wszysko działa dobrze. Jednak z czasem, gdy będziemy musieli zrestartować cały serwer, a co za tym idzie swoje kontenery również, może się okazać, że OpenProject odmawia posłuszeństwa. Zamiast głównej strony serwisu natkniemy się na informacje o niedostępności. Po przeprowadzeniu wspomnianego na początku debugowania oraz sprawdzeniu stanu samego kontenera (który zachowuje się jak najbardziej poprawnie, czyli uruchamia się i nie zgłasza żadnych błędów) okazało się, że przyczyną jest zatrzymanie się serwera Apache. Niestety ręczne uruchamianie daemona również nie pomaga. Problem jest nieco głębszy i polega na tym, że w trakcie restartu kontenera zdarza się, że nie jest usuwany plik apache2.pid, co z punktu widzenia systemu oznacza, że Apache jak najbardziej działa cały czas (co nie jest prawdą). Rozwiązanie jest dosyć proste. Plik ten należy usunąć ręcznie, czyli:

  • z poziomu Portainera (omówionego akapit wcześniej) połączyć się z konsolą,
  • usunąć ręcznie plik PID: rm -f /var/run/apache2/apache2.pid,
  • uruchomić Apache: /etc/init.d/apache2 start.

Powyższa sztuczka pokazuje, że pomimo iż oficjalne kontenery Dockera zazwyczaj działają bez zarzutu to czasami wymagana jest głębsza wiedza i grzebanie w czeluściach obrazu.

MG

 

Tagi: , , , , ,

Kopie zapasowe w sieci Windows – część 2

21 lipca, 2018 | Brak Komentarzy | Kategoria: Porady, Windows

Kopie zapasoweWe wpisie z przed dwóch miesięcy – tak, tak, mnie również dopadło wakacyjne lenistwo, opisywałem jak stworzyć listę komputerów z systemem Windows, które są aktualnie aktywne w naszej domenie lub grupie roboczej. Omówione rozwiązanie działa niezależnie od wszelkich mechanizmów wbudowanych w Active Directory czy też innych. Wspomnianą listę można zapisać np. w pliku tekstowym, po to aby w następnej kolejności zbudować skrypt wsadowy, który wykona kopie zapasowe z komputerów z listy. Ale po kolei.

Po pierwsze, trzeba zapewnić sobie dostęp do zasobów lokalnych komputerów. Jeżeli na każdym z nich mamy swoje konto administracyjne i dodatkowo wszędzie używamy tego samego konta to bardzo łatwo jest odczytać zawartość dysków twardych np. partycji systemowej C:. Nie jest tajemnicą, że w Windows tworzone są standardowe udziały sieciowe np. C$, które odpowiadają całym partycjom. Ja jednak z wielu powodów namawiałbym do utworzenia specjalnego udziału np. o nazwie Archiwum, z uprawnieniami tylko-do-odczytu dla zdalnego adminstratora. Jeśli umówimy się z użytkownikami aby tam właśnie umieszczali ważne zbiory (może to być np. folder D:/Archiwum) to wtedy pozostanie jedynie zadbać o skopiowanie całej zawartości aby zabezpieczyć się przed ewentualną utratą danych.

Jako zagorzały zwolennik Linuksa zawsze uważałem, że nie ma nic lepszego od narzędzia rsync. Jednak jego instalacja w systemie Windows wiąże się z koniecznością zainstalowania całego środowiska Cygwin, lub co najmniej jego bibliotek dll wraz ze wspomnianym narzędziem. Może jednak istnieje coś podobnego dla Windows? Tak odkryłem narzędzie robocopy. Trzeba przyznać, że ma duże możliwości i co ważne potrafi robić lustro katalogów (mirror) a jest to przecież coś o co nam chodzi przy zabezpieczaniu danych.

Ponieważ wspomniana na początku wpisu lista komputerów zawiera ich nazwy netbios (a nie adresy IP) stąd napisanie prostego batcha nie powinno być żadnym problemem. Na pewno powinien zawierać komendę jak w poniższym przykładzie:

ROBOCOPY \\nazwa_netbios\Archiwum \Archiwum_nazwa_netbios /MIR /FFT →
→ /R:3 /W:10 /Z /NP /NDL

Wywołanie robocopy z podanymi parametrami spowoduje wykonanie dokładnego lustra z udziału Archiwum na komputerze nazwa_netbios do katalogu Archiwum_nazwa_netbios na naszym serwerze z kopiami zapasowymi – czyli po prostu lokalnie. Co ważniejsze ponowne jej wywołanie spowoduje wykonanie kopii różnicowej, a więc zapewni dużo szybsze działanie.

Pozostałe opcje pozostawiam dla zainteresowanych odsyłając do dokumentacji polecenia robocopy. Na koniec nadmienię tylko, że sam cały skrypt wsadowy przygotowuje na Linkuksie przy okazji generowania listy komputerów. Jest mi łatwiej to zrobić ze względu na stare przyzwyczajenia i dostepność takich narzędzi jak chociażby awk. Myślę jednak, że równie dobrze można to zrobić w środowisku Windows. Miłej zabawy.

MG

 

Tagi: , , ,

Kopie zapasowe w sieci Windows – część 1

19 maja, 2018 | Brak Komentarzy | Kategoria: Porady, Windows

Kopie zapasoweMożna powiedzieć, że wykonujemy kopie zapasowe, bo jest to obowiązek każdego administratora. Oczywiście zdarza się, że o naszych obowiązkach dowiadujemy się kiedy mamy duży problem bo zagineły np. pliki użytkowników. Nie mam w tym miejscu na myśli systemów serwerowych ale archiwa pracowników. Rzadko zdarza się, żeby ktoś zmusił się sam do robienia kopii skoro ma w firmie dział IT.

Niezależnie od tego czy dysponujemy domeną Active Directory, czy prostą grupą roboczą, zawsze warto się zabepieczać. W dzisiejszym wpisie chciałem pokazać jak zbudować prosty system kopii zapasowych, wykonywanych bez żadnych dodatkowych i płatnych narzędzi. W zasadzie wystarczą nam dwie rzeczy:

  • komputer z Linuxem i zainstalowanym pakietem nmap
  • komputer z Windows 7 w górę, który standardowo ma wbudowane polecenie robocopy

Pierwsze narzędzie posłuży nam do odkrywania komputerów, które są aktualnie dostępne w naszej sieci Windows. Zakładam, że na każdym z nich znajduje się udostępniony sieciowo katalog np. o nazwie Archiwum, którego zawartość powinniśmy skopiować do siebie. Wspomniany udział można oczywiście ukryć dodając znak na końcu jego nazwy, czyli powinno być Archiwum$. Pamiętajmy również aby archiwum udostępnić dla użytkownika, z którego konta uruchamiamy skrypty na naszym komputerze. Czyli jeśli pracujemy jako Admin z hasłem password, to udostępniamy zasoby dla takiego samego użytkownika. Jeśli nie mamy domeny, to po prostu dodajmy lokalnie na każdym komputerze takie konto.

Po co wykrywanie aktywnych końcówek w sieci? Otóż zanim zdobędziemy kopie danych musimy być pewni, że dany komputer jest włączony. Z moich doświadczeń wynika niestety, że bazowanie na DHCP, DNS czy skryptach wykozrystujących polecenia ping, arp nie jest skuteczne. Dużo lepiej jest to zrobić używając niezawodnego skanera sieciowego nmap. Oczywiście najlepiej jest uruchamiać go na maszynie z Linuksem. Można używać portów dla Windows, ale osobiście nie próbowałem i ciężko jest mi powiedzieć jaki będzie efekt.

Aby stworzyć naprawdę niezawodny system będziemy jeszcze potrzebować skryptu nbstat.nse. Dzięki niemu będziemy niezawodnie wykrywać aktywne hosty Windows. Przykładowe polecenie ma postać:

nmap -p 137 -sU --script nbstat.nse 192.168.1.1-254

co spowoduje przeskanowanie całej podsieci 192.168.1.1-254 i otrzymamy poniższy rezultat:

Starting Nmap 7.40 ( https://nmap.org ) at 2018-05-19 18:10 CEST
 Nmap scan report for PC1.local (192.168.1.1)
 Host is up (0.0031s latency).
 PORT STATE SERVICE
 137/udp open netbios-ns

Host script results:
 |_nbstat: NetBIOS name: PC1, NetBIOS user: <unknown>, NetBIOS MAC: 
   a4:4c:c8:cd:2f:0f (unknown)

...

Nmap done: 254 IP addresses (6 hosts up) scanned in 55.61 seconds

Z punktu widzenia dalszej obróbki skryptu powinniśmy wyczyścić powyższy raport i można to zrobić w bardzo prosty sposób:

nmap -p 137 -sU --script nbstat.nse 192.168.1.1-254 | →
→ awk '/local/ {print $5}'

Zwracam uwagę, że tym sposobem filtrujemy linie zawierające frazę local, może być to inna fraza, według naszego uznanania i konfiguracji sieci. Tak czy inaczej tym razem otrzymamy już tylko listę adresów IP. Będzie to lista aktywnych w danym momencie końcówek, dla których powinniśmy wykonać kopię plików. Możemy zatem skorzystać z polecenia robocopy, ale o tym następnym razem.

MG

Tagi: , , ,

Telnet – instalacja na Windows Server 2016

17 marca, 2018 | Brak Komentarzy | Kategoria: Porady, Windows

TelnetŚrodowisko systemów serwerowych Microsoft zmienia się bardzo dynamicznie. Nie ma co ukrywać, że konkurencja rozwija się bardzo szybko i pomimo, że mogłoby wydawać się, iż nic nie zagrozi dominacji serwerów Windows w segmencie małych i średnich firm wykorzystujących rozwiązania oparte o MS SQL, to sam Microsoft wprowadza modyfikacje podążające za najnowszymi trendami. Nie ukrywam, że na przykład bardzo mnie cieszy współpraca z Canonical i migracja części narzędzi terminalowych wprost z Linuxa. Bo właśnie o terminal tutaj chodzi, a będąc bardziej precyzyjnym o wygodę z jego korzystania (czyli np. poleceń telnet, ftp itd.). Narzędzia interfejsu graficznego mają swoje zalety, w szczególności dla początkującego użytkownika, jednak jeśli ktoś przebrnie przez początkowe trudności to zazwyczaj docenia mocno wygodę korzystania z trybu tekstowego.

W dzisiejszym wpisie chciałem pokazać jak zainstalować narzędzia Windows 2016 Server za pomocą 3 metod. Jak można się domyślić z poprzedniego akapitu skupię się raczej na terminalu niż na okienkach konfiguracyjnych. Za przykład posłuży nam program telnet.

Po pierwsze warto sprawdzić czy przypadkiem telnet nie został już zainstalowany w systemie. Można sprawdzić to w bardzo prosty sposób. Otwieramy terminal tekstowy i wpisujemy polecenie:

C:\>telnet google.com 80
 'telnet' is not recognized as an internal or external command, →
 → operable program or batch file.
C:\>

Powyższy komunikat świadczy, że należy włączyć narzędzie na poziomie serwera, czyli po prostu zainstalować aplikację.

Tereaz możemy przejść do instalacji w zwykłym terminalu tekstowym (uruchamianym poleceniem cmd – command prompt):

dism /online /Enable-Feature /FeatureName:TelnetClient

Po krótkim oczekiwaniu aplikacja zostanie zainstalowana.

Na tym nie konczą się nasze możliwości ponieważ można zrobić to samo w słynnym PowerShellu. Tym razem trzeba użyć polecenia:

Install-WindowsFeature -name Telnet-Client

W szczególności to rozwiązanie wydaje się być bardzo ciekawe, a użycie polecenia Install-WindowsFeature daje nam naprawdę duże możliwości. Polecam potestować – więcej informacji można znaleźć w dokumentacji na stronach Microsoftu.

Trzeciej opcji, którą jest instalacja w trybie okienkowym, nie będę opisywał. Z premedytacją – jako zwolennik terminali tekstowych.

MG

Tagi: , , , ,