Покращуємо безпеку сервера FreeBSD

Покращуємо безпеку сервера FreeBSD

Якщо Вам необхідно покращити безпеку сервера FreeBSD, необхідно зробити наступне.

. Убезпечимо роботу демона SSHD.

1. Дозволимо доступ до машини лише тим, кому належить.

Це здійснюється додаванням наступної лінії файл /etc/ssh/sshd_config:

AllowUsers john bob

І не забуваємо перезапустити службу.

Ви можете також дозволити доступ групі wheel (особисто я не вважаю це правильним.), ввівши для цього конфігураційний файл /etc/ssh/sshd_config рядок

А також заборонити логінуватись під root.

Запустіть сервіс SSH на іншому порту. За замовчуванням він запускається на 22 портах.

Для цього відредагуйте /etc/ssh/sshd_config, змінивши відповідний рядок на:

При цьому перевірте, щоб цей порт не використовувався іншим сервісом.

І не забудьте перезапустити службу.

і перекинутися новим портом.

Блокуйте множинне підключення через SSH

-максимальна кількість спроб підключення (6)

- Максимальна довжина сесії (10 хвилин).

Регулярно оновлюйте SSHD, ставте патчі.

Забороняйте введення пароля інрерактивності та користуйтеся публічними ключами.

Завжди використовуйте протокол SSH 2, він використовується за замовчуванням.

8. Якщо Ви видаєте користувачам паролі, то вони повинні бути не менше 8 знаків і складатися з літер, цифр і т.д.

Регулярно змінюйте паролі та вимикайте непотрібні облікові записи.

Вимкніть усі непотрібні послуги.

Проскануйте свій сервер за допомогою nmap

nmap -P0 server_ip

), щоб побачити всі відкриті порти та запущені сервіси.

Зупиніть непотрібні сервіси та відключіть їхнє завантаження у файлі/etc/rc.conf.

Видаліть або забороніть виконання непотрібних скриптів у директорії /usr/local/etc/rc.d (

chmod -x /usr/local/etc/rc.d/script_name.sh

Для деяких служб закоментуйте їх у файлі /etc/inetd.conf

Забезпечте вашу консоль.

Відредагуйте /etc/ttys та замініть рядки

console none unknown off secure

console none unknown off insecure

Забороніть перезавантаження машини через Ctrl+Alt+Del.

Для цього введіть рядок у конфігураційний файл ядра:

і перезберіть ядро.

Регулярно скануйте порти та відключайте непотрібні сервіси.

Синхронізуйте час сервера.

Не використовуйте Logrotate. Якщо використовуєте, то урізуйте логи лише щотижня та щомісяця.

е.Захист від DOS/DDOS.

Нижче описане допомагає частково захиститись від DOS/DDOS атак.

редагуйте наступні змінні sysctl

# to defensa against SYN attacks

Атакуючий може спробувати модифікувати таблицю маршрутизації.

Щоб уникнути цього, змініть:

ж.Створіть checksum ваших файлів

Для цього використовуйте tripwire (

Не використовуйте ftp, використовуйте лише sftp для копіювання файлів.

Регулярно перевіряйте логі.

msl = maximum segment life = максимальний час очікування ACK у рукостисканні SYN-ACK або FIN-ACK у мілісекундах.

-Ця змінна встановлює, що станеться, коли ваша машина візьме пакер TCP на закритий порт. ( 1- SYN пакет буде відкинутий, 2 - всі пакети будуть відкинуті.)

— Ця змінна контролює максимальне число ICMP «Unreachable» і TCP RST, що повертаються кожну секунду.

Для мережевих карток dc, em, fxp, nge, rl, sis увімкніть у ядрі DEVICE_POLLING option

, щоб зменшити час центрального процесорав обробці вхідного трафіку. Перекомпіліть і переустановіть ядро ​​і поміняйте наступну змінну sysctl.

в. Встановіть та налаштуйте firewall

к. Використовуйте JAIL, де це можливо для Web Server, Mail Server, DNS Server.

л. Використовуйте DMZ для веб-сервера.

м. Перевірте роздільну здатність файлів

Перевірте setuid and setgid файли на сервері:

# find / -type f ( - perm 2000 -o perm -4000 ) -print

о. Встановіть рівень безпеки ядра.

Існує 5 рівнів безпеки для FreeBSD - від -1 до 3. Рівень змінюється за допомогою змінної sysctl kern.securelevel

п. Видаліть опції ядра, які не використовуються.

Нижче наведені опції зазвичай не використовуються на промислових серверах.

Налаштуйте Ваш сервер так, щоб він приховував підпис операційної системи для утиліт типу nmap. Для цього треба перекомпилювати ядро ​​з опцією