Как повысить безопасность своих серверов и защитить их от уязвимости memcached?

Как повысить безопасность своих серверов и защитить их от уязвимости memcached?

22.03.2018

Одним из главных событий последних недель стали сильнейшие DDoS-атаки с мощностью 1,7 Тб/сек. Злоумышленники научились использовать для амплификации DDoS-атак серверы Memcached, что позволяет усилить атаку более чем в 50 000 раз. Уязвимость Memcached стала причиной многочисленных нападений недоброжелателей на компании по всему миру.

Мы обезопасили от этой уязвимости сервера наших клиентов.
Для этого специалисты технической поддержки использовали специальный скрипт: он находит хосты, подверженные уязвимости, и закрывает порт 11211.


Скрипт memfix_sh:

#!/bin/bash
#
# Script for seach opened memcached port
#

case "$1" in
69)

echo -e "\033[92m *** Проверка сети адресов \033[0m"
nmap -PU -p11211 185.66.69.0/24 > net69_u
nmap -PU -p11211 185.66.69.0/24 | grep Nmap
grep -ri3 open net69_u > net69_uf
rm net69_u

if [ -s net69_uf ]
then
echo ''
echo -e "\033[31m ====== Найдено, вывод списка \033[0m"
cat net69_uf | grep Nmap
else
echo -e "\033[92m ====== НЕТ ОТКРЫТЫХ ПОРТОВ \"${0}\" 69+ \033[0m"
fi
#exit 0
;;

68)

echo -e "\033[92m *** Проверка сети адресов \033[0m"
nmap -PU -p11211 185.66.68.0/24 > net68_u
nmap -PU -p11211 185.66.68.0/24 | grep Nmap
grep -ri3 open net68_u > net68_uf
rm net68_u
if [ -s net68_uf ]
then
echo -e "\033[31m ====== Найдено, вывод списка \033[0m"
else
echo -e "\033[92m ====== НЕТ ОТКРЫТЫХ ПОРТОВ \033[0m"
rm net68_uf
exit
fi
;;

70)
echo -e "\033[92m *** Проверка сети адресов \033[0m"
nmap -PU -p11211 185.66.70.0/24 > net70_u
nmap -PU -p11211 185.66.70.0/24 | grep Nmap
grep -ri3 open net70_u > net70_uf
rm net70_u
if [ -s net70_uf ]
then
echo -e "\033[31m ====== Найдено, вывод списка \033[0m"
else
# Username starts from digit
echo -e "\033[92m ====== НЕТ ОТКРЫТЫХ ПОРТОВ \033[0m"
rm net70_uf
exit
fi
;;

fix)
echo -e "\033[92m *** FIX FROM SCANNED LIST \033[0m"
for KK in $(cat *uf | grep Nmap | awk '{print $5}')
do
echo -e "\033[92m *** Connect and close port 11211 of \033[0m" $KK

ssh root@$KK "sed -i 's/OPTIONS=\"\"/OPTIONS=\"-l 127.0.0.1\"/' /etc/sysconfig/memcached"
echo 'push command sed -i 's/OPTIONS=\"\"/OPTIONS=\"-l 127.0.0.1\"/' /etc/sysconfig/memcached'
ssh root@$KK "service memcached restart"
done

;;

*)
echo -e "\033[31m !! Для начала проверки введи \"${0}\" 68,69 или 70 \033[0m"
echo -e "\033[44m !! Ддя закрытия порта 11211 введи \"${0}\" fix \033[0m"

exit 0
;;
esac


ВНИМАНИЕ! Видео содержит сцены с отсутствием безопасности.

Чтобы самостоятельно защитить свой сервер, мы рекомендуем :

  • проверить, есть ли Memcached в списке активных сервисов и включен ли в настройках сервиса протокол UDP по умолчанию;
  • отключить службу Memcached, если она активна, но не используется;
  • обновить версию своего продукта до Memcached v1.5.6 или более новой, где была исправлена уязвимость (CVE-2018-1000115);
  • сконфигурировать Memcached на прослушивание только внутренних интерфейсов;
  • настроить межсетевой экран для блокировки запросов по внешнему порту 11211 (tcp/udp).

Остались вопросы или требуется помощь? Свяжитесь с нами по контактам, указанным на сайте. Будем рады проконсультировать.


Возврат к списку

Рекомендуемый хостинг решений 1С-Битрикс
Сертификаты
15 лет на рынке Тысячи довольных клиентов
Золотой сертифицированный партнер 1С-Битрикс Рекомендуемый хостинг-партнер 1С-Битрикс
6 дата-центров в Беларуси и Европе
EQUNIX Белтелеком BeCloud