Skonfiguruj dostęp do sieci i SSH w pfSense z maksymalnym bezpieczeństwem

Dwa główne sposoby zarządzania systemem operacyjnym pfSense to dostęp do sieci i SSH. W pierwszym przypadku pfSense jest domyślnie ustawiony na używanie protokołu HTTPS na porcie 443, ale zalecane są pewne zmiany, aby lepiej go chronić. To samo dotyczy serwera SSH, który jest zintegrowany z systemem operacyjnym, wskazane jest dokonanie pewnych zmian konfiguracyjnych dla najlepszego możliwego bezpieczeństwa, ponieważ poprzez SSH możemy skonfigurować każdy wewnętrzny aspekt działania systemu i musimy zabezpieczyć te dwa dostępy przed włamania zewnętrzne.

Skonfiguruj zarządzanie Internetem za pomocą HTTPS

Aby skonfigurować HTTPS, musisz przejść do menu Systemowe / Zaawansowane W tym menu zobaczymy „Dostęp administratora”. Możemy wybierać pomiędzy HTTP i HTTPS, zaleca się zawsze używać HTTPS, aby zapewnić naszą komunikację, a także jej integralność. Przy włączaniu HTTPS musimy wybrać certyfikat SSL/TLS, który domyślnie został już utworzony wraz z systemem operacyjnym, ale bez problemu możemy utworzyć nowy lub nawet go odnowić.

W tym menu możesz również wybrać port TCP do użycia, jeśli nic nie jest ustawione, domyślny port HTTPS to zawsze 443. Możesz także wybrać maksymalną liczbę jednoczesnych użytkowników do zarządzania pfSense, domyślnie 2, ale możemy go pobrać jeśli mają wielu administratorów. Reszta opcji konfiguracyjnych powinna być z wartościami, które ustawiliśmy poniżej, wszystkie są domyślne i są idealne.

Na Wydziale ” Menedżer systemu/certyfikatów „, Widzimy certyfikat SSL / TLS używany przez serwer WWW HTTPS, możemy go odnowić, usunąć, wyeksportować klucz publiczny, a także klucz prywatny w dowolnym momencie. W zasadzie nie powinniśmy go dotykać, ale jeśli to zrobimy, możemy go odnowić lub zmienić nazwę samego certyfikatu.

Jeśli wpiszemy „Page Info” w dowolnej przeglądarce, zobaczymy, że połączenie jest szyfrowane za pomocą TLS 1.3, najnowszego dostępnego protokołu, który zapewnia nam najlepsze bezpieczeństwo i wydajność na bezpiecznych połączeniach.

Jeśli chodzi o dane certyfikatu, pfSense tworzy 2048-bitowy certyfikat RSA, co jest typowe, gdy mamy serwer WWW z HTTPS. Jeśli chcemy zmienić to zabezpieczenie, musimy stworzyć CA (Certification Authority), a następnie certyfikat serwera, który wisi w tym CA, w ten sposób możemy użyć dłuższego RSA, a nawet krzywych eliptycznych (ECDSA), wreszcie możemy skonfigurować algorytm mieszający do użycia.

W przypadku odświeżenia certyfikatu cyfrowego odpowiadającego serwerowi WWW wystarczy przejść do sekcji „System / Menedżer certyfikatów”, kliknąć odśwież certyfikat konfiguracji internetowej i kliknąć przycisk „Odśwież lub zamień” i utwórz go dla nowego.

Jak już zauważyłeś, konfiguracja HTTPS jest naprawdę łatwa i prosta, pozwoli nam na bezpieczne uwierzytelnianie przez Internet.

Skonfiguruj zarządzanie za pomocą konsoli z SSH

Bezpieczny protokół SSH pozwoli nam na zdalny dostęp do zarządzania systemem operacyjnym pfSense z poziomu konsoli. Będziemy mieć różne rodzaje uwierzytelniania:

  • Klucz publiczny SSH
  • Hasło lub klucz publiczny (lub)
  • Hasło i klucz publiczny (oba)

Będziemy mogli również włączyć transfer na serwer SSH, np. w celu uruchomienia tuneli SSH. Na koniec możemy zmodyfikować port nasłuchiwania serwera SSH, dla tego protokołu jest to 22 TCP, ale możemy to zmienić, rzeczywiście, ze względów bezpieczeństwa zaleca się zmianę domyślnego portu serwera SSH.

Po skonfigurowaniu uwierzytelniania musimy skonfigurować, którzy użytkownicy mogą uwierzytelniać się na serwerze SSH, a także klucze SSH, które mają ci użytkownicy. Jeśli klikniemy hiperłącze z napisem „użytkownik”, przeniesie nas bezpośrednio do „Menedżera systemu / użytkownika” i tutaj możemy dodać nowego użytkownika z różnymi uprawnieniami. W naszym przypadku dodaliśmy nowego użytkownika należącego do grupy „admins”.

Jeśli tworzymy lub modyfikujemy nowego użytkownika, możemy skonfigurować różne ustawienia. W naszym przypadku dodaliśmy go do grupy administratorów, jak pokazano na poniższym obrazku:

Aby połączyć się z pfSense przez SSH, musimy przyznać odpowiednie uprawnienia w sekcji „Silne uprawnienia”, z całej listy uprawnień, jakie może posiadać użytkownik:

  • Użytkownik – System: dostęp do konta shell

Gdy masz to prawo, możemy zalogować się do systemu operacyjnego za pomocą Twojej nazwy użytkownika. W zależności od tego, co wybraliśmy podczas uwierzytelniania użytkownika, musimy wykonać dodatkową akcję:

  • Klucz publiczny SSH: musi zostać wygenerowany
  • Hasło lub klucz publiczny (jeden): możemy użyć skonfigurowanego klucza lub klucza publicznego SSH, jeśli go utworzymy.
  • Hasło i klucz publiczny (oba): użyjemy skonfigurowanego klucza i klucza publicznego SSH, konieczne jest jego utworzenie.

Ponieważ najbezpieczniejszą rzeczą do uwierzytelniania jest „klucz publiczny SSH” lub „hasło i klucz publiczny (oba)”, musimy utworzyć klucze SSH.

Generuj klucze SSH za pomocą Puttygen

Obecnie korzystamy z systemu Windows 10, najłatwiejszym sposobem tworzenia kluczy SSH jest użycie programu ” Generator kluczy stiukowych „Które możesz pobrać za darmo. Nie wymaga instalacji, po pobraniu programu uruchomimy go i zobaczymy następujące menu:

Tutaj możemy skonfigurować różne typy kluczy SSH, najpopularniejsze i najbardziej znane są RSA i DSA, ale zaleca się używanie kluczy takich jak ECDSA oraz Ed25519, które wykorzystują krzywe eliptyczne. W naszym przypadku użyliśmy Ed25519, wybierz go i kliknij „Utwórz”.

Po kliknięciu na stwórz musimy poruszać myszą, aby tworzyć losowo, a klucze zostaną utworzone poprawnie. Na górze widzimy teraz klucz publiczny, który należy wkleić do utworzonego wcześniej użytkownika pfSense. Możesz skonfigurować komentarz do klucza, a także hasło do odszyfrowania klucza prywatnego podczas logowania, co zwiększa bezpieczeństwo. Jeśli ktoś jest w stanie ukraść nasz klucz prywatny, nie będzie mógł z niego skorzystać, jeśli nie ma utworzonego hasła.

Po utworzeniu klucza kliknij „Zapisz klucz publiczny” i „Zapisz klucz prywatny”, aby zawsze mieć pod ręką parę kluczy. Musimy pamiętać, że klucz publiczny jest tym, co musimy skopiować do użytkownika, jak widać:

Gdy serwer SSH zostanie w pełni skonfigurowany w pfSense, pokażemy Ci, jak połączyć się z popularnym programem Putty.

Połącz się z pfSense za pomocą Putty i klucza SSH

Otwórz program Putty i przejdź do sekcji „Login / SSH / Auth” i przejdź do sekcji „Plik klucza prywatnego do uwierzytelniania”, a następnie kliknij „Przeglądaj”, aby załadować wcześniej zapisany klucz prywatny.

Teraz przejdź do sekcji „Session”, wpisz adres IP i port serwera SSH w pfSense, po jego wypełnieniu kliknij „Otwórz”.

Teraz powie nam, że połączenie nie zostało zapisane, więc łączymy się po raz pierwszy. Aby się zalogować, musisz kliknąć „Tak”.

Poprosi nas o nazwę użytkownika logowania, wprowadzamy nazwę użytkownika powiązaną z tym wygenerowanym kluczem SSH:

A gdy wprowadzimy nazwę użytkownika, będzie to oznaczało, że uwierzytelnianie jest prawidłowe i możemy rozpocząć wykonywanie poleceń przez SSH w systemie operacyjnym pfSense. W tym przykładzie użyliśmy tylko klucza publicznego, nie użyliśmy hasła SSH i kombinacji klucza publicznego, ale możesz go również bez problemu użyć, jedynej rzeczy, która poprosi nas o hasło podczas logowania.

Teraz, gdy poprawnie skonfigurowaliśmy serwer SSH, zobaczymy kilka dodatkowych konfiguracji.

Opcje ochrony konsoli i zarządzania połączeniami

Na Wydziale ” Systemowe / Zaawansowane „Możemy skonfigurować ochronę połączenia, w zasadzie domyślna konfiguracja jest bardzo dobra do blokowania atakujących, którzy nieustannie próbują połączyć się z serwerem SSH. Jeśli przekroczymy 1800 w ciągu 10 sekund, próby dostępu zostaną zablokowane na 120 sekund.

Na dole, gdzie mamy „Pass List”, możemy umieścić publiczne adresy IP, na które zezwalamy na przekazywanie tych zabezpieczeń, jest to konieczne w przypadku usług takich jak UptimeRobot, które od czasu do czasu próbują zweryfikować, czy działa SSH lub serwer WWW.

Inne konfiguracje, które należy wykonać, to sekcja „Menu konsoli”, zaleca się zabezpieczyć ją hasłem. Nie tylko będziemy musieli mieć fizyczny dostęp do zespołu pfSense, ale także uwierzytelnienie roota.

Przed zakończeniem chcielibyśmy omówić dodatkowe gwarancje.

Reguły zapory i korzystanie z IDS/IPS

PfSense to bardzo potężny i zaawansowany system operacyjny zorientowany na firewall, dzięki różnym regułom, które możemy skonfigurować w różnych interfejsach, będziemy mieli możliwość zezwolenia lub odmowy dostępu do serwera WWW i serwera SSH. Dobrą praktyką bezpieczeństwa jest nie zezwalanie na dostęp do sieci lub SSH przez Internet. Jeśli potrzebujesz zdalnie zarządzać pfSense, dobrą praktyką jest łączenie się przez VPN z jednym z wielu autoryzowanych serwerów pfSense VPN (OpenVPN, WireGuard, IPsec . .. ), następnie zaimportuj przez sieć lub SSH, ale nie udostępniaj obu usług w Internecie, mimo że odpowiednio je zabezpieczyliśmy.

Jeśli nie masz innego wyjścia, jak ujawnić obie usługi (z jakiegokolwiek powodu), zalecamy zainstalowanie i skonfigurowanie systemu wykrywania i zapobiegania włamaniom, takiego jak Snort lub Suricata. W ten sposób będziesz mieć większą kontrolę nad utworzonymi połączeniami i automatycznie wykluczysz możliwe ataki brutalnej przemocy, odmowę usługi itp.

To samo dzieje się, gdy chcemy zezwolić lub odmówić dostępu do różnych sieci VLAN, które możemy utworzyć. Najbardziej normalne jest to, że sieć zdefiniowana jako „Odwiedzający” nigdy nie ma dostępu do panelu administracyjnego pfSense, którym jest Internet lub SSH . Należy to zrobić w sekcji „Firewall / Rules”, ustawiając reguły dla adresów lub sieci pochodzenia i przeznaczenia w samym pfSense, jak to zwykle bywa.

Mamy nadzieję, że dzięki tym rekomendacjom będziesz w stanie odpowiednio zabezpieczyć dostęp do sieci i SSH do pfSense.

Dodaj komentarz