Ленивый программист поднимается на вершину поисковых систем | 怠惰なプログラマーが検索エンジンのトップに登り詰める
1.18K subscribers
360 photos
9 videos
8 files
119 links
ЛС: @biohacker01
SEO/ПФ/КФ/Флудилка чат: @taidana_programmer_chat

Инструменты:
КОД/SEO/Ссылки/Накрутка ПФ/КФ

Навыки:
[PHP/Node.js] Ранг А, Уровень 5
[BAS] Ранг А Уровень 1
[ИИ набор] Ранг B Уровень 1
[GO] Ранг E Уровень 1
[REACT] Ранг E Уровень 1
Download Telegram
🔐 Защита сайта от DDoS атак 🔐

💬 Не хотел писать о гемблинге, но случай Павлика заставил задуматься. Любой сайт может столкнуться с DDoS-атакой, поэтому делюсь мини-инструкцией.

Цель DDoS-атаки – ударить по самому слабому месту вашей системы, что бы все рухнуло.
Тут у нас сайт про гемблу, по этому на его примере и будет дальше инструкция.



🚨 Шаги защиты от
#DDoS

# 0) Включите DDoS-защиту от хостера или сервиса 😁
На самом деле такие сервисы, во-первых, не знают ваш проект, а во-вторых, хотят заработать, поэтому с сервером не помогут.
Даже под защитой может проект страдать.
Их первая цель всё же заработать на вас, а только потом защитить.
Или то и другое, но не знание вашего проекта, ограничивает в методах.

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



1) Cloudflare – ваш лучший друг
Регистрация домена и подключение к Cloudflare – это первое, что нужно сделать.
👉 Важно: Если домен раньше не был подключён к Cloudflare, ваш IP уже известен конкурентам.
И даже при подключении Cloudflare, старый IP можно найти через историю DNS (есть сервисы для этого).

🛠 Решение:
- Поменяйте IP у хостера/сервера.
- Удалите записи, раскрывающие IP, например, MX.

📜 Более подробно писал тут:
https://t.me/taidana_programmer/291



2) Используйте nginx
Только nginx – никаких apache2, особенно под высокие нагрузки.



3) Отказ от базы данных и движков
Ваш сайт – это статика(у нас все еще речь про сайты гемблы).
- Уберите базы данных – они первые падают под нагрузкой.
- PHP вам тоже не нужен, используйте только голый nginx.



3.1) Настройка NGINX Content Caching (это если не отказались от баз и движка)

📌 Жёсткий кеш:
- Настройте кеширование контента с истечением через пару тысяч лет.
- При смене ссылок просто очистите кеш, чтобы он собрался заново.



3.2) Скачивание сайта и генерация статического HTML
Скачайте сайт целиком или используйте плагин, чтобы превратить его в статические HTML-файлы локально.
📌 Как быстро заменить ссылки в сотнях файлов:
На сервере через SSH выполните:

find /путь/к/вашим/html-файлам -type f -name "*.html" -exec sed -i 's/старый_сайт/новый_сайт/g' {} +
Не копируйте не понятные вам команды в консоль изучите, или доверьте сис.админу


4) Offline-режим в Cloudflare

Активируйте режим, при котором страницы показываются даже при отключении сервера.

🛠 Как включить:
1. Зайдите в настройки Cloudflare.
2. В разделе Caching включите Always Online.
3. Убедитесь, что страницы вашего сайта добавлены в кеш.

5) Ограничиваем доступ только для IP Cloudflare

Чтобы никто не мог обратиться к вашему серверу напрямую, кроме Cloudflare, нужно настроить доступ по IP-адресам их сети.

🛠 Шаги:

# 1. Убедитесь, что ваш сайт уже подключен к Cloudflare.
Если ваш сайт не через Cloudflare, эта защита не сработает.

# 2. Настройка на уровне сервера

Для NGINX добавьте в конфигурацию сервера:

# Разрешаем доступ только IP Cloudflare
allow 173.245.48.0/20;
allow 103.21.244.0/22;
ИТД....

# Остальным доступ запрещён
deny all;

После этого перезапустите NGINX:
sudo systemctl reload nginx



# 3. Полный и актуальный список IP Cloudflare
IP-адреса #Cloudflare могут обновляться, поэтому регулярно проверяйте актуальный список:
https://www.cloudflare.com/ips/


💡 Данные советы помогут только от лёгких #DDoS-атак, но даже при старте атаки дадут запас времени перед тем, как проект ляжет.

Кроме того, эти меры позволят #анти-DDoS сервисам более эффективно защищать ваши проекты, снижая нагрузку и минимизируя риски.

💡 Может, когда-нибудь появится ещё более подробная инструкция.

Честно говоря, было бы интересно поковырять проекты под атакой, чтобы лучше понять, как они ведут себя в таких условиях и какие дополнительные меры можно внедрить. 😏
👍12