De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: William da Rocha Lima
Data de Publicação: 05 de Julho de 2003
Nos sabemos que nos dias de hoje é essencial o firewall, em servidores corporativos como servidores de web, e-mail e gateways, devido a demanda de hackers e lammers. Mas sabemos que assim mesmo não basta montar um firewall e por em mente que nunca vai ser invadido, lembra-se de que é primordial verificar os Updates, Advisores, Bug e falhas de sistema. Tenha em mente além de configurar um sistema de firewall, também administratar por Logs e IDS, e que tenha administratar os Logs para verificar possíveis erros e de uma forma fácil e ágil, e IDS para verificar a Dequitação de Intrusos. Quando falamos em sistemas operacional linux como firewall você encontra ferramentas capazes e eficaz para efetuar esta função. E o melhor de tudo como que o Linux é free,você pode pegar o linux na empresa de seu amigo e instalar na sua empresa sem problemas.
O linux por ser um software livre, onde uma comunidade de desenvolvedores contribuem quase que diariamente para seu desenvolvimento e melhorias. Quando se fala em desenvolvimento e melhorias do Kernel se tem um preocupação com firewalls e segurança.
- Ipfwadm - O IP Firewall Administration, ou simplesmente ipfwadmin foi a ferramenta padrão para construção de regras de firewall, para o Kernel anterior à versão 2.2.0. Dizem que o Ipfwadm era extremamente complexo.
- Ipchains - O ipchains foi a solução, ou melhor, a atualização, feita para o kernel 2.2 do ipfwadm. A idéia do ipchains foi ter o poder do ipfwadm, mas com uma simplicidade e facilidade no que diz respeito à criação de regras. Além de prover sua facilidades, é criar uma compatibilidade com o ipfwadm através do utilitário ipfwadm-wrapper.
- Iptables e o Netfilter - A nova geração de ferramentas de firewall para o Kernel 2.4 do Linux. Além de possuir as facilidade do ipchains, e implementar a facilidade do NAT e filtragem de pacotes mais flexíveis que o IPchains. Para saber mais informações do Iptables acessem http://www.netfilter.org/
Na configuração do Firewall com o iptables, é preciso saber quais são as regras a serem utilizadas para rodar o Firewall:
Os parâmetros padrão do iptables são os seguintes:
- -p! (protocolo) - define qual o protocolo TCP/IP deverá ser tratado. São eles: TCP, UDP e ICMP
- -s! (origem)/ -d! (destino) - Define qual o endereço de origem (-S) e de destino (-D) que a regra atuará. Este comando possui dois argumentos: endereço/máscara e porta. Ex.: -S 10.0.0.1/24 80,.
- -i! (interface) - define o nome da interface de rede onde trafegará os pacotes de entrada e saída do firewall. Muito utilizado em mascaramento e técnicas de NAT. Exemplo: -W eth1.
- -j! (ir para) - Serve para redirecionar uma ação desde que as regras sejam similares.
- -f!(fragmento) - Trata datagrama fragmentados.
Os comandos e os parâmetros são exatamente iguais aos do ipchains, sem tirar nem pôr.
Novidade do iptables que facilita as regras.
-sport[!] [port:port] -dport[!] [port:port]
Normalmente estas extensões são utilizadas com o comando -m do iptables. Trata-se de um direcionamento de porta(s) origem (-sport), para porta(s) destino (-dport). Pode-se inclusive definir um número padrão de portas para o acesso (port:port). Este comando pode ser utilizado tanto para portas TCP ou UDP.
-mac-source[!] endereço
especifica qual a placa de rede, através de seu endereço MAC, que irá transmitir pacotes através do firewall, limitado pela política do mesmo.
-icmp-type[1] tipo
Especifica quais os tipos de pacotes ICMP pode passar ou não pelo firewall, São eles:
Mensagem Tipo Código Echo-request 8 0 Echo-reply 3 0 Source-quench 4 0 Time-exceed 11 0 Destination-unreachable 3 0 Network-unreachable 3 0 Host-unreachable 3 1 Protocol-unreachable 3 2 Port-unreachable 3 3
Com isto podemos bloquear alguns ataques do tipo ping flood, bloquear ping e etc
[!] -- syn - especifica o uso dos bits ACK e FIN em requisições SYN TCP.
Especificamente, a opção -m state' aceita uma opção adicional
--state',
que é uma lista de estados de ativação separados por vírgula. (a flag
'!' não indica a ativação desses estados). Esses estados são:
NEW Um pacote que cria uma nova conexão.
ESTABLISHED Um pacote que pertence a uma conexão existente (isto é, um pacote de resposta).
RELATED Um pacote que está relacionado com (mas não faz parte de) uma conexão existente, como um ICMP error, ou (com o módulo FTP inserido),um pacote que estabelecido por uma conexão de dados ftp.
INVALID Um pacote que não poderia ser identificado por alguma razão: isto inclui execução fora da memória e erros de ICMP que não correspondam a nenhuma conexão existente. Geralmente estes pacotes devem ser barrados (drop).
#iptables -A INPUT -p icmp -j DROP
Esta regra nega todos os pacotes ICMP vindos do servidor, em que se encontra o firewall.
#iptables -D INPUT -p icmp -j DROP
Esta regra exclui a regra criar acima.
#iptables -A INPUT -s 192.168.1.0/24 -j DROP
Esta regra acima faz com que todos os pacotes vindo de qualquer endereço da classe de ip 192.168.1.1 á 192.168.1.255 nega os pacotes.
#iptables -A OUTPUT -p icmp -d ! 192.168.1.0/24 -j ACCEPT
Esta regra acima faz com que todos os pacotes vindo de qualquer endereço da classe de ip 192.168.1.1 á 192.168.1.255 aceita os pacotes.
#echo 1 > /proc/sys/net/ipv4/ip_forward
Habilitando o recurso de IP forwarding
# iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit
1/s -j ACCEPT
# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
# iptables -A INPUT -s 10.0.0.0/8 -i Interface da NET -j DROP
# iptables -A INPUT -s 172.16.0.0/16 -i Interface da NET -j DROP
# iptables -A INPUT -s 192.168.0.0/24 -i Interface da NET -j DROP
Obs.: Interface da NET pode ser ppp0, ethX e etc.
Log a portas proibidas e alguns backdoors
# iptables -A INPUT -p tcp --dport 21 -j LOG --log-prefix "Serviço: FTP"
# iptables -A INPUT -p tcp --dport 5042 -j LOG --log-prefix "Serviço: Wincrash"
# iptables -A INPUT -p tcp --dport 12345 -j LOG --log-prefix "Serviço: BackOrifice"
# iptables -A INPUT -p tcp --dport 123456 -j LOG --log-prefix "Serviço: BackOrifice"
# iptables -t nat -A PREROUTING -i ethx -p tcp --dport 25 -j DNAT --to 192.168.1.1
# iptables -t nat -A PREROUTING -i ethx -p tcp --dport 110 -j DNAT --to 192.168.1.1
OBS.:Sendo que ethx é sua interface de entrada da WAN.
Para ativar o módulo String match support (EXPERIMENTAL) tem que aplicar o patch e logo depois compilar o kernel.
# iptables -m string --string "X-Kazaa-Username:" -j DROP
# iptables -m string --string "X-Kazaa-Network:" -j DROP
# iptables -m string --string "X-Kazaa-IP:" -j DROP
# iptables -m string --string "X-Kazaa-SupernodeIP:" -j DROP
Neste caso você tenha atrás do seu firewall linux um servidor de web IIS da microsoft, e deseja evitar que worms com código arbitrários que usam o comando cmd.exe:
# iptables -I INPUT -j DROP -p tcp -s 0.0.0.0/0 -m string --string "cmd.exe"
# iptables -I INPUT -j LOG -p tcp -s 0.0.0.0/0 -m string --string "cmd.exe" -m limit --limit 1/hour
Scripts Cases Ruleset 1 Ruleset 2 Ruleset 3 Ruleset 4 Ruleset 5 Ruleset 6
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários