quarta-feira, 17 de junho de 2009

Gerador de Scripts (Linux)

O site Rede Linux possui uma ferramenta que gera scripts de configuração pedindo apenas algumas informações. Dentre os scripts gerados, estão alguns de serviços comuns a servidores linux como proxy(squid), firewall (iptables), etc.

Abaixo um exemplo de firewall gerado pelo sistema:

===================================================
Inclua a permissão de execução no seu script Firewall
chmod u+x firewall.sh
===================================================

#!/bin/bash
#
#Script de Firewall da DMZ criado pela www.redelinux.com.br
#Autor: Daniel Cardoso
#
#####################################
# FLUSH #
#####################################
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -F
#####################################
# VARIAVEL #
#####################################
IF_IN=eth1
IF_OUT=eth0
HOST=123.45.67.89
MAIL=192.168.0.2
MAIL_PORT=25,110
WWW=192.168.0.1
WWW_PORT=80
IP_ADM=192.168.0.3
DMZ=192.168.0.0/24
#####################################
# Modulos #
#####################################
modprobe ip_tables
modprobe iptable_filter
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
#####################################
# SSH #
#####################################
iptables -A INPUT -p tcp -i $IP_ADM --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp -o $IP_ADM --sport 22 -j ACCEPT
#####################################
# DMZ #
#####################################
#####################################
### ENTRANDO NA DMZ WWW & MAIL
#####################################
iptables -t nat -A PREROUTING -p tcp -i $IF_OUT -d $HOST -m multiport --dport $MAIL_PORT -j DNAT --to $MAIL
iptables -t nat -A POSTROUTING -p tcp -o $IF_IN -m multiport --dport $MAIL_PORT -j MASQUERADE
#
iptables -t nat -A PREROUTING -p tcp -i $IF_OUT -d $HOST -m multiport --dport $WWW_PORT -j DNAT --to $WWW
iptables -t nat -A POSTROUTING -p tcp -o $IF_IN -m multiport --dport $WWW_PORT -j MASQUERADE
#####################################
# SAINDO DA DMZ WWW MAIL FTP & DNS ##
#####################################
iptables -t nat -A POSTROUTING -p tcp -o $IF_OUT -m multiport --dport $MAIL_PORT,$WWW_PORT -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp -o $IF_OUT --dport 53 -j MASQUERADE
iptables -A INPUT -i IP_IN -m state --state ESTABLISHED,RELATED -j ACCEPT
#####################################
######## HABILITANDO FORWARD
#####################################
echo 1 > /proc/sys/net/ipv4/ip_forward
#####################################
######## LIBERANDO FORWARD
#####################################
iptables -A FORWARD -p tcp -o $IF_OUT -i $IF_IN -j ACCEPT
iptables -A FORWARD -p tcp -i $IF_OUT -o $IF_IN -j ACCEPT
#####################################
# SAINDO ICMP da DMZ
#####################################
iptables -t nat -A POSTROUTING -p icmp -o $IF_OUT -j MASQUERADE
iptables -A INPUT -i $IF_IN -m state --state ESTABLISHED,RELATED -j ACCEPT
#####################################
# DROP
#####################################
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT DROP


Vale a pena dar uma olhada
http://www.redelinux.com.br/script/index.php

HAIL!