Чек-лист параметров безопасности сервера Windows/Linux

Этот чек-лист безопасности сервера поможет вам в конфигурации и первичной проверке защищенности вашей Windows- или Linux-инфраструктуры. В нем перечислены доступные базовые меры по предотвращению возможных атак, не требующие специальных познаний и навыков.

Для начальной настройки параметров безопасности вашего сервера вы можете воспользоваться нашими инструкциями для Windows и Linux.

 
Windows
Linux
Физическая безопасность

Исключите физический доступ третьих лиц к серверу (для арендуемых физических и виртуальных серверов за вас это cделает дата-центр).

Не подключайте непроверенные носители к вашему серверу.

Установите пароль для входа в BIOS.

Идентично Windows
Файловая система

Желательно выполнить NTFS-форматирование всех разделов.

Используйте различные разделы для работы системы и под пользовательские программы/файлы.

Используйте разные разделы для системных и пользовательских файлов (директории /home).

Желательно выполнить шифрование разделов (LVM Encryption).

Настройте fstab для контроля доступа к дискам.

Установите для раздела boot права только на чтение. 

Регулярные обновления безопасности
Настройте сервер на автоматическое получение важных обновлений через Центр обновления Windows.
Вы можете настроить планировщик cron на периодическую установку обновлений.
Firewall
Firewall (Брандмауэр Windows) должен быть включен и корректно настроен на контроль ПО и портов.

Детально настройте iptables. Это можно сделать вручную, либо с использованием вспомогательных инструментов (самые популярные из них: UFW для Debian/Ubuntu, FirewallD для CentOS).

Используйте систему SELinux для контроля доступа (в т.ч. приложений к ресурсам).

Пароли

С помощью локальных политик безопасности установите требование сложных паролей и срок их действия.

Также стоит активировать временную или постоянную блокировку учетной записи после нескольких неверных попыток ввода пароля.

Установите требование сложных паролей и блокировку учетной записи после нескольких неверных попыток ввода пароля.

Используйте ssh-сертификаты для подключения к серверу и отключите доступ по паролю.

Запретите доступ пользователям с пустым паролем через инструмент passwd.

Пользователи

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

Используйте предустановленные и собственные группы пользователей и разграничьте их права. Это проще, чем каждый раз устанавливать индивидуальные права доступа к файлам и сервисам.

По возможности, не наделяйте пользователей лишними правами и используйте для задач, не требующих административных привилегий, учетную запись с ограниченными правами.

Создайте пользователя с ограниченными правами,  и делегируйте ему права суперпользователя (добавлением в группу sudo). Выполняйте операции, для которых не требуются root-полномочия, от имени этого пользователя. 

Заблокируйте ssh и ftp-подключения для пользователя root (вы  всегда сможете войти в его аккаунт, выполнив команду sudo –s или su root от имени рядового пользователя).

Настройте ssh на вход по ключу, отключите вход по паролю.

Мастер настройки безопасности
Запустите мастер настройки безопасности (Security Configuration Wizard) на всех Windows-узлах вашей сети.
Не актуально для Linux-систем
Групповые политики
Корректно настройте групповые политики Active Directory, не используйте Рабочие Группы (Workgroup) в критической инфраструктуре.

Не актуально для Linux. Другое дело, если Linux-машины интегрированы в сеть Windows и работают с Active Directory – в этом случае изучите аспекты безопасности  Samba.

Используйте преднастроенные и собственные группы пользователей и разграничивайте их права. Это удобнее и надежнее, чем регулярно настраивать индивидуальные права.

Сеть

Активируйте доступ только из внутренней сети для машин и сервисов, которым не требуется интернет-доступ из внешней сети для полноценной работы. 

Используйте VLAN и VPN для сегментации групп узлов и безопасности каналов между ними. Готовые услуги по развертыванию VLAN иногда предлагаются самими хостинг-провайдерами.

Смените порты стандартных сервисов на самих хостах или измените и переадресуйте порты сервисов на сетевом оборудовании (офисном роутере или виртуальном маршрутизаторе).

Используйте IPsec для шифрования трафика, активируйте использование ключей и сертификатов (Secure Key Exchange) между сайтами.

Аналогично Windows + обратите внимание на системы централизованного контроля доступа, такие как Kerberos и OpenLDAP.

Используйте TCPWrappers для фильтрации интернет-доступа.

Используйте утилиту netstat для просмотра всех открытых портов и связанного с ними ПО.

Изоляция ролей и сервисов

В идеале, один сервер должен выполнять одну конкретную функцию (контроллер домена, файловый сервер, терминальный сервер и т.д.). На практике такая диверсификация ролей редко оказывается возможной в полной мере, но вы можете реализивать его достаточной степени, например, с помощью виртуальных машин, развернутых для выполнения отдельных ролей.

Отключайте неиспользуемые роли и службы на сервере. 

Избегайте установки на сервер лишних пакетов и работы неиспользуемых сервисов. Получить список запущенных сервисов можно с помощью chkconfig

Физически (например, с помощью виртуализации) и логически изолируйте функции серверов. Для логической изоляции процессов вы можете использовать jail.

Резервное копирование и восстановление

Настройте периодическое резервное копирование на отдельный диск, раздел или в безопасное удаленное хранилище. Сделать это можно с помощью стандартных инструментов Windows или стороннего ПО (например, Acronis). Если вы арендуете сервер у хостинг-провайдера, то, возможно, он предлагает готовые решения по резервному копированию.

Не храните резервные копии незашифрованными и в незащищенных хранилищах.

Выполняйте регулярное резервное копирование на отдельный диск, раздел или в безопасное удаленное хранилище. Сделать это можно с помощью стандартных средств Linux или стороннего ПО (например, Acronis). При аренде сервера на хостинге вы можете использовать готовые решения по резервному копированию, предоставляемые хостинг-провайдером.

Не храните резервные копии незашифрованными и в незащищенных хранилищах.

Удаленные рабочие столы

Выполните настройку безопасности RDP-подключений:  запретите подключение к удаленным рабочим столам для пользователей с пустым паролем, смените стандартный порт Remote Desktop Protocol, настройте SSL для RDP.

Хорошим способом усиления безопасности служб удаленных рабочих столов является использование шлюза терминальных серверов (TS Gateway)

Не включайте доступ через VNC для root-пользователя, особенно на постоянной основе.

Используйте VNC через SSH для обеспечения безопасности удаленных рабочих столов на Linux-машинах.

Используйте для VNC-сессий пароли, отличные от используемых в системе sudo-пользователями.

SQL (Базы данных)

Не используйте один и тот же SQL-сервер для работы со всеми критически важными базами.

Если вы используете Active Directory, настройте запуск SQL-сервера от имени пользователя домена с минимальными полномочиями.

Для аудита безопасности SQL-сервера вы можете обратиться к соответствующему списку рекомендаций Microsoft.

Для настройки параметров безопасности MySQL изучите и измените параметры файла my.cnf (/etc/mysql.cnf): bind-address, local-infile, log.

Проверьте MySQL на наличие пользователей с пустым паролем. 

Измените правила удаленного администрирования MySQL (вместо любого адреса подключения укажите белый список IP, от которых будут приниматься обращения). 

Измените имя root-пользователя MySQL.

Веб-сервер

Отключите неиспользуемые функции IIS (например, FTP-сервер). 

Настройте параметры безопасности сервера IIS: права доступа к файлам, папкам, сайту; MIME-Type; фильтрацию запросов; пул приложений; ведение логов.

Используйте систему безопасности SE Linux

Установите и настройте modsecurity – firewall  для веб-серверов.

 

Отключите поддержку SSLv3 для Apache
 

 

Общий доступ к файлам

Измените права по умолчанию на доступ к общим директориям исходя из принципа установки минимально необходимого уровня прав доступа для пользователя. Давайте полные права только администраторам. Удалите лишние группы и пользователей.

Предпочтительнее создавать группы пользователей и делегировать права им, а не отдельным клиентам.

Не разрешайте анонимный доступ общим директориям.

Используйте SFTP вместо FTP и уделите внимание его конфигурации.

Аналогично Windows + уделите внимание конфигурации безопасности Samba (при ее использовании).
Антивирусное ПО и системы мониторинга подозрительной активности

Если на вашем сервере выполняются действия, инициируемые пользователями (напр., работа с удаленными рабочими столами, сетевыми хранилищами), рекомендуется установка антивирусного ПО и его настройка на автоматическое обновление.

В анализе состояния безопасности Windows-инфраструктуры вам также поможет Microsoft Baseline Security Analyzer.

Антивирусное ПО не требуется, но  обязательны детальная настройка Firewall и мониторинг безопасности сервера (например,  c помощью утилиты Tiger).

 

Установите и настройте  инспектор подозрительной активности (напр., fail2ban) для автоматического мониторинга и блокировки несанкционированных подключений.
 

 

Логи
Настройте ведение подробных логов, хотя бы по работе критически важных сегментов вашей инфраструктуры, и регулярно инспектируйте их.
Идентично Windows
 

Последнее обновление: 22.09.2021