Blog (66)
Komentarze (4.8k)
Recenzje (2)

Windows Server 2012 - firewall i obsługa z linii komend

@bachusWindows Server 2012 - firewall i obsługa z linii komend29.01.2013 15:19

Ostatnio miałem przyjemność dyskutować z kolegą, którego spotkała "przyjemność" instalacji środowiska bazodanowego w Windows Server 2012, który "jest złym systemem operacyjnym, bo tam tyle klikania". Ból jest tym większy, gdyż pierwszym rzucie miał do skonfigurowania około 300 instancji.

W przypadku jednego - dwóch serwerów, wszystko można "wyklikać":

  • pobranie odpowiednich komponentów oprogramowania,
  • instalacja oprogramowania,
  • konfiguracja,
  • konfiguracja firewalla, reguł itd.

Jak jednak przychodzi wykonać to na kilkuset hostach, dodatkowo zautomatyzować proces w przypadku przeinstalowania, zamienia się to w tygodnie pracy.

Ogniomurek

Wracając do wyżej wymienionego środowiska, zapomnijmy na chwilę o innych aspektach, poza jednym - zapora sieciowa. Firewall - jeden ze sposobów zabezpieczania sieci i systemów przed intruzami. Cytując Wikipedię:

Termin ten może odnosić się zarówno do dedykowanego sprzętu komputerowego wraz ze specjalnym oprogramowaniem, jak i do samego oprogramowania blokującego niepowołany dostęp do komputera. Do jego podstawowych zadań należy filtrowanie połączeń wchodzących i wychodzących oraz tym samym odmawianie żądań dostępu uznanych za niebezpieczne.
[źródło: Wikipedia]
[źródło: Wikipedia]

W systemach Windows pierwszy firewall ("ICF") pojawił się w roku 2001 w odpowiedzi na komercyjne produkty. Produkt zyskał dość złą sławę, był uznawany za "zbędny dodatek, który trzeba zastąpić dobrym programem". Przez ostatnie ~10lat FW istotnie ewaluował i moim zdaniem jest obecnie niedoceniony - spełnia wszystkie wymogi firewalla "programowego". Zdarzają się oczywiście "security bypass vulnerability", ale wpis nie dotyczy porównania różnych rozwiązań, oraz ich wad i zalet. Jest to temat na ciekawą dyskusję, oraz tym bardziej ciekawy flame: należy jednak pamiętać, że zawsze się może znaleźć cwaniak o hakerskim pseudonimie (np. G0r10n), który obejdzie potrójną ścianę i cytując klasyka wejdzie: "emacsem przez sendmail: [youtube=https://www.youtube.com/watch?v=wFXLzr86MQ4]


/sbin/iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT

Firewall w Windows Server 2012

Zasada działania i ustawienia firewalla w wersjach deskptopowych i serwerowych nie różnią się znacząco.

[firewall: Windows7]
[firewall: Windows7]

Podstawowe okno przedstawia osobne ustawienia dla trzech profili:

  • Domain profile- komputer podłączony do domeny (czyli tam, gdzie następuje uwierzytelnianie w środowisku AD),
  • Private profile - przypisane "do użytkownika", np. w sieci domowej,
  • Public profile - np. korzystając z hot-spotu na lotnisku

Użytkownicy Windowsa pewnie znają, że podłączając się do nowej sieci (firewall włączony), zostaniemy poproszeni o zaznaczenie z jakiego profilu sieciowego chcemy korzystać - jest to o tyle wygodne, gdyż profil publiczy może zostać skonfigurowany bardzo restrykcyjnie w celu zwiększenia bezpieczeństwa przy korzystaniu z sieci "zaśmieconych".

Szczegółowe ustawienia umożliwiają konfigurację ustawień dla połączeń przychodzących i wychodzących, monitorowanie (logi), oraz reguł:

Jak wspomniałem wyżej, ustawienia można "wyklikać", jednak niektórym brakuje w Windowsie prostego oskryptowania procesu konfiguracji zapory, jak np. Linuksie (iptables) dostęp do SSH to w większości sytuacji dwie linijki:


/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

Netsh

Netsh (Network Shell) jest narzędziem do konfiguracji interfejsów sieciowych (w tym firewalla), wprowadzonym już za czasów Windows 2000. Pomijając setki opcji netsh, warto wspomnieć, że poza wyżej wymienionym "shellem" (interaktywna konsola), polecenia można zamienić w skrypty i zamiast powoli przekopywać się przez komendy, wkleić jedną linijkę zawierającą wszystkie przełączniki:

Pomimo obecnego od kilku lat (genialnego) PowerShell, ja nadal nie wyobrażam sobie niektórych skryptów bez netsh, chociaż Microsoft odgraża się, że w nowszych wersjach Windowsa może już być tylko możliwość administracji ustawieniami tylko z poziomu PS:

“Microsoft recommends that you transition to Windows PowerShell if you currently use netsh to configure and manage Windows Firewall with Advanced Security. Type Get-Command -Module NetSecurity at the Windows PowerShell prompt to view a list of commands to manage Windows Firewall with Advanced Security. Visit http://go.microsoft.com/fwlink/?LinkId=217627 for additional information about PowerShell commands for Windows Firewall with Advanced Security. etsh advfirewall>”

W PowerShell składnia bywa dość skomplikowana, jednak bez straszenia... o tym za chwilę.

Przykłady pracy z firewallem

Najpierw przyglądnijmy się wszystkim aktywnym ustawieniom FW.

Wszystkie ustawienia: CMD.exe:

netsh dump | more

Dla PowerShell:

Get-NetFirewallProfile

Bardziej szczegółowo:

Dla testów, lub w niektórych środowiskach konieczne jest wyłącznie firewalla na pojedycznym, lub na wszystkich profilach:

  • Wyłącznie firewalla na wszystkich profilach:

CMD.exe:

netsh advfirewall set allprofiles state off

PS:

Set-NetFirewallProfile -All -Enabled “true”

lub:

Set-NetFirewallProfile -name * -Enabled “false”

ewentualnie przy np. opornym Windows 8:

Import-Module NetSecurity -ea Stop ; Get-NetFirewallProfile | Set-NetfirewallProfile -Enabled False

Na tej samej zasadzie można wykonywać operacje na poszczególnych profilach

CMD.exe:

netsh advfirewall set domainprofile state off netsh advfirewall set privateprofile state off netsh advfirewall set publicprofile state off

PS:

Set-NetFirewallProfile -name * -Enabled “false”

No a jak już zbyt dużo "namieszaliśmy", przydatna może być komenda przywracająca "ustawienia fabryczne" firewalla. Tu mała uwaga: w ten sposób można sobie łatwo odciąć drogę do serwera, co może być szczególnie kłopotliwe, gdy znajduje się on w odległości 6 godzin lotu samolotem a nie ma kogo poprosić o pomoc...

netsh advfirewall reset

PS:

Set-NetFirewallProfile -name domain -DisabledInterfaceAliases NotConfigured

Chcę oglądać twoje logi...

W zarządzaniu serwerami warto zwrócić uwagę na logi a szczególnie na ich lokalizację. Nie jest rekomendowane, aby przy zmiane domyślnych wartości (jak maksymalna wielkość pliku) przechowywać go na głównej partycji. W przypadku kompromitacji serwera dużo prościej jest analizować log z zewnętrznego udziału sieciowego (np. NAS), oraz parsować za pomocą programów do monitoringu.

Windows Server 2012 przy ustawieniach standardowych ma maksymalnie 4kB i jest przechowywany w pliku:

%systemroot%\system32\LogFiles\Firewall\pfirewall.log

(czyli np. %systemroot%\system32\LogFiles\Firewall\pfirewall.log)

Zmiana lokalizacji pliku z poziomu CMD.exe:

netsh advfirewall set currentprofile logging filename "X:\LOGS\SERV1\pfirewall.log"

Z poziomu PS:

Set-NetFirewallProfile -name domain -LogFileName “X:\LOGS\SERV1\pfirewall.log”

Powyższe komendy zadziałają, ale wypada jednak zmienić domyślną wielkość pliku na większą (zależną od potrzeb), oraz zacząć logować zdarzenia (domyślnie odrzucone i dopuszczone pakiety nie są logowane):

CMD.exe:

netsh advfirewall set currentprofile logging filename "X:\LOGS\SERV1\pfirewall.log 1234096 enable enable"

PS i przykład dla profilu DOMAIN:

Set-NetFirewallProfile -name domain -LogMaxSizeKilobytes 1234096 Set-NetFirewallProfile -name domain -LogAllowed true -LogBlocked true

Praca z indywidualnymi regułami

Istotnym zagadnieniem jest praca z indywidualnymi programami i portami - czasem np. chcemy mieć pewność, że tylko jedna usługa ma dostęp do pakietów wychodzących przez port SMTP.

W przypadku ustawień za pomocą "czarodzieja", zostaniemy prowadzeni za rączkę przez kolejne etapy ustawień, tj.:

  • Rule Type
  • Requirements
  • Authentication methods
  • Profile
  • Name

W drugiej części postaram się przytoczyć przykłady dodawania reguł, portów i reguł za pomocą PS i netsh.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.