Zusammenfassung der Ressource
Configurando um Roteador
- Classes de IP's Públicos / Ip's Privados
- A
- Primeiro Octeto
- 1-126
- Range
- 1.0.0.0 – 126.255.255.255
- IPs Privados
- 10.0.0.0 – 10.255.255.255
- B
- Primeiro Octeto
- 128-191
- Range
- 128.0.0.0 – 191.255.255.255
- IPs Privados
- 172.16.0.0 – 172.31.255.255
- C
- Primeiro Octeto
- 192-223
- Range
- 192.0.0.0 – 223.255.255.255
- IPs Privados
- 192.168.0.0 – 192.168.255.255
- Habilitar roteamento
Anmerkungen:
- Para habilitar o roteamento entre redes dentro de um servidor Linux, os seguintes parâmetros devem
ser habilitados:
- IPv4
- /proc/sys/net/ipv4/ip_forward
Anmerkungen:
- IPv6
- /proc/sys/net/ipv6/conf/all/forwarding
Anmerkungen:
- Criar e grenciar rotas
Anmerkungen:
- Para rotas estáticas, é utilizado principalmente o comando “route”.
Para rotas dinâmicas, utilizados em roteadores que lidam com muitas redes e conexões, são usados
alguns serviços
- # route -n
- # route add -net 172.16.32.0/24 gw 192.168.1.100:80
- #ip r
- #netstat -r
- Rotas dinâmicas
- routed
- gated
- quagga
- bird
- #route add -net 192.168.1.0 netmask 255.255.255.0 dev eth1
- #route add default gw 192.168.1.1
- #route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.1.1
- Para remover; "del"
Anmerkungen:
- Utilize o del no lugar do add
- Iptables
Anmerkungen:
- O iptables é a aplicação utilizada para gerenciar o recurso netfilter do kernel do Linux.
- tabelas
Anmerkungen:
- Basicamente, ele é administrado através de 3 tabelas
- filter
Anmerkungen:
- Tabela padrão do iptables. Utilizada para criar filtros de pacotes, bloqueando e/ou
liberando o tráfego.
- nat
Anmerkungen:
- Manipulação de pacotes que criam novas conexões, mudando endereços dos pacotes,
origem, destino e etc.
- mangle
Anmerkungen:
- Regras para alterações nos pacotes
- security
Anmerkungen:
- essa tabela só está disponível nas distribuições do linux com o SELinux. Essa tabela é utilizada para filtrar pacotes de rede usando regras MAC.Essa tabela é utilizada com a tabela filter.As regras dessa tabela são aplicadas depois q as regras da tabela filter são aplicadas.
- raw
Anmerkungen:
- A tabela RAW é usada para excluir determinados pacotes de rede de algo chamado "rastreamento de conexão".
- chains (cadeias)
Anmerkungen:
- Essas tabelas são utilizadas para administrar regras nas seguintes chains:
- OUTPUT
Anmerkungen:
- Pacotes saindo do host local
- FORWARD
Anmerkungen:
- Pacotes sendo encaminhados entre redes dentro de um host
- PREROUTING
Anmerkungen:
- Pacotes antes de se decidir o roteamento
- POSTROUTING
Anmerkungen:
- Pacotes sendo enviados a uma rede remota após o forward
- INPUT
Anmerkungen:
- Pacotes com destino ao host local
- Principais opções
- -A
Anmerkungen:
- -I
Anmerkungen:
- Inserir regra em uma posição específica da chain
- -R
Anmerkungen:
- Substituir regra na chain
- -D
Anmerkungen:
- -P
Anmerkungen:
- Definir política padrão para uma chain
- -L
Anmerkungen:
- Listar as regras de uma chain
- -F
Anmerkungen:
- Apagar todas as regras de uma chain
- -X
Anmerkungen:
- -Z
Anmerkungen:
- zerar os contadores de pacotes em todas as regras de uma chain
- -N
Anmerkungen:
- Cria uma chain personalizada
- Criação das Regras
- -s endereço (--source)
Anmerkungen:
- IP ou Rede Origem do pacote
- -d endereço (--destination)
Anmerkungen:
- IP ou Rede Destino do pacote
- -p protocolo (--protocol)
Anmerkungen:
- Define o protocolo: tcp, udp, icmp ou all
- -i interface (--in-interface)
Anmerkungen:
- -o interface (--out-interface)
Anmerkungen:
- -j ação (--jump)
Anmerkungen:
- Ação para o pacote. Mais comuns ACCEPT, DROP, REJECT
- -t --table
Anmerkungen:
- se nenhuma for assumida a default é a tabela filter
- -m --match
Anmerkungen:
- Usa módulo estendido "módulo". Há muitos tipos de módulos de controle adicionais e opções extras para cada um deles. Um muito usado é o state , cuja opção --state estado possíveis valores para estado são INVALID (o estado n pode ser determinado). ESTABLISHED (o pacote pertence a uma conexão ativa) . NEW (indicando que o pacote inicia nova conexão) e RELATED (O pacote inicia outra conexão porém relacionada a uma conexão existente).
- NAT
Anmerkungen:
- NAT (Network Address Translation)
O iptables pode ser utilizado para criar regras que alteram a origem ou destino dos pacotes, o que é
chamado de nat.
A alteração da origem é normalmente feita para permitir que uma rede local/privada tenha acesso
à Internet.
- Exemplos
- # iptables -t nat -A POSTROUTING -s 172.16.32.0/24 -o eth1 -j SNAT --to-source 200.201.202.203
- # iptables -t nat -A POSTROUTING -s 172.16.32.0/24 -o eth1 -j MASQUERADE
- redirecionamento de portas
- # iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.50:8080
- # iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
- #iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.2.2:80
- #iptables -t nat -A PREROUTING -p tcp --dport 2200 -j DNAT --to-destination 192.168.2.2:22
- #iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
- #iptables -I 5 INPUT -s 10.140.40.2 -j DROP
- #iptables -D INPUT 5
- Salvando e restaurando
Anmerkungen:
- Salvando e Restaurando Regras do Iptables
- iptables-save
Anmerkungen:
- Cria uma saída com as atuais regras de firewall, possibilitando que sejam salvos em arquivo.
# iptables-save > /etc/iptables.conf
- iptables-restore
Anmerkungen:
- iptables-restore : A partir de um arquivo, gerado pelo iptables-save, faz um restore das
regras.
# iptables-restore < /etc/iptables.conf
- IPv6
Anmerkungen:
- Para o gerenciamento das regras em pacotes IPv6 são utilizados os seguintes comandos:
- ip6tables
- ip6tables-save
- ip6tables-restore
- Bloqueando ataques
Anmerkungen:
- Além de criar redirecionamentos, é possível utilizar o iptables para bloquear transmissões utilizando o mesmo modelo de regras. Para criar regras de bloqueio, é utilizada a tabela filter.
- #iptables -t filter -F
Anmerkungen:
- Apagando todas as regras da tabela filter
- #iptables -t filter -A INPUT -i lo -j ACCEPT
Anmerkungen:
- Liberar todos os pacotes gerados localmente
- #iptables -t filter -A INPUT -m state ESTABLISHED,RELATED -j ACCEPT
Anmerkungen:
- Liberar para entrada pela interface eth0 apenas pacotes pertencentes(established, related ) a uma conexão existente.
- #iptables -t filter -p INPUT DROP
Anmerkungen:
- Descarta todos os pacotes na chain INPUT da tabela filter
- #iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Anmerkungen:
- Liberar acesso externo a porta 80 http
- #iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- Denial of service (DoS) attacks
- Prevention
- /proc/sys/net/ipv4 (sysctl)
- /proc/sys/net/ipv4/tcp_max_orphans
- /proc/sys/net/ipv4/tcp_max_tw_buckets
- POLICY - (Ação)
- ACCEPT
- DROP
- QUEUE
- REJECT
- SNAT
- DNAT
- MASQUERADE
- REDIRECT
- tabelas
- cadeias
- politicas
- regras
- DELETE RULES
- #iptables -L INPUT --line-number
- #iptables -D INPUT 14
- IPv6
- Unicast
Anmerkungen:
- Unicast identifica uma única interface de rede.
- Anycast
Anmerkungen:
- Identifica um conjunto de interfaces. Serão encaminhados nas interfaces mais próximas.
- Multicast
Anmerkungen:
- Identifica um conjunto de interfaces, serão encaminhados à todas as interfaces de rede do conjunto