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
registo de logins e logouts
LIXEIRA COMPLETA_II
Análise de tráfego
suspender ou hibernar por dialog
DNSGEN - Gera e mantém configurações dos servidores DNS
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