Команда Red Hat выпустила рекомендации по смягчению уязвимости memcached

Команда Red Hat выпустила рекомендации по смягчению уязвимости memcached

Команда Red Hat выпустила рекомендации по смягчению уязвимости memcached

Команда Red Hat сообщила, что она осведомлена о серьезной угрозе атак DDoS, использующих уязвимость memcached в серверах, открытых на доступ извне. Также специалисты опубликовали ряд рекомендаций для пользователей, которые желают снизить воздействие этой бреши.

Прежде всего, грамотная настройка брандмауэра. Только в очень редких случаях сервер memcached должен быть доступ извне по Сети. Эксперты призывают пользователей установить брандмауэр, чтобы обеспечить доступ к серверам memcached только из локальной сети.

Не допускайте внешний трафик на порты, используемые memcached (например, на 11211, который используется по умолчанию). К примеру, фаервол Red Hat Enterprise Linux не разрешает доступ к этому UDP-порту в конфигурации по умолчанию.

Во-вторых, отключить UDP.

«Если вам не требуется использовать UDP для memcached, мы настоятельно рекомендуем переключиться на TCP-соединения для вашего сервера (для этого надо добавить "-U 0" в переменную OPTIONS в /etc/sysconfig/memcached). Если вам требуется использование UDP, а также необходим удаленный доступ к серверам memcached, рекомендуется настроить брандмауэр для разрешения соединений только с доверенных хостов», — пишет команда Red Hat.

Ниже приведен пример файла /etc/sysconfig/memcached с отключенным UDP:

PORT="11211"
USER="memcached"
# max connection 2048
MAXCONN="2048"
# set ram size to 2048 - 2GiB
CACHESIZE="4096"
# disable UDP and listen to loopback ip 127.0.0.1
OPTIONS="-U 0 -l 127.0.0.1"

Более подробные рекомендации по правильной конфигурации memcached специалисты Red Hat опубликовали здесь.

Напомним, что в конце февраля мы сообщали, что утилита для кеширования memcached используется для DDoS-атак. А в пятницу стало известно о крупнейшей в истории DDoS-атаке, совершенной на Github, в которой как раз использовалась уязвимость memcached.

Зачем Яндекс Go создал отдельный язык для расчёта стоимости поездок

Цена поездки в Яндекс Go — это не расстояние, умноженное на минуты и километры. В расчёт вмешиваются геозоны, спрос, скидки, платные дороги, дополнительные остановки и требования вроде перевозки кота, велосипеда или лыж. Чтобы управлять этим хозяйством без бесконечных деплоев, разработчики вынесли алгоритм ценообразования из кода сервиса в собственный язык.

Как объяснили разработчики в статье на Хабре, прайсинг работает не только при заказе машины.

Он пересчитывает стоимость при смене маршрута или способа оплаты, завершении поездки, обращении в поддержку и проверке данных аналитиками. Цена при этом может быть фиксированной, интервальной или считаться по таксометру.

 

Сначала сервисы параллельно собирают параметры поездки: тарифную категорию, геозоны, скидки, повышенный спрос и дополнительные услуги. Зависимости между источниками выстраиваются в граф, а запросы выполняются асинхронно на базе userver. Если некритичный источник не ответил, весь расчёт не падает.

 

Сам алгоритм раньше можно было бы держать в C++, но он меняется в среднем дважды в неделю. Выкатка сервиса на 50 подов занимает около 40 минут, а лес динамических конфигов быстро превратил бы код в музей условных операторов.

Поэтому Яндекс разработал собственный DSL. В нём есть условия, функции, неизменяемые значения и fold вместо циклов. Правила собираются в последовательную цепочку: каждое преобразование получает текущую цену и параметры, а возвращает новый результат с метаданными. Грамматику описали через ANTLR 4, а верификатор Z3 проверяет, что программа не выдаст некорректную цену.

 

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

 

В итоге прайсинг превратился в отдельную платформу, которой уже пользуются Такси, Доставка и сервис зарядки электромобилей.

RSS: Новости на портале Anti-Malware.ru