До основного вмісту
🔒

Безпека

42 статей у розділі

Розділ закриває питання «як не дати сайт чи сервер зламати» одразу на трьох рівнях: мережевий периметр, сама панель чи VDS і облікові записи, через які туди заходять. Розглянуто практичні сценарії — від перших спроб перебору паролів ботами до підготовки до справжнього DDoS, — а не абстрактні поради «використовуйте складний пароль».

Для сервера розібрано файрвол (UFW) та Fail2ban, які разом зупиняють перебір SSH і брутфорс через Nginx, а також базовий захист MySQL від типових помилок налаштування. На рівні застосунку — ModSecurity як WAF, Content Security Policy проти XSS і фільтрація спаму та ботів, які інакше забивають форми й адмінку.

Окремо пояснено різницю між типами SSL-сертифікатів (DV, OV, EV) і чому попередження про змішаний вміст на HTTPS-сайті не косметична дрібниця, а діра в захисті. Для входу — SSH-ключі замість пароля на VDS і двофакторна автентифікація в cPanel; для DDoS — як це влаштовано на боці ZevsHost і що можна налаштувати додатково.

Як захистити сайт від злому Базові правила безпеки сайту на WordPress та інших CMS на хостингу ZevsHost. DDoS-захист на ZevsHost: як це працює Як працює DDoS-захист L3/L4/L7 на серверах ZevsHost і що робити під час атаки. Безпечні паролі та менеджери паролів Правила створення надійних паролів для хостингу та рекомендації щодо менеджерів паролів. Типи SSL-сертифікатів: DV, OV, EV — чим відрізняються Чим відрізняються SSL-сертифікати DV, OV та EV: рівень перевірки, вартість, відображення в браузері, для яких сайтів підходить кожен тип. Таблиця порівняння. Захист сайту від спаму та ботів Методи захисту форм та коментарів на сайті від спаму: reCAPTCHA, honeypot, антиспам-плагіни. Mixed Content HTTPS: як знайти та виправити помилки Що таке mixed content на HTTPS-сайті, чому браузер блокує ресурси та як виправити помилки змішаного контенту в WordPress, коді та через .htaccess. Fail2ban: захист SSH і Nginx від підбору паролів Встановлення та налаштування Fail2ban на Ubuntu/Debian. Захист SSH, вебсервера та панелі управління від автоматичних атак. ModSecurity WAF: захист веб-застосунків на Apache/Nginx Що таке ModSecurity WAF, як встановити і налаштувати на Apache та Nginx, увімкнути правила OWASP CRS, керувати хибними спрацюваннями і моніторити атаки. SSH-ключі: безпечний вхід на VPS без пароля Генерація SSH-ключів, додавання публічного ключа на сервер, вимкнення входу за паролем. Налаштування для Windows PuTTY та Linux/Mac. Content Security Policy (CSP): захист від XSS-атак Як налаштувати Content Security Policy проти XSS: директиви default-src, script-src, style-src, report-uri. Приклади CSP для WordPress та SPA-застосунків. Cloudflare: безкоштовний CDN та захист від DDoS Підключення Cloudflare до домену: зміна NS-серверів, налаштування кешу, захист від DDoS, SSL та прискорення сайту на безкоштовному тарифі. Двофакторна автентифікація в cPanel: налаштування 2FA Як увімкнути двофакторну автентифікацію (2FA) у cPanel через Google Authenticator або Authy. Інструкція з QR-кодом, резервними кодами та відновленням доступу. Безпека MySQL на VPS: захист від злому Як захистити сервер MySQL на VPS: заборона віддаленого root, mysql_secure_installation, окремі користувачі для БД, шифрування з'єднань і моніторинг запитів. UFW Firewall на VPS: налаштування брандмауера Ubuntu Як налаштувати UFW (Uncomplicated Firewall) на Ubuntu VPS: базові правила, відкриття портів SSH/HTTP/HTTPS, блокування IP, захист від DDoS і логування подій. HSTS: примусовий HTTPS для захисту сайту Що таке HSTS, як додати заголовок через .htaccess або Nginx, увімкнути preload, налаштувати max-age і уникнути помилок при відкоті на HTTP. WireGuard VPN на VPS: швидке встановлення та налаштування Як встановити WireGuard VPN на Ubuntu VPS за 10 хвилин: генерація ключів, налаштування сервера та клієнта, додавання пірів, QR-код для телефону й автозапуск. SSH Hardening: безпечне налаштування сервера від злому Посилення безпеки SSH на Linux: змінити порт, вимкнути root, налаштувати AllowUsers, MaxAuthTries, ключі та двофакторну автентифікацію. Hardening Nginx: безпечна конфігурація вебсервера Безпечне налаштування Nginx: приховати версію, заголовки безпеки, обмежити HTTP-методи, rate limiting, захист від clickjacking і MIME-sniffing. Безпека WordPress: повний чеклист захисту сайту Повний захист WordPress: права файлів, xmlrpc.php, Wordfence, wp-config.php, двофакторна автентифікація та моніторинг змін файлів. Права на файли Linux: chmod, chown, SUID та ACL Права на файли Linux: числова та символьна нотація chmod, зміна власника chown, спеціальні біти SUID/SGID/Sticky, розширені ACL. Безпечна конфігурація PHP: налаштування php.ini для продакшн Безпечне налаштування PHP для продакшн: display_errors, expose_php, open_basedir, disable_functions, захист сесій та обмеження ресурсів. Захист від брутфорс-атак: fail2ban, CAPTCHA і rate limiting Комплексний захист від брутфорс-атак: налаштування fail2ban для SSH і вебу, CAPTCHA на формах, rate limiting в Nginx, геоблокування та IP-whitelist. CrowdSec: сучасна IPS-система захисту для VPS CrowdSec — відкрита IPS нового покоління: встановлення на Linux, налаштування колекцій, інтеграція з Nginx і блокування загроз через shared threat intelligence. Виявлення руткітів на Linux: rkhunter і chkrootkit Як знайти руткіти на Linux-сервері: встановлення і налаштування rkhunter, chkrootkit, автоматичне сканування за розкладом та аналіз звітів. Злом сайту: діагностика, очищення та відновлення Що робити, якщо зламали сайт: ознаки злому, пошук шкідливого коду, очищення від malware, відновлення з бекапу та запобігання повторному злому. Чеклист безпеки нового Linux-сервера: 30 кроків Повний чеклист безпеки нового VPS/VDS: оновлення, SSH, firewall, fail2ban, користувачі, моніторинг — 30 кроків від голого сервера до захищеного хоста. Аудит безпеки Linux з auditd: моніторинг подій сервера Налаштування auditd для моніторингу безпеки Linux: відстеження входів, змін файлів, привілейованих команд та аналіз логів через ausearch. Безпечне налаштування MariaDB та MySQL на VPS Hardening MariaDB/MySQL: mysql_secure_installation, створення користувачів з мінімальними правами, шифрування з'єднань, відключення remote root, резервні копії. Двофакторна автентифікація для SSH і веб-панелей Налаштування двофакторної автентифікації (2FA) на Linux-сервері: TOTP через Google Authenticator для SSH, ISPmanager і WordPress з інструкцією з відновлення. Захист від DDoS-атак: Nginx, Cloudflare і системні заходи Комплексний захист від DDoS: ліміти з'єднань у Nginx, rate limiting, налаштування Cloudflare DDoS Protection, sysctl-оптимізація і реагування на атаку. Let's Encrypt Wildcard: автопролонгація сертифіката Як отримати Wildcard SSL від Let's Encrypt через DNS-верифікацію, налаштувати автопролонгацію Certbot і перевірити роботу через acme.sh та Cloudflare API. iptables: налаштування файрвола Linux з нуля iptables: основні ланцюжки INPUT/OUTPUT/FORWARD, дозвіл SSH/HTTP/HTTPS, блокування портів, захист від сканування, збереження правил. Мандатний контроль доступу: налаштування SELinux і AppArmor Мандатний контроль доступу в Linux: як налаштувати SELinux на RHEL і AlmaLinux, AppArmor на Ubuntu, перевірити режим роботи і не зламати сайт при перенесенні. GPG: шифрування файлів і резервних копій на сервері GPG-шифрування файлів і резервних копій захищає дані сервера, якщо викрадено диск, витік архів зі S3-сховища чи перехоплено трафік під час передачі бекапу. LUKS: шифрування диска сервера та завантаження з ключем Шифрування диска LUKS захищає дані сервера при фізичному вилученні носія: luksFormat, crypttab, keyfile, Clevis+Tang і backup заголовка розглянуті на практиці. Wazuh SIEM: моніторинг безпеки сервера та контроль FIM Wazuh SIEM для моніторингу безпеки сервера поєднує аналіз логів, контроль цілісності файлів (FIM) та автоматичне блокування атак через active response. osquery: інвентаризація сервера і сліди злому osquery перетворює Linux-сервер на SQL-базу: як встановити утиліту, опитати процеси й порти та знайти сліди злому після інциденту. Зберігання секретів на сервері: Vault і змінні середовища Зберігання секретів на сервері: як налаштувати HashiCorp Vault, видавати тимчасові паролі для MySQL і захистити змінні середовища замість файлу .env. Аудит залежностей: npm audit і composer audit Аудит залежностей на сервері: як запускати npm audit і composer audit, читати звіт про вразливості й оновлювати пакети без поломки сайту. SSH-сертифікати: вхід через центр сертифікації SSH-сертифікати замінюють роздачу публічних ключів: користувачі отримують короткоживучі сертифікати від центру сертифікації замість ключів. Port knocking і SPA: прихований доступ до SSH Port knocking і Single Packet Authorization приховують SSH-порт від сканерів: доступ відкривається лише після секретної послідовності пакетів. План реагування на інцидент: перші 60 хвилин План реагування на інцидент описує перші 60 хвилин атаки: ізоляцію сервера, збір доказів, оцінку збитків і сповіщення відповідальних осіб.