Configurações de segurança do host do Linux em /etc/sysctl.conf

2

Enquanto procurava por mais maneiras de proteger os servidores Linux, encontrei a seguinte configuração de /etc/sysctl.conf . Veio como está, sem muita explicação. Antes de usá-lo no ambiente de produção (usando o Ubuntu 12.04 LTS), gostaria de saber as implicações dele em um servidor web.

# Avoid a smurf attack
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Turn on protection for bad icmp error messages
net.ipv4.icmp_ignore_bogus_error_responses = 1

# Turn on syncookies for SYN flood attack protection
net.ipv4.tcp_syncookies = 1

# Turn on and log spoofed, source routed, and redirect packets
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1

# No source routed packets here
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0

# Turn on reverse path filtering
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

# Make sure no one can alter the routing tables
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0

# Don't act as a router
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0


# Turn on execshild
kernel.exec-shield = 1
kernel.randomize_va_space = 1

# Tune IPv6
net.ipv6.conf.default.router_solicitations = 0
net.ipv6.conf.default.accept_ra_rtr_pref = 0
net.ipv6.conf.default.accept_ra_pinfo = 0
net.ipv6.conf.default.accept_ra_defrtr = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.default.dad_transmits = 0
net.ipv6.conf.default.max_addresses = 1
  1. O que é um ataque de smurf?
  2. Por que mensagens de erro icmp ruins são ruins? Em outras palavras, que bom virá para desabilitar isso?
  3. O que é syncookies ou ataque de inundação SYN?
  4. Por que ativar e registrar pacotes falsificados, roteados por origem e redirecionados? Por que pacotes encaminhados e redirecionados são ruins?
  5. O que é a filtragem de caminho inverso?
  6. O que é execshild e randomize_va_space?
  7. De um modo geral, gostaria de adicionar mais alguma coisa ou remover algumas configurações dela para o seu servidor? Por quê?

Seria muito apreciado se alguém pudesse dar uma explicação (ou recurso explicando-os) em cada configuração aqui.

Atualização:

Achei este documento extremamente útil para entender as configurações relacionadas ao IP: link

    
por Mehdi 09.08.2012 / 11:49

1 resposta

8
  1. Um ataque smurf é quando alguém envia pacotes para um endereço de broadcast, geralmente com uma fonte falsificada, para induzi-lo a enviar um grande número de respostas.

  2. O entupimento de seus logs com mensagens de erro. Ignorá-los mantém os logs desordenados. Não é como se você pudesse consertar a Internet de qualquer maneira.

  3. Um ataque de inundação SYN é aquele em que um invasor atinge um servidor com um grande número de solicitações de conexão TCP. A ideia é consumir memória no servidor, forçando-o a controlar todas as solicitações de conexão. Os cookies SYN permitem que o servidor manipule solicitações de conexão sem usar qualquer memória.

  4. Os pacotes roteados por origem são ruins porque podem ser usados por pessoas de fora para fazer com que sua política de rede interna seja ignorada ou violada. Logging spoofed, source routed ou redirect packets faz sentido, pois, ao contrário das mensagens de erro ICMP ruins, geralmente indicam alguém fazendo algo deliberado, em vez de um erro de configuração ou roteador quebrado.

  5. A filtragem de caminho inverso faz com que o seu roteador solte um pacote se ele foi recebido em uma interface que você não usaria para enviar pacotes para essa fonte. Pessoalmente, eu sempre desabilito isso. Na minha experiência, cria muito mais problemas do que resolve, por exemplo, a quebra do multipath IP.

por 09.08.2012 / 12:03