10 sposobów zabezpieczenia serwera Samba w systemie Linux

  • Włącz szyfrowanie ruchu SMB, aby zapobiec nieautoryzowanemu dostępowi i cyberatakom. Użyj Transport Layer Security (TLS), aby zabezpieczyć ruch na serwerze Linux Samba.
  • Zaimplementuj ścisłą kontrolę dostępu i uprawnienia do współdzielonych zasobów, korzystając z pliku konfiguracyjnego /etc/samba/smb.conf. Zdefiniuj reguły dostępu, uprawnień i ograniczeń, aby zapewnić dostęp do zasobów tylko autoryzowanym użytkownikom.
  • Egzekwuj silne i unikalne hasła do kont użytkowników SMB, aby zwiększyć bezpieczeństwo. Regularnie aktualizuj Linuksa i Sambę, aby chronić się przed lukami w zabezpieczeniach i cyberatakami oraz unikać korzystania z niezabezpieczonego protokołu SMBv1.
  • Skonfiguruj reguły zapory, aby ograniczyć dostęp do portów SMB i rozważ segmentację sieci, aby odizolować ruch SMB od niezaufanych sieci. Monitoruj dzienniki SMB pod kątem podejrzanych działań i incydentów związanych z bezpieczeństwem oraz ograniczaj dostęp gości i anonimowe połączenia.
  • Wdrażaj ograniczenia oparte na hostach, aby kontrolować dostęp do określonych hostów i odmawiać dostępu innym. Podejmij dodatkowe środki bezpieczeństwa, aby wzmocnić swoją sieć i wzmocnić serwery Linux.

Protokół SMB (Server Message Block) jest podstawą udostępniania plików i drukarek w połączonych środowiskach. Jednak domyślna konfiguracja Samby może stanowić poważne zagrożenie dla bezpieczeństwa, narażając sieć na nieautoryzowany dostęp i cyberataki.

Jeśli hostujesz serwer Samby, musisz zachować szczególną ostrożność w przypadku skonfigurowanych konfiguracji. Oto 10 krytycznych kroków, które zapewnią bezpieczeństwo i ochronę serwera SMB.

1. Włącz szyfrowanie ruchu SMB

Domyślnie ruch SMB nie jest szyfrowany. Możesz to zweryfikować, przechwytując pakiety sieciowe za pomocą tcpdump lub Wireshark. Zaszyfrowanie całego ruchu jest niezwykle ważne, aby uniemożliwić atakującemu przechwycenie i analizę ruchu.

Zaleca się skonfigurowanie Transport Layer Security (TLS) w celu szyfrowania i zabezpieczania ruchu na serwerze Linux Samba.

2. Wdrożenie ścisłej kontroli dostępu i uprawnień do zasobów współdzielonych

Należy wdrożyć ścisłą kontrolę dostępu i uprawnienia, aby zapewnić, że połączeni użytkownicy nie będą mogli uzyskać dostępu do niechcianych zasobów. Samba używa centralnego pliku konfiguracyjnego /etc/samba/smb.conf, który umożliwia definiowanie reguł dostępu i uprawnień.

Korzystając ze specjalnej składni, możesz zdefiniować zasoby, które mają być udostępniane, użytkowników/grupy, którym można przyznać dostęp do tych zasobów, oraz określić, czy zasoby mogą być przeglądane, zapisywane lub odczytywane. Oto przykładowa składnia deklarowania zasobu i implementowania w nim kontroli dostępu:

 [sambashare]
comment= Samba Example
path = /home/your_username/sambashare
browseable = yes
writable = yes
valid users = @groupname

W powyższych wierszach dodajemy nową lokalizację udziału ze ścieżką, a przy prawidłowych użytkownikach ograniczamy dostęp do udziału tylko do jednej grupy. Istnieje wiele innych sposobów definiowania kontroli i dostępu do udziału. Możesz dowiedzieć się więcej na ten temat z naszego dedykowanego przewodnika na temat konfigurowania udostępnionego folderu sieciowego w systemie Linux za pomocą Samby.

3. Używaj silnych i unikalnych haseł do kont użytkowników SMB

Egzekwowanie solidnych zasad haseł dla kont użytkowników SMB to podstawowa najlepsza praktyka w zakresie bezpieczeństwa. Jako administrator systemu powinieneś stworzyć lub nakłaniać wszystkich użytkowników do tworzenia silnych i unikalnych haseł do swoich kont.

Możesz również przyspieszyć ten proces, automatycznie generując silne hasła za pomocą narzędzi. Opcjonalnie możesz również regularnie zmieniać hasła, aby ograniczyć ryzyko wycieku danych i nieautoryzowanego dostępu.

4. Regularnie aktualizuj Linuksa i Sambę

Najprostszą formą pasywnej obrony przed wszelkiego rodzaju cyberatakami jest upewnienie się, że używasz zaktualizowanych wersji krytycznego oprogramowania. SMB jest podatne na luki w zabezpieczeniach. To zawsze lukratywny cel dla atakujących.

W przeszłości występowało wiele krytycznych luk w zabezpieczeniach SMB, które prowadziły do ​​całkowitego przejęcia systemu lub utraty poufnych danych. Musisz aktualizować zarówno system operacyjny, jak i usługi o znaczeniu krytycznym.

5. Unikaj używania protokołu SMBv1

SMBv1 jest niezabezpieczonym protokołem. Zawsze zaleca się, aby za każdym razem, gdy używasz SMB, czy to w systemie Windows, czy Linux, unikaj używania SMBv1 i używaj tylko SMBv2 i nowszych. Aby wyłączyć protokół SMBv1, dodaj ten wiersz do pliku konfiguracyjnego:

 min protocol = SMB2 

Gwarantuje to, że minimalnym używanym protokołem będzie SMBv2.

6. Egzekwuj reguły zapory w celu ograniczenia dostępu do portów SMB

Skonfiguruj zaporę sieciową, aby zezwalała na dostęp do portów SMB, zazwyczaj portu 139 i portu 445, tylko z zaufanych źródeł. Pomaga to zapobiegać nieautoryzowanemu dostępowi i zmniejsza ryzyko ataków opartych na SMB ze strony zagrożeń zewnętrznych.

Należy również rozważyć zainstalowanie rozwiązania IDS wraz z dedykowaną zaporą ogniową, aby mieć lepszą kontrolę i rejestrację ruchu. Nie masz pewności, której zapory sieciowej użyć? Możesz znaleźć taki, który Ci odpowiada, z listy najlepszych darmowych zapór ogniowych dla systemu Linux.

7. Zaimplementuj segmentację sieci, aby odizolować ruch SMB od niezaufanych sieci

Segmentacja sieci to technika dzielenia pojedynczego monolitycznego modelu sieci komputerowej na wiele podsieci, z których każda nazywana jest segmentem sieci. Ma to na celu poprawę bezpieczeństwa, wydajności i możliwości zarządzania siecią.

Aby odizolować ruch SMB od niezaufanych sieci, możesz utworzyć oddzielny segment sieci dla ruchu SMB i skonfigurować reguły zapory, aby zezwalały tylko na ruch SMB do iz tego segmentu. Pozwala to na zarządzanie i monitorowanie ruchu SMB w ukierunkowany sposób.

W systemie Linux możesz użyć iptables lub podobnego narzędzia sieciowego do skonfigurowania reguł zapory w celu kontrolowania przepływu ruchu między segmentami sieci. Możesz utworzyć reguły zezwalające na ruch SMB do iz segmentu sieci SMB, blokując cały inny ruch. Pozwoli to skutecznie odizolować ruch SMB od niezaufanych sieci.

8. Monitoruj dzienniki SMB pod kątem podejrzanych działań i incydentów bezpieczeństwa

Monitorowanie dzienników SMB pod kątem podejrzanych działań i incydentów związanych z bezpieczeństwem jest ważną częścią utrzymywania bezpieczeństwa sieci. Dzienniki SMB zawierają informacje o ruchu SMB, w tym o dostępie do plików, uwierzytelnianiu i innych zdarzeniach. Regularnie monitorując te dzienniki, można zidentyfikować potencjalne zagrożenia bezpieczeństwa i je złagodzić.

W systemie Linux możesz użyć polecenia journalctl i przekazać jego dane wyjściowe do polecenia grep, aby przeglądać i analizować dzienniki SMB.

 journalctl -u smbd.service 

Spowoduje to wyświetlenie dzienników jednostki smbd.service, która jest odpowiedzialna za zarządzanie ruchem SMB. Możesz użyć opcji -f, aby śledzić dzienniki w czasie rzeczywistym, lub użyć opcji -r, aby najpierw wyświetlić najnowsze wpisy.

Aby przeszukać dzienniki pod kątem określonych zdarzeń lub wzorców, prześlij dane wyjściowe polecenia journalctl do grep. Na przykład, aby wyszukać nieudane próby uwierzytelnienia, uruchom:

 journalctl -u smbd.service | grep -i "authentication failure" 

Spowoduje to wyświetlenie wszystkich wpisów dziennika zawierających tekst „błąd uwierzytelnienia”, co pozwoli szybko zidentyfikować wszelkie podejrzane działania lub próby użycia siły.

9. Ogranicz korzystanie z dostępu gościnnego i połączeń anonimowych

Włączenie dostępu gościnnego umożliwia użytkownikom łączenie się z serwerem Samby bez podawania nazwy użytkownika lub hasła, podczas gdy połączenia anonimowe umożliwiają użytkownikom łączenie się bez podawania jakichkolwiek informacji uwierzytelniających.

Obie te opcje mogą stanowić zagrożenie bezpieczeństwa, jeśli nie są odpowiednio zarządzane. Zaleca się wyłączenie obu z nich. Aby to zrobić, musisz dodać lub zmodyfikować kilka linii w pliku konfiguracyjnym Samby. Oto, co musisz dodać/zmodyfikować w sekcji globalnej pliku smb.conf:

 map to guest = never
restrict anonymous = 2

10. Zaimplementuj ograniczenia oparte na hostach

Domyślnie udostępniony serwer Samby jest dostępny dla dowolnego hosta (adresu IP) bez ograniczeń. Dostęp ma na celu ustanowienie połączenia, a nie dosłownie dostęp do zasobów.

Aby zezwolić na dostęp do określonych hostów i odmówić odpoczynku, możesz skorzystać z opcji hosty zezwalają i hosty odmawiają. Oto składnia, którą należy dodać do pliku konfiguracyjnego, aby zezwalać/odmawiać hostom:

 hosts allow = 127.0.0.1 192.168.1.0/24
hosts deny = 0.0.0.0/0

Tutaj wydajesz Sambie polecenie odrzucania wszystkich połączeń poza lokalnym hostem i siecią 192.168.1.0/24. Jest to również jeden z podstawowych sposobów zabezpieczenia serwera SSH.

Teraz wiesz, jak zabezpieczyć swój serwer Samba Linux

Linux jest świetny do hostowania serwerów. Jednak za każdym razem, gdy masz do czynienia z serwerami, musisz postępować ostrożnie i zachować szczególną ostrożność, ponieważ serwery z systemem Linux są zawsze lukratywnym celem dla cyberprzestępców.

Najważniejsze jest, abyś włożył szczery wysiłek we wzmocnienie swojej sieci i wzmocnienie serwerów Linux. Oprócz prawidłowego skonfigurowania Samby, jest kilka innych środków, które powinieneś podjąć, aby upewnić się, że serwer Linux jest bezpieczny przed celownikami przeciwników.