10 начина да защитите вашия Samba сървър на Linux

Ключови изводи

  • Активирайте криптиране за SMB трафик, за да предотвратите неоторизиран достъп и кибератаки. Използвайте сигурността на транспортния слой (TLS), за да защитите трафика на вашия Linux Samba сървър.
  • Приложете строг контрол на достъпа и разрешения за споделени ресурси, като използвате конфигурационния файл /etc/samba/smb.conf. Дефинирайте правила за достъп, разрешения и ограничения, за да гарантирате, че само оторизирани потребители имат достъп до ресурси.
  • Налагайте силни и уникални пароли за SMB потребителски акаунти, за да подобрите сигурността. Редовно актуализирайте Linux и Samba, за да се предпазите от уязвимости и кибератаки и избягвайте използването на несигурния протокол SMBv1.
  • Конфигурирайте правилата на защитната стена, за да ограничите достъпа до SMB портове и помислете за сегментиране на мрежата, за да изолирате SMB трафика от ненадеждни мрежи. Наблюдавайте регистрационните файлове на SMB за подозрителни дейности и инциденти със сигурността и ограничавайте достъпа на гостите и анонимните връзки.
  • Приложете ограничения, базирани на хост, за да контролирате достъпа до конкретни хостове и да откажете достъп на други. Вземете допълнителни мерки за сигурност, за да укрепите вашата мрежа и да втвърдите вашите Linux сървъри.

Протоколът SMB (Server Message Block) е крайъгълен камък на споделянето на файлове и принтери в свързани среди. Конфигурацията по подразбиране на Samba обаче може да създаде значителни рискове за сигурността, оставяйки мрежата ви уязвима за неоторизиран достъп и кибератаки.

Ако хоствате Samba сървър, трябва да бъдете изключително внимателни с конфигурациите, които сте задали. Ето 10 критични стъпки, за да гарантирате, че вашият SMB сървър остава сигурен и защитен.

1. Активирайте криптиране за SMB трафик

По подразбиране SMB трафикът не е шифрован. Можете да проверите това, като заснемете мрежови пакети с tcpdump или Wireshark. От първостепенно значение е да шифровате целия трафик, за да попречите на нападател да прихване и анализира трафика.

  Как да играете игри с Itch.io на Linux

Препоръчва се да настроите защитата на транспортния слой (TLS), за да шифровате и защитите трафика на вашия Linux Samba сървър.

2. Прилагане на строг контрол на достъпа и разрешения за споделени ресурси

Трябва да приложите строг контрол на достъпа и разрешения, за да сте сигурни, че свързаните потребители нямат достъп до непоискани ресурси. Samba използва централен конфигурационен файл /etc/samba/smb.conf, който ви позволява да дефинирате правила за достъп и разрешения.

Използвайки специален синтаксис, можете да дефинирате ресурси за споделяне, потребители/групи, които да предоставят достъп до тези ресурси, както и дали ресурсът(ите) може да се преглежда, записва или чете от него. Ето примерния синтаксис за деклариране на ресурс и прилагане на контроли за достъп до него:

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

В горните редове добавяме ново местоположение за споделяне с път и с валидни потребители ограничаваме достъпа до споделянето само до една група. Има много други начини за дефиниране на контроли и достъп до споделяне. Можете да научите повече за това от нашето специално ръководство за това как да настроите споделена мрежова папка на Linux със Samba.

3. Използвайте силни и уникални пароли за SMB потребителски акаунти

Прилагането на стабилни политики за пароли за SMB потребителски акаунти е основна най-добра практика за сигурност. Като системен администратор трябва да създадете или да накарате всички потребители да създадат силни и уникални пароли за своите акаунти.

Можете също така да ускорите този процес, като автоматично генерирате силни пароли с помощта на инструменти. По желание можете също редовно да редувате пароли, за да намалите риска от изтичане на данни и неоторизиран достъп.

4. Редовно актуализирайте Linux и Samba

Най-простата форма на пасивна защита срещу всички видове кибератаки е да гарантирате, че използвате актуализирани версии на критичен софтуер. SMB е предразположен към уязвимости. Винаги е доходоносна цел за нападателите.

В миналото е имало множество критични уязвимости на SMB, които са довели до пълно превземане на системата или загуба на поверителни данни. Трябва да поддържате актуални както вашата операционна система, така и критичните услуги в нея.

  Как да планирате системни команди с Cron на Linux

5. Избягвайте използването на SMBv1 протокол

SMBv1 е несигурен протокол. Винаги се препоръчва, когато използвате SMB, независимо дали е под Windows или Linux, да избягвате използването на SMBv1 и да използвате само SMBv2 и по-нови. За да деактивирате протокола SMBv1, добавете този ред към конфигурационния файл:

 min protocol = SMB2 

Това гарантира, че минималното използвано ниво на протокол ще бъде SMBv2.

6. Приложете правилата на защитната стена за ограничаване на достъпа до SMB портове

Конфигурирайте защитната стена на вашата мрежа, за да разрешите достъп до SMB портове, обикновено порт 139 и порт 445, само от доверени източници. Това помага за предотвратяване на неоторизиран достъп и намалява риска от базирани на SMB атаки от външни заплахи.

Трябва също така да обмислите инсталирането на IDS решение заедно със специална защитна стена, за да имате по-добър контрол и регистриране на трафика. Не сте сигурни коя защитна стена да използвате? Може да намерите тази, която ви подхожда от списъка с най-добрите безплатни защитни стени на Linux, които да използвате.

7. Приложете мрежово сегментиране, за да изолирате SMB трафика от ненадеждни мрежи

Мрежовото сегментиране е техниката за разделяне на единичен монолитен модел на компютърна мрежа на множество подмрежи, всяка от които се нарича мрежов сегмент. Това се прави, за да се подобри сигурността, производителността и управляемостта на мрежата.

За да изолирате SMB трафик от ненадеждни мрежи, можете да създадете отделен мрежов сегмент за SMB трафик и да конфигурирате правилата на защитната стена, за да разрешавате само SMB трафик към и от този сегмент. Това ви позволява да управлявате и наблюдавате SMB трафика по фокусиран начин.

В Linux можете да използвате iptables или подобен мрежов инструмент, за да конфигурирате правилата на защитната стена, за да контролирате потока на трафик между мрежовите сегменти. Можете да създадете правила, за да разрешите SMB трафик към и от SMB мрежовия сегмент, като същевременно блокирате целия друг трафик. Това ефективно ще изолира SMB трафика от ненадеждни мрежи.

8. Наблюдавайте регистрационните файлове на SMB за подозрителни дейности и инциденти със сигурността

Наблюдението на SMB регистрационни файлове за подозрителни дейности и инциденти със сигурността е важна част от поддържането на сигурността на вашата мрежа. SMB регистрационните файлове съдържат информация за SMB трафика, включително достъп до файлове, удостоверяване и други събития. Чрез редовно наблюдение на тези регистрационни файлове можете да идентифицирате потенциални заплахи за сигурността и да ги смекчите.

  Как да хоствате сървър на Minecraft на Linux

В Linux можете да използвате командата journalctl и да насочите нейния изход към командата grep, за да видите и анализирате SMB регистрационни файлове.

 journalctl -u smbd.service 

Това ще покаже регистрационните файлове за единицата smbd.service, която отговаря за управлението на SMB трафика. Можете да използвате опцията -f, за да следвате регистрационните файлове в реално време или да използвате опцията -r, за да видите първо най-новите записи.

За да търсите в регистрационните файлове за конкретни събития или модели, препратете изхода на командата journalctl към grep. Например, за да търсите неуспешни опити за удостоверяване, изпълнете:

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

Това ще покаже всички записи в регистрационния файл, които съдържат текста „неуспешно удостоверяване“, което ви позволява бързо да идентифицирате всяка подозрителна дейност или опити за груба сила.

9. Ограничете използването на гост достъп и анонимни връзки

Разрешаването на достъп като гост позволява на потребителите да се свързват към Samba сървъра, без да предоставят потребителско име или парола, докато анонимните връзки позволяват на потребителите да се свързват, без да предоставят информация за удостоверяване.

И двете опции могат да представляват риск за сигурността, ако не се управляват правилно. Препоръчително е да изключите и двете. За да направите това, трябва да добавите или модифицирате няколко реда в конфигурационния файл на Samba. Ето какво трябва да добавите/промените в глобалната секция на файла smb.conf:

 map to guest = never
restrict anonymous = 2

10. Прилагане на ограничения, базирани на хост

По подразбиране открит Samba сървър може да бъде достъпен от всеки хост (IP адрес) без ограничения. Под достъп се има предвид да се установи връзка, а не буквално достъп до ресурсите.

За да разрешите достъп до конкретни хостове и да откажете почивка, можете да използвате опциите за разрешаване на хостове и отказ на хостове. Ето синтаксиса, който трябва да добавите към конфигурационния файл, за да разрешите/откажете хостове:

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

Тук заповядвате на Samba да откаже всички връзки с изключение на тези на локалния хост и мрежата 192.168.1.0/24. Това е един от основните начини да защитите и вашия SSH сървър.

Вече знаете как да защитите вашия Samba Linux сървър

Linux е страхотен за хостване на сървъри. Въпреки това, когато имате работа със сървъри, трябва да действате внимателно и да бъдете особено наясно, тъй като Linux сървърите винаги са доходоносна цел за участниците в заплахите.

От първостепенно значение е да положите искрени усилия за укрепване на вашата мрежа и заздравяване на вашите Linux сървъри. Освен правилното конфигуриране на Samba, има няколко други мерки, които трябва да предприемете, за да сте сигурни, че вашият Linux сървър е защитен от мерника на противници.