Envenenamiento de la caché de DNS de SAD: una solución temporal para servidores y escritorios Linux

 

Jack Wallen lo guía a través del proceso de implementación de una solución temporal contra SAD DNS para sus servidores y escritorios Linux.

Hacker atacando internet
Imagen: xijian / Getty Images

Hay una nueva amenaza de envenenamiento de la caché de DNS en la ciudad y se conoce con el nombre de DNS AttackeD de canal lateral (SAD DNS). Este nuevo ataque funciona así: SAD DNS hace posible que los piratas informáticos desvíen el tráfico destinado a un dominio específico a un servidor bajo su control. Con este ataque, pueden espiar fácilmente su tráfico.

Este es un ataque de canal lateral de red armado con graves implicaciones de seguridad tanto para los usuarios como para las empresas.

Esta nueva falla afecta a los sistemas operativos Linux (kernel 3.18-5.10), Windows Server 2019 (versión 1809) y posteriores, macOS 10.15 y posteriores, y FreeBSD 12.1.0 y posteriores.

Gato azul, una solución DDI impulsada por software, se comunicó conmigo sobre este problema, principalmente porque la solución temporal sugerida de deshabilitar los paquetes ICMP tenía un poco más de matices. A ese problema, un representante de BlueCat dijo:

“Si un servidor DNS tiene ICMP bloqueado por completo, las transferencias de zona podrían fallar, si hay un salto con una MTU más pequeña (el bloqueo de ICMP causa un agujero negro de PMTUD) entre este y el otro servidor”.

BlueCat indicó que habría problemas con la fragmentación de IPv6.

BlueCat también me informó sobre una solución temporal para servidores y escritorios Linux. La solución está en forma de un script simple que se puede emplear fácilmente. Lo he probado y funciona.

Permítame mostrarle cómo implementarlo en sus escritorios y servidores Linux, para que pueda evitar problemas hasta que los proveedores de servidores DNS resuelvan el problema.

 

Lo que necesitarás

  1. Acceso a cualquier máquina Linux que use DNS en su red
  2. Un usuario con privilegios de sudo

Cómo usar el guión

El guión creado por BlueCat es bastante simple y se ve así:

#!/usr/bin/env bash
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
###########################################################################  
#
# Three options for installation. Choose one of the following:
#
# 1. Copy to /etc/cron.minutely
#
# 2. Copy the script to the DNS server. Create a file in /etc/cron.d with
#    the following syntax:
#
#    * * * * *root    /path/to/icmp_ratelimit.sh >/dev/null 2>&1
#
# 3. Create a user cron entry while using `crontab -e`
#
#    * * * * * /path/to/icmp_ratelimit.sh >/dev/null 2>&1
#
# - Change "/path/to" to match the exact location of the script.
# - Finally, make sure it is executable: chmod +x /path/to/icmp_ratelimit.sh
#
seconds="60"
while [[ ${seconds} -gt 0 ]]
do
     echo $((500 + ${RANDOM} % 1500)) > /proc/sys/net/ipv4/icmp_ratelimit
     echo $((500 + ${RANDOM} % 1500)) > /proc/sys/net/ipv6/icmp_ratelimit
    sleep .95
done

Nota: BlueCat puede estar actualizando el script para incluir IPv6. Asegúrese de comprobar su página oficial de GitHub para obtener más actualizaciones de este script.

El script hará exactamente lo que hará el próximo parche de Linux y aleatorizará el límite de velocidad. Para ser más específico, según David Maxwell, director de seguridad de software de BlueCat:

“El script es aproximadamente equivalente al cambio del kernel de Linux realizado el 16 de octubre. Una vez por segundo, establece un nuevo límite aleatorio en las respuestas ICMP, entre 500-1500 / s. Funcionará en sistemas con una versión 2.4.10 del kernel de Linux o mas nuevo.”

Cree este script con el comando:

sudo nano /usr/local/bin/icmp_ratelimit.sh

Pegue el contenido del script en el nuevo archivo y guarde / cierre el archivo. Otorgue permisos ejecutables al archivo con el comando:

sudo chmod u+x /usr/local/bin/icmp_ratelimit.sh

Con el script listo, creemos ahora un trabajo cron para usarlo. Cree un nuevo trabajo cron diario con el comando:

sudo crontab -e

En la parte inferior de ese archivo, pegue lo siguiente:

*/10 * * * * flock -xn /root/.icmpratelimit-lock -c /usr/local/bin/icmp_ratelimit.sh

Guarde y cierre el archivo.

Asegúrese de ocuparse de lo anterior en todas sus máquinas Linux.

Eso es todo al respecto. Sus servidores y escritorios Linux deben estar a salvo de SAD DNS hasta ese momento, ya que los proveedores de DNS tienen una solución permanente o el kernel de Linux está oficialmente parcheado contra el ataque.

Sigue navegando por nuestra web viendo más artículos.

Deja un comentario