Сервер Apache дает сбой из-за скачка пропускной способности
Проблема, с которой я сталкиваюсь, заключается в том, что мой веб-сайт (размещенный на выделенном VPS) работал нормально в течение последних 6 месяцев. Однако за последние два дня он получает огромные всплески данных, и это приводит к сбою сервера. Хостинговая компания отключает мой сервер. Я пытался вернуть свой сайт несколько раз, но каждый раз по прошествии некоторого времени происходит одно и то же.
Что касается Dos Attack или других вредоносных инструментов, я хотел бы сказать, что я использую:
Fail2Ban (для ssh и apache) Mod_Security (apache) Mod_Evasive (apache)
Тем не менее, на сервере нет никаких твердых атак.
Сайт о сокращении URL.
**
- Подробности: ОС: Centos 6.5 Процессор:
- Intel Hexa-Core Xeon E5-2420
- Скорость процессора: 2 ГГц
- Количество процессоров: 2
- Количество ядер: 6
- RAM: 8 ГБ
- Жесткие диски: 4 × 1 ТБ
**
В чем может быть проблема?
Пожалуйста, ведите меня, я новичок. Вы уже искали много статей об ИНТЕРНЕТЕ, но на данный момент меня ничто не спасает?
Обновление 1Изображение использования полосы пропускания: http://oi57.tinypic.com/206fotk.jpg
Обновление 2 Кроме того, файл журнала, сгенерированный сервером Apache, имеет большой размер, например: 1. /etc/var/log/httpd/access_log (15 ГБ) 2. /etc/var/log/httpd/error_log (5 ГБ)
это нормально?
Обновление 3 Отформатирован весь сайт. Переустановил Ubuntu 12 LTS this... Через 1 час сайт перешел в автономный режим, но на этот раз всплеска не было!!! Я связался с хостинговой компанией (THE LEASE WEB), но пока не получил от них ответа:-/
1 ответ
Если это случайно сгенерированная атака IP DOS, то ваш провайдер - единственное место, где его можно остановить.
Однако, если вы видите, что IP-адреса приходят из определенного места, тогда читайте дальше.
Посмотрите на ваш /var/log/messages или syslog. Ваши сетевые карты выходят из строя? Плохие водители - они Realtek?
Если вы хотите, чтобы ваш сервер был в сети, пока вы все это понимаете, вы можете заблокировать страны-нарушители на своем брандмауэре. Например, если вы в порядке с трафиком в США и Канаде, а DOS/ Спам не приходит из США или Канады, вы можете заблокировать страны-нарушители.
Сценарий:
# Create the IP block
ipset create geoblock hash:net
country=( br cn fr de hk in id jp ro ru tw tr kp kr )
for c in "${country[@]}"
do
for IP in $(wget -O - http://www.ipdeny.com/ipblocks/data/countries/$c.$
do
# really big hammer - block country, period
sudo ipset add geoblock $IP
done
done
Это блокирует ipset геоблока:
iptables -I INPUT -m set --match-set geoblock src -p TCP --destination-port 80 -j REJECT
Добавьте один для https, если вы решите.
Затем, когда вы будете удовлетворены, вы можете попробовать другой тест - это снова откроет ваш брандмауэр:
ipset destroy geoblock