Firewall iptables para desktop.
Autor: Daniel - d4n1h4ck3r@gmail.com
Licença: GPL
Sistema ultilizado: Slackware 12.2
Usabilidade: qualquer distribuição linux.
Uso: adicionar permissão de execução (chmod +x) ao arquivo como root (Ex.: # chmod +x
rc.firewall). Mover o arquivo para o diretório /etc/rc.d/ para o Slackware e distribuições
derivadas, para outra distribuições mover para o local adequado (Ex.: /etc/init.d/).
Esconder código-fonte
#!/bin/sh
#
# /etc/rc.d/rc.firewall
#
# Start/stop/restart the Firewall.
#
# To make Firewall start automatically at boot, make this
# file executable: chmod 755 /etc/rc.d/rc.firewall
# Author: Daniel - d4n1h4ck3r@gmail.com
# Criation: 04/04/2009
# Atualization: 13/06/2009
# Modules
/ sbin / modprobe ip_tables
/ sbin / modprobe ip_conntrack
/ sbin / modprobe iptable_filter
/ sbin / modprobe ipt_LOG
/ sbin / modprobe ipt_limit
/ sbin / modprobe ipt_state
/ sbin / modprobe ipt_owner
/ sbin / modprobe ipt_REJECT
/ sbin / modprobe ip_conntrack_ftp
# Firewall Start
firewall_start () {
# Clean
iptables - X
iptables - Z
iptables - F
iptables - t nat - F
# Politics default
iptables - P INPUT DROP
iptables - P FORWARD DROP
iptables - P OUTPUT ACCEPT
# Loopback Access
iptables - A INPUT - i lo - j ACCEPT
# Conections enabled
iptables - A INPUT - m state -- state ESTABLISHED , RELATED - j ACCEPT
# Security
echo 1 > /proc/ sys / net / ipv4 / icmp_echo_ignore_all
echo 1 > /proc/ sys / net / ipv4 / icmp_echo_ignore_broadcasts
echo 1 > /proc/ sys / net / ipv4 / tcp_syncookies
iptables - A FORWARD - p icmp -- icmp - type echo - request - m limit -- limit 1 / s - j ACCEPT
iptables - A FORWARD - p tcp - m limit -- limit 1 \s - j ACCEPT
iptables - A FORWARD - m state -- state ESTABLISHED , RELATED - j ACCEPT
iptables - A FORWARD - p tcp -- tcp - flags SYN , ACK , FIN , RST RST - m limit -- limit 1 / s - j ACCEPT
iptables - A FORWARD -- protocol tcp -- tcp - flags ALL SYN , ACK - j DROP
echo "Firewall Start."
}
# Firewall Stop
firewall_stop () {
# Clean
iptables - X
iptables - Z
iptables - F
iptables - t nat - F
# Politics default
iptables - P INPUT ACCEPT
iptables - P FORWARD ACCEPT
iptables - P OUTPUT ACCEPT
# Loopback access
iptables - A INPUT - i lo - j ACCEPT
# Conections enabled
iptables - A INPUT - m state -- state ESTABLISHED , RELATED - j ACCEPT
echo "Firewall Stop (without security)."
}
# Firewall Restart
firewall_restart () {
firewall_stop
sleep 3
firewall_start
}
# Options
case "$1" in
'start' )
firewall_start
;;
'stop' )
firewall_stop
;;
'restart' )
firewall_restart
;;
*)
echo "rc.firewall start"
echo "rc.firewall stop"
echo "rc.firewall restart"
esac
Scripts recomendados
Monitorar capacidade das partições
The Universal Argument Parser (with long options)
Editar o gerenciador de boot Grub.
Renomeador Automático de Arquivos de Mídia
Testa link e reinicia a interface
Comentários
Vc não descreveu as portas que deseja abrir ?
Somente serão abertas as portas requisitadas pelo desktop. A política padrão é negar INPUT e FORWARD, aceitando somente o OUTPUT, ou seja saida, se preciso abrir algumas portas adicionais é só inclementar de acordo com a necessidade do usuário.
Obs.: Firewall básico, se puderem inclementar ou corrigir algo, agradeço!
Mensagem
Somente serão abertas as portas requisitadas pelo desktop. A política padrão é negar INPUT e FORWARD, aceitando somente o OUTPUT, ou seja saida, se preciso abrir algumas portas adicionais é só inclementar de acordo com a necessidade do usuário.
Obs.: Firewall básico, se puderem inclementar ou corrigir algo, agradeço!
Ficou xique o seu script, eu li rapidamente o guia do morimoto e fiz com pressa o no meu arch ta assim:
#!/bin/bash
iniciar(){
#interface loopback
iptables -A INPUT -i lo -j ACCEPT
#abre as portas DNS
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
#abre as portas HTTP e HTTPS
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#garante que o firewall permitira pacotes de conexões ja iniciadas
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#ignora pings
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
#protege contra IP spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
#descarta pacotes mal formados protegendo contra ataques diversos
iptables -A INPUT -m state --state INVALID -j DROP
#bloqueia as portas UDP de 0 a 1023 (com exceção das abertas acima)
iptables -A INPUT -p udp --dport 0:1023 -j DROP
#bloqueia conexões nas demais portas
iptables -A INPUT -p tcp --syn -j DROP
echo "Regras do firewall ativadas"
}
parar(){
iptables -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
echo "Regras do firewall desativadas"
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parametros start ou stop"
esac
E pior q ta funcionando. kkkk
na proxima vez eu vo usar o seu.
Mensagem
Ficou xique o seu script, eu li rapidamente o guia do morimoto e fiz com pressa o no meu arch ta assim:
#!/bin/bash
iniciar(){
#interface loopback
iptables -A INPUT -i lo -j ACCEPT
#abre as portas DNS
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
#abre as portas HTTP e HTTPS
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#garante que o firewall permitira pacotes de conexões ja iniciadas
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#ignora pings
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
#protege contra IP spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
#descarta pacotes mal formados protegendo contra ataques diversos
iptables -A INPUT -m state --state INVALID -j DROP
#bloqueia as portas UDP de 0 a 1023 (com exceção das abertas acima)
iptables -A INPUT -p udp --dport 0:1023 -j DROP
#bloqueia conexões nas demais portas
iptables -A INPUT -p tcp --syn -j DROP
echo "Regras do firewall ativadas"
}
parar(){
iptables -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
echo "Regras do firewall desativadas"
}
case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parametros start ou stop"
esac
E pior q ta funcionando. kkkk
na proxima vez eu vo usar o seu.
É semelhante os scripts, o que difere é a definição da política padrão e as portas abertas explicitamente..., mas funciona :)
Mensagem
É semelhante os scripts, o que difere é a definição da política padrão e as portas abertas explicitamente..., mas funciona :)
O script do link "fazer download" não é o que postei..., está baixando outro..., pois o que eu postei está no link "código fonte"..., estranho isso...
Mensagem
O script do link "fazer download" não é o que postei..., está baixando outro..., pois o que eu postei está no link "código fonte"..., estranho isso...
Contribuir com comentário
Enviar