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. Важливо зашифрувати весь трафік, щоб запобігти перехопленню та аналізу трафіку зловмисниками.

  Як використовувати tmux в 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

Застосування надійної політики паролів для облікових записів користувачів малого та середнього бізнесу є фундаментальною найкращою практикою безпеки. Як системний адміністратор, ви повинні створити або закликати всіх користувачів створювати надійні та унікальні паролі для своїх облікових записів.

Ви також можете прискорити цей процес, автоматично генеруючи надійні паролі за допомогою інструментів. Крім того, ви можете регулярно змінювати паролі, щоб зменшити ризик витоку даних і несанкціонованого доступу.

4. Регулярно оновлюйте Linux і Samba

Найпростішою формою пасивного захисту від усіх видів кібератак є забезпечення використання оновлених версій критичного програмного забезпечення. SMB схильний до вразливостей. Це завжди вигідна мета для зловмисників.

  5 найкращих допоміжних програм Arch Linux AUR

У минулому було кілька критичних уразливостей SMB, які призводили до повного захоплення системи або втрати конфіденційних даних. Ви повинні постійно оновлювати операційну систему та критичні служби в ній.

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, включаючи доступ до файлів, автентифікацію та інші події. Регулярно відстежуючи ці журнали, ви можете виявити потенційні загрози безпеці та пом’якшити їх.

  Як змінити дані користувача за допомогою chfn і usermod в 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 захищений від прицілу зловмисників.