Security tips
SSL
Предоставляет шифрование соединения сайта, повышение его в поисковой выдаче и подтверждает аутентичность сайта.
Инструкция к получению SSL сертификата: Lets Encrypt
SSH
- SSH-ключи, а не пароли
Пароли подбираются - Используй актуальные алгоритмы шифрования и размеры ключей
- Следи за файловыми permission-ами на SSH-ключи
- fail2banfail2ban
Защита ОС
-
Вовремя обновляй ядро, пакеты (
apt upgrade
) и дистрибутив (do-release-upgade
) -
Используй unattended-upgradesunattended-upgrades
Пакет, который реализует механизм автоматических обновлений.
Настраивается, по дефолту настроен на security upgrades (обновления пакетов только из security-репозитория).
Является родным механизмом для Debian-based дистов. -
Для “технических” юзеров используй shell /usr/sbin/nologin или просто /sbin/nologin
Даже если такая учётка скомпрометируется - войти в консоль с ней не удастся
Такие юзеры используются для запуска скриптов и т.д. -
Бэкапыbackup
-
auditd (Linux Audit Daemon)auditd
Позволяет отслеживать многие типы событий:- доступ к файлам и изменение прав на них
- выявление пользователей, изменивших конкретный файл
- несанкционированные изменений
- мониторинг системных вызовов и функций
- обнаружение сбоев и т.д.
- мониторинг вводимых команд
Настройки ядра (Sysctl)
/etc/sysctl.conf - конфиг-файл для установки системных переменных. Загружаются и применяются во время запуска системы.
Чтобы подтянуть настройки нужно:
Поиск руткитов, бэкдоров и локальных уязвимостей
Wordpress
- Защити доступ к web-UI админки SSL-сертификатом и ограничь туда кол-во попыток логина
- Юзай всякие security plugins в wordpress
- Запрети запуск PHP-скриптов из untrusted директорий
- Разграничивай роли юзеров wordpress
- Переименуй юзера Admin…
MySQL
- Разграничивай роли юзеров MySQL
- Запрети удаленный доступ в root
- Юзай TLS для защиты соединений с БД
- Юзай скрипт
mysql_secure_installation
Nginx
-
Выставь
server_tokens off
Позволяет не выдавать версию nginx.
Знание версии любого приложения сужает круг поиска уязвимостей. -
Отключи неиспользуемые http-методы
-
Юзай WAF (opensource WAF - mod_security)
-
Включи логи и мониторь их
-
Выставь выбор шифров на стороне сервера
ssl_prefer_server_ciphers on
Заголовки безопасности
Prometheus
Настрой базовую http-аутентификацию: Prometheus basic auth