service (firewall)
service firewall start|restart|stop
Categoria: Segurança
Software: service
[ Hits: 10.884 ]
Por: Hugo Alvarez
Script para Fedora Core e Red Hat. Neste conf a intenção é somente criar um serviço de forma limpa ao invés de digitar /path/do/arquivo ou colocar suas configurações de firewall dentro do seu rc.local ou qualquer script que você queira criar com as opções start|stop|restart.
Você vai visualizar com facilidade o funcionamento e editar de acordo com sua preferência, a única instrução necessária para funcionamento é criar o diretório de funcionamento setado no script /var/firewall/last-state e um arquivo onde ficarão salvos os dados executando os comandos:
mkdir /var/firewall/last-state
touch /var/firewall/last-state/firewall
chmod -R 755 /var/firewall/last-state
chkconfig firewall
Pronto, agora é só digitar:
service firewall start
service firewall stop
service firewall restart
E ele executará qualquer comando que for colocado dentro dos parâmetros do script. O que eu criei foi um firewall simples onde eth1 é a rede local que aceita conexões ssh da internet na eth0 e proxy transparente com Squid.
#chkconfig: 30 10 06
#
#description: Carregar regras do Firewall
#
#processname: firewall
#pidfile: /var/run/firewall.pid
#config: /etc/rc.d/init.d/firewall
#probe:true
#
#-----------------------------------------------------------------------------#
case "$1" in
start)
echo -e "\nIniciando o FIREWALL...\n"
iptables -t nat -F
iptables -t mangle -F
iptables -t filter -F
iptables -X
iptables -Z
echo "--> Limpeza de regras pre-existentes [ OK ]"
#-----------------------------Definindo Policies------------------------------#
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
echo "--> Definicao das policies [ OK ]"
#----------------------------Definindo roteamento-----------------------------#
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "--> Definicao de roteamento entre redes [ OK ]"
#-------------------------Habilita Modulos do Kernel--------------------------#
modprobe iptable_nat
modprobe iptable_filter
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_MASQUERADE
modprobe ipt_LOG
echo "--> Carga dos modulos do Kernel [ OK ]"
#----------------------------- Tabela FILTER ---------------------------------#
## CHAIN INPUT
#
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j ACCEPT
iptables -A INPUT -i eth1 -m state --state NEW -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -j REJECT
echo "--> Carga das regras da Tabela FILTER:INPUT [ OK ]"
#---------------------------------Tabela NAT----------------------------------#
# Bloqueia Acesso a sites proibidos que utilizam a porta 443
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -d www.orkut.com -p tcp -m tcp --dport 443 -j DROP
# Proxy Transparente
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -d 0/0 -p tcp --dport 80 -j REDIRECT --to-port 3128
# Nega tentativas de conexao na porta 80
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp -m tcp --dport 80 -j DROP
# Ativa o mascaramento
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0/0 -j MASQUERADE
echo "--> Carga das regras da Tabela NAT [ OK ]"
#-----------------------------Atualizando status------------------------------#
$IPTSAVE > /var/firewall/last-state/firewall
echo
#-----------------------------------------------------------------------------#
;;
stop)
echo -e "\nDescarregando FIREWALL e configurando Chains para ACCEPT\n"
echo "1" > /proc/sys/net/ipv4/ip_forward
#-----------------------------Limpando as Tabelas-----------------------------#
iptables -t mangle -F
iptables -t filter -F
iptables -X
iptables -Z
#-----------------------------Definindo Policies------------------------------#
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
#-----------------------------Atualizando status------------------------------#
iptables-save > /var/firewall/last-state/firewall
;;
restart)
$0 stop
$0 start
;;
status)
#iptables -L |less
iptables-save > /var/firewall/last-state/firewall
cat /var/firewall/last-state/firewall |less
;;
*)
echo "Sintaxe: firewall {start|stop|status}"
exit 1
esac
exit 0
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
Não consigo instalar distro antiga no virtualbox nem direto no hd (15)
Quais os códigos mais dificeis que vcs sabem fazer? (12)
systemd-resol... precisa ser reiniciado periodicamente [RESOLVIDO] (7)









