Você está na página 1de 16

DOCUMENTAO SERVIDOR PROXY

APRESENTAO: As duas mquinas esto trabalhando em um formato


streamline high-avaiable e load-balance.
Onde as conexes dos usurios so balanceadas entre os dois
servidores e em caso de falha de um deles as conexes so
redirecionadas ao nodo operante. No re-estabelecimento do nodo
inoperante as conexes voltam a ser balanceadas.
Topologia:

200.182.94.64/26

Fig 1
Como funciona?
Todo o tempo um dos nodos o Linux-Diretor ativo enquanto o
outro um hot stand-by. O diretor Linux ativo aceita o trfego atravs
do IP virtual 172.16.8.77 e balanceia entre os dois nodos utilizando o
LVS. Cada nodo monitora o outro atravs do Heartbeat e no caso do
diretor linux ativo falhar o nodo stand-by assume o IP virtual fazendo

com que o servio seja mantido. Uma tabela de encaminhamento de


conexes mantida sincronizada entre os dois nodos(diretor e standby) fazendo com que cada conexo existente no momento da falha
possa ser mantida enquanto o nodo responsvel pela conexo estiver
operante.
Quando o diretor Linux recebe uma conexo de um usurio ele
decide para qual servidor real ira encaminhar a conexo. Todos os
pacotes pertencentes a esta conexo continuaro sendo encaminhados
para o mesmo servidor assim a integridade da conexo entre o usurio
e o nodo servidor mantida.
O Ldirectord monitora a operao do squid nos dois servidores
fazendo conexes peridicas ao servio. Se o servio no estiver
operante em um dos nodos o nodo removido da lista de servidores
disponveis, e ser re-inserido quando voltar a operar.
O Rsync mantm os arquivos de configurao e acls do squid e
logs do sarg sincronizados entre os 2 nodos.
O IPTABLES atua como firewall bloqueando portas e conexes
indesejadas.
O SARG gera os relatrios de acessos concatenando os logs dos dois
nodos servidores atravs de script programado para execuo diria
pelo cron.
O Apache2 publica os logs do squid para acesso via web.
O Proxy_auth verifica as autorizaes dos usurios do active
directory em acessar ou no a internet.
O Squid prov o acesso as pginas da internet baseado em listas
de controle de acesso personalizadas para cada nvel de usurio:
Restritos, Parciais, Ilimitados e Bibliotecas.
O Nvel bilioteca abrange todos os IPS das mquinas utilizadas
para acesso dos muncipes nas bibliotecas, para que estes no
solicitem autenticao no acesso internet.
O Nvel Restrito abrange o acesso apenas de pginas
cadastradas como autorizadas no sistema.
O nvel Parcial abrange o acesso de todas as pginas Web com
exceo as pginas cadastradas como proibidas no sistema
O nvel Ilimitado abrange o acesso de toda a Web sem
restries.
Por default os usurios habilitados para acesso a internet so
includos no grupo Parcial
Os nveis que necessitam de autenticao so restritos a apenas
uma mquina por login para inibir o compartilhamento de senhas
pelos usurios.

As mensagens de erro so personalizadas para informar o usurio


sobre contedo indevido, falta de autenticao e uso mltiplo de
senha.
HARDWARE: 2 COMPUTADORES PENTIUM IV COM AS SEGUINTES
DESCRIOES: 3.2GHZ HT, 512MB, 80GB.
1 - Instalao e configurao dos nodos:
As duas mquinas foram instaladas a partir do GNU/Linux Debian
SARGE r2 com kernel 2.6. Iinstalao bsica.
1.1 - Particionamento:
Hdc1 > / com 79GB
Hdc2 > Swap com 500MB
Hdc3 > no montado com 500MB
1.2 - Instalado kernel-headers-2.6.8-2-386 e libncurses5-dev
1.3 - Configurao da Rede:
Eth0 > Heartbeat, Rsync
Eth1 > Internet
Eth2 > Rede interna. >> Marvel Gigabit
#echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
#echo
#echo
#echo
#echo

"net.ipv4.conf.all.arp_ignore =
"net.ipv4.conf.eth0.arp_ignore
"net.ipv4.conf.eth1.arp_ignore
"net.ipv4.conf.eth2.arp_ignore

1" >> /etc/sysctl.conf


= 1" >> /etc/sysctl.conf
= 1" >> /etc/sysctl.conf
= 1" >> /etc/sysctl.conf

#echo "net.ipv4.conf.all.arp_announce =
#echo "net.ipv4.conf.eth0.arp_announce
#echo "net.ipv4.conf.eth1.arp_announce
#echo "net.ipv4.conf.eth2.arp_announce
#sysctl -p

2" >> /etc/sysctl.conf


= 2" >> /etc/sysctl.conf
= 2" >> /etc/sysctl.conf
= 2" >> /etc/sysctl.conf

1.3.1 configurao de rede para


nodo1:

1.3.2 Configurao da rede para


Nodo2

auto lo
iface lo inet loopback

auto lo
iface lo inet loopback

auto lo:0
iface lo:0 inet static
address 172.16.8.77
netmask 255.255.255.255
pre-up sysctl -p > /dev/null

auto lo:0
iface lo:0 inet static
address 172.16.8.77
netmask 255.255.255.255
pre-up sysctl -p > /dev/null

auto eth0
iface eth0 inet static
address 192.168.251.5
netmask 255.255.255.252
network 192.168.251.4
broadcast 192.168.251.7
#
gateway

auto eth0
iface eth0 inet static
address 192.168.251.6
netmask 255.255.255.252
network 192.168.251.4
broadcast 192.168.251.7
#
gateway

auto eth1
iface eth1 inet static
address 200.182.94.2
netmask 255.255.255.192
network 200.182.94.0
broadcast 200.182.94.63
gateway 200.182.94.1

auto eth1
iface eth1 inet static
address 200.182.94.66
netmask 255.255.255.192
network 200.182.94.64
broadcast 200.192.94.127
#
gateway 200.192.94.65

auto eth2
iface eth2 inet static
address 172.16.8.83
netmask 255.255.248.0
network 172.16.8.0
broadcast 172.16.15.255
#
gateway 172.16.8.2

auto eth2
iface eth2 inet static
address 172.16.8.85
netmask 255.255.248.0
network 172.16.8.0
broadcast 172.16.15.255
#
gateway 172.16.8.2

route add net 172.16.0.0/16 gw 172.16.8.2

route add net 172.16.0.0/16 gw 172.16.8.2

1.4 Configurao dos mdulos do kernel para suporte IPVS


echo
echo
echo
echo
echo
echo
echo
echo

ip_vs_dh >> /etc/modules


ip_vs_ftp >> /etc/modules
ip_vs >> /etc/modules
ip_vs_lblc >> /etc/modules
ip_vs_lblcr >> /etc/modules
ip_vs_lc >> /etc/modules
ip_vs_nq >> /etc/modules
ip_vs_rr >> /etc/modules

modprobe
modprobe
modprobe
modprobe
modprobe
modprobe
modprobe
modprobe

ip_vs_dh
ip_vs_ftp
ip_vs
ip_vs_lblc
ip_vs_lblcr
ip_vs_lc
ip_vs_nq
ip_vs_rr

echo
echo
echo
echo

ip_vs_sed >> /etc/modules


ip_vs_sh >> /etc/modules
ip_vs_wlc >> /etc/modules
ip_vs_wrr >> /etc/modules

modprobe
modprobe
modprobe
modprobe

ip_vs_sed
ip_vs_sh
ip_vs_wlc
ip_vs_wrr

1.5 Instalao dos pacotes:


1.5.1 Para instalao do ultramonkey deve ser adicionado o
seguinte repositrio:
deb http://www.ultramonkey.org/download/3/ sarge main
deb-src http://www.ultramonkey.org/download/3 sarge main

1.5.2 apt-get install squid squidclient squid-cgi smbclient nmap


iptraf tcpdump apache2 ultramonkey3
*durante a instalao do pacote ipvsadm o instalador pedir para
configurar o /etc/ipvsadm.rules. Vc deve responder no.
**Vc tb ser perguntado sobre a configurao da sincronizao
do servio IPVS. recomendado que vc selecione NONE.
2.0 Configurao do HeartBeat:
2.1 /etc/ha.d/authkeys
auth 3
3 md5 <senha>
#chmod 600 /etc/ha.d/authkeys
2.2 /etc/ha.d/haresources
Proxy-Node1
\
ldirectord::ldirectord.cf \
LVSSyncDaemonSwap::master \
IPaddr2::172.16.8.77/21/eth2/172.16.15.255

2.3 /etc/ha.d/ha.cf
logfacility
local0
bcast
eth0
#linux
mcast
eth0 225.0.0.1 694 1 0
auto_failback off
node
Proxy-Node1
node
Proxy-Node2
ping 172.16.8.2
respawn
hacluster
/usr/lib/heartbeat/ipfail
apiauth
ipfail
gid=haclient uid=hacluster
2.4 inicializao do servio:
/usr/sbin/update-rc.d -f heartbeat remove
/usr/sbin/update-rc.d heartbeat start 75 2 3 4 5 . stop 05 0 1 6 .

3.0 Configurando Ldirectord:


3.1 /etc/ha.d/ldirectord.cf
checktimeout=10
checkinterval=2
autoreload=no
logfile="local0"
quiescent=no
virtual=172.16.8.77:3128
real=172.16.8.85:3128 gate
real= 172.16.8.83:3128 gate
service=http
scheduler=rr
protocol=tcp
checktype=connect

3.2 o service ldirectord ser iniciado pelo heartbeat


/usr/sbin/update-rc.d -f ldirectord remove

4.0 Rsync:
4.1 Download do Rsync
http://samba.anu.edu.au/ftp/rsync/rsync-2.6.8.tar.gz
4.2 compilao e instalao:
./configure
make
make install
4.3 Configurao do servidor
4.3.1 /etc/rsyncd.conf:
pid file = /var/run/rsyncd.pid
max connections = 5
use chroot = yes
uid = root
hosts allow = 192.168.251.5
hosts deny = *
[squid_confs]
path = /etc/squid
read only = false
[sarg_logs]
path = /var/www/html/squid-reports
read only = false
4.3.2 /etc/init.d/rsyncd
#!/bin/sh
rsync daemon
#chmod +x /etc/init.d/rsyncd
#ln s ../init.d/rsyncd /etc/rc2.d/S88rsync

4.4 Script para sincronizao:


*

#! /bin/bash
#sincronizacao do squid.conf
/usr/local/bin/rsync -u -t /etc/squid/squid.conf 192.168.251.6::squid_confs/squid.conf
/usr/local/bin/rsync -u -t 192.168.251.6::squid_confs/squid.conf /etc/squid/squid.conf
#
#sincronizacao do conteudo_bloqueado
#
/usr/local/bin/rsync -u -t /etc/squid/acls/conteudo_bloqueado
192.168.251.6::squid_confs/acls/conteudo_bloqueado
/usr/local/bin/rsync -u -t 192.168.251.6::squid_confs/acls/conteudo_bloqueado
/etc/squid/acls/conteudo_bloqueado
#
#sincronizacao do conteudo_liberado
#
/usr/local/bin/rsync -u -t /etc/squid/acls/conteudo_liberado
192.168.251.6::squid_confs/acls/conteudo_liberado
/usr/local/bin/rsync -u -t 192.168.251.6::squid_confs/acls/conteudo_liberado
/etc/squid/acls/conteudo_liberado
#
#sincronizacao do usuarios_ilimitados
#
/usr/local/bin/rsync -u -t /etc/squid/acls/usuarios_ilimitados
192.168.251.6::squid_confs/acls/usuarios_ilimitados
/usr/local/bin/rsync -u -t 192.168.251.6::squid_confs/acls/usuarios_ilimitados
/etc/squid/acls/usuarios_ilimitados
#
#sincronizacao do usuarios_parciais
#
/usr/local/bin/rsync -u -t /etc/squid/acls/usuarios_parciais
192.168.251.6::squid_confs/acls/usuarios_parciais
/usr/local/bin/rsync -u -t 192.168.251.6::squid_confs/acls/usuarios_parciais
/etc/squid/acls/usuarios_parciais
#
#reload das configuracoes
/etc/init.d/squid reload

* Todos os IPS utilizados neste script correspondem ao nodo oposto


onde roda o script.

5.0 Smb_auth:
5.1 Download:
http://www.hacom.nl/~richard/software/smb_auth-0.05.tar.gz
5.2 Configurao
tar xvzf smb_auth-0.05.tar.gz
cd smb_auth-0.05
vi Makefile
Alterar o SAMBAPREFIX para:
SAMBAPREFIX=/usr
make
make install
5.3 Configurao servidor de domnio:
Criar arquivo proxyauth na pasta netlogon do servidor de domnio eleito
para autenticao.
*ps para autenticao de outros domnios a relao de confiana tem
que estar funcionando corretamente.
5.4 Parcela de autenticao no squid.conf
auth_param basic program /usr/local/bin/smb_auth -W guarulhos -U
172.16.8.39 saude -P guarulhos -W sica -P guarulhos -W educ P guarulhos -W biblioteca -P guarulhos -W dcc -P guarulhos -W drh -P
guarulhos -W dti -P guarulhos -W financas -P guarulhos -W
obras -P guarulhos -W planejamento -P guarulhos -W sdu3 -P
guarulhos -W sema -P guarulhos -W juridico -P guarulhos
6.0 CONFIGURAO SQUID
6.1 Foram criados os arquivos
/etc/squid/acls/
conteudo_bloqueado
conteudo_liberado
ips_bibliotecas
usuarios_ilimitados
usuarios_restritos
Para cadastro dos alvos das diretivas de acesso.

6.2 Foram criados os arquivos


/usr/share/squid/errors/Portuguese/
ERR_LIMITA_IP
ERR_CONTEUDO
ERR_AUTENTICA
ERR_CACHE_ACCESS_DENIED -> ERR_AUTENTICA
ERR_ACCESS_DENIED -> ERR_CONTEUDO
Para cadastro das mensagens personalizadas de erro fornecidas para os
usurios.
6.3 squid.conf:
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
hosts_file /etc/hosts
error_directory /usr/share/squid/errors/Portuguese
visible_hostname Proxy_Box.guarulhos.sp.gov.br
unique_hostname Proxy-Node1.guarulhos.sp.gov.br
#
############# SECAO DE AUTENTICACAO ##############
#
auth_param basic program /usr/local/bin/smb_auth -W guarulhos -U 172.16.8.39
saude -P guarulhos -W sica -P guarulhos -W educ P guarulhos -W biblioteca -P guarulhos -W dcc -P guarulhos -W drh -P guarulhos -W dti
-P guarulhos -W financas -P guarulhos -W
obras -P guarulhos -W planejamento -P guarulhos -W sdu3 -P guarulhos -W sema -P
guarulhos -W juridico -P guarulhos
auth_param basic children 10
auth_param basic realm "Digite seu Login e senha da rede"
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
authenticate_ip_ttl 120 seconds
#
###########################################
#
refresh_pattern ^ftp:
1440 20%
10080
refresh_pattern ^gopher:
1440 0%
1440
refresh_pattern .
0
20%
4320
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
# https, snews
acl SSL_ports port 873
# rsync
acl Safe_ports port 80
# http
acl Safe_ports port 21
# ftp
acl Safe_ports port 443 563
# https, snews
acl Safe_ports port 70
# gopher

acl Safe_ports port 210


# wais
acl Safe_ports port 1025-65535 # unregistered ports

acl Safe_ports port 280

# http-mgmt

acl Safe_ports port 488


# gss-http
acl Safe_ports port 591
# filemaker
acl Safe_ports port 777
# multiling http
acl Safe_ports port 631
# cups
acl Safe_ports port 873
# rsync
acl Safe_ports port 901
# SWAT
acl purge method PURGE
acl CONNECT method CONNECT
#
############ ACLS PERSONALIZADAS #########
#
acl ips_bibliotecas src "/etc/squid/acls/ips_bibliotecas"
acl limitaip max_user_ip -s 1
acl completo proxy_auth_regex "/etc/squid/acls/usuarios_ilimitados" REQUIRED
acl parcial proxy_auth_regex "/etc/squid/acls/usuarios_parciais" REQUIRED
acl restrito proxy_auth REQUIRED
acl conteudo_bloqueado url_regex "/etc/squid/acls/conteudo_bloqueado"
acl conteudo_liberado url_regex "/etc/squid/acls/conteudo_liberado"
#
#
############ AUTORIZACOESS #################
#
#
http_access allow ips_bibliotecas
http_access deny !completo !parcial !restrito
deny_info ERR_LIMITA_IP limitaip
http_access deny limitaip
http_access allow completo
deny_info ERR_CONTEUDO conteudo_bloqueado
http_access allow parcial !conteudo_bloqueado
http_access allow restrito conteudo_liberado !conteudo_bloqueado
#
############################################
debug_options ALL,1 28,3
#
#
#
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access deny all

7.0 SARG - Squid Analysis Report Generator

7.1 Download
http://prdownloads.sourceforge.net/sarg/sarg-2.2.1.tar.gz?download

7.2 Compilando e instalando:


#tar xvzf sarg-2.2.1.tar.gz
#./configure
#make
#make install
7.3 Configurando
7.3.1 /usr/local/sarg/sarg.conf
language Portuguese
access_log /var/log/squid/access_log_total
graphs yes
title Logs de acesso do servidor proxy %M $M
font_face Tahoma,Verdana,Arial
temporary_dir /tmp
output_dir /var/www/html/squid-reports
resolve_ip no
user_ip no
topuser_sort_field BYTES reverse
user_sort_field BYTES reverse
date_format e
lastlog 30
remove_temp_files yes
index yes
overwrite_report no
records_without_userid ip
use_comma no
topsites_num 100
topsites_sort_order BYTES D

index_sort_order D

report_type topusers topsites sites_users users_sites date_time denied auth_failures


site_user_time_date downloads
charset Latin1
topuser_fields NUM DATE_TIME USERID CONNECT BYTES %BYTES IN-CACHE-OUT
USED_TIME MILISEC %TIME TOTAL AVERAGE
user_report_fields CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC
%TIME TOTAL AVERAGE
topuser_num 100
download_suffix "zip,arj,bzip,gz,ace,doc,iso,adt,bin,cab,com,dot,drv$,lha,lzh,md

7.3.2 Script para associao e publicao dos logs

/etc/ha.d/sarg.sh

>>Nodo1

#!/bin/bash
cat /var/log/squid/access.log > /var/log/squid/access_log_total
rsh 192.168.251.6 cat /var/log/squid/access.log >> /var/log/squid/access_log_total
echo "" >/var/log/squid/access.log
rsh 192.168.251.6 "echo "" >/var/log/squid/access.log"
/usr/bin/sarg
/usr/local/bin/rsync -u -t -r /var/www/html/squid-reports/* 192.168.251.6::sarg_logs/

8.0 Configurao IPTABLES:


8.1 Nodo 1

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:ping-death - [0:0]
:syn-flood - [0:0]
:port-scan - [0:0]
#-A OUTPUT -o eth1 -j ACCEPT
-A INPUT -i eth1 -p tcp ! --syn -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A INPUT -i eth2 -p tcp -d 172.16.8.83 --dport 3128 -j DROP
-A INPUT -i eth2 -p tcp -m tcp -s 172.16.0.0/16 -j ACCEPT
-A INPUT -i eth2 -p udp -m udp -s 172.16.0.0/16 -j ACCEPT
-A OUTPUT -o eth2 -p tcp -m tcp -d 172.16.0.0/16 -j ACCEPT
-A OUTPUT -o eth2 -p udp -m udp -d 172.16.0.0/16 -j ACCEPT
-A INPUT -i eth2 -s 172.16.8.2 -p icmp -j ACCEPT
-A INPUT -i eth1 -s 201.28.8.201 -p udp --sport 53 -j ACCEPT
-A INPUT -i eth1 -s 201.28.8.130 -p udp --sport 53 -j ACCEPT
-A OUTPUT -p tcp -m tcp --syn -o eth2 ! -d 172.16.8.39/32 -j DROP
-A FORWARD -i eth2 -o eth1 -p tcp -m tcp -s 172.16.0.0/16 -j ACCEPT
-A FORWARD -i eth2 -o eth1 -p udp -m udp -s 172.16.0.0/16 -j ACCEPT
-A FORWARD -i eth1 -o eth2 -p tcp -m tcp -d 172.16.0.0/16 -j ACCEPT
-A FORWARD -i eth1 -o eth2 -p udp -m udp -d 172.16.0.0/16 -j ACCEPT
-A OUTPUT -o eth2 -p icmp -d 172.16.8.2 -j ACCEPT
-A OUTPUT -o eht1 -p udp --dport 53 -j ACCEPT
-A OUTPUT -o eth1 -p tcp --syn -j ACCEPT
-A OUTPUT -o eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

-A INPUT -i eth0 -p all -j ACCEPT


-A OUTPUT -o eth0 -p all -j ACCEPT
-A ping-death -m limit --limit 1/sec --limit-burst 4 -j RETURN
-A ping-death -j LOG --log-prefix "IPTABLES PING-DEATH:"
-A ping-death -j DROP
-A port-scan -m limit --limit 1/sec --limit-burst 4 -j RETURN
-A port-scan -j LOG --log-prefix "IPTABLES PORT-SCAN:"
-A port-scan -j DROP
-A syn-flood -m limit --limit 1/sec --limit-burst 4 -j RETURN
-A syn-flood -j LOG --log-prefix "IPTABLES SYN-FLOOD:"
-A syn-flood -j DROP
#
#
#-A FORWARD -p tcp -j ACCEPT
#-A INPUT -s 172.16.8.0/255.255.248.0 -p tcp -m tcp --dport 22 -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 3128 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j syn-flood
-A INPUT -i eth1 -p tcp -m state -m tcp ! --tcp-flags SYN,RST,ACK SYN --state NEW -j LOG --logprefix "IPTABLES SYN-FLOOD:"
-A INPUT -i eth1 -p tcp -m state -m tcp ! --tcp-flags SYN,RST,ACK SYN --state NEW -j DROP
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 8 -j ping-death
-A INPUT -i eth1 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -j port-scan
-A INPUT -i eth1 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
-A INPUT -i eth1 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j
DROP
-A INPUT -i eth1 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,ACK,URG -j
DROP
-A INPUT -i eth1 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -i eth1 -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A INPUT -i eth1 -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
8.2 Nodo 2:

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:ping-death - [0:0]
:syn-flood - [0:0]
:port-scan - [0:0]
#-A OUTPUT -o eth1 -j ACCEPT
-A INPUT -i eth1 -p tcp ! --syn -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A INPUT -i eth2 -p tcp -d 172.16.8.85 --dport 3128 -j DROP
-A INPUT -i eth2 -p tcp -m tcp -s 172.16.0.0/16 -j ACCEPT
-A INPUT -i eth2 -p udp -m udp -s 172.16.0.0/16 -j ACCEPT
-A OUTPUT -o eth2 -p tcp -m tcp -d 172.16.0.0/16 -j ACCEPT
-A OUTPUT -o eth2 -p udp -m udp -d 172.16.0.0/16 -j ACCEPT
-A INPUT -i eth2 -s 172.16.8.2 -p icmp -j ACCEPT
-A INPUT -i eth1 -s 201.28.8.201 -p udp --sport 53 -j ACCEPT
-A INPUT -i eth1 -s 201.28.8.130 -p udp --sport 53 -j ACCEPT
-A OUTPUT -p tcp -m tcp --syn -o eth2 ! -d 172.16.8.39/32 -j DROP

-A FORWARD -i eth2 -o eth1 -p tcp -m tcp -s 172.16.0.0/16 -j ACCEPT


-A FORWARD -i eth2 -o eth1 -p udp -m udp -s 172.16.0.0/16 -j ACCEPT
-A FORWARD -i eth1 -o eth2 -p tcp -m tcp -d 172.16.0.0/16 -j ACCEPT
-A FORWARD -i eth1 -o eth2 -p udp -m udp -d 172.16.0.0/16 -j ACCEPT
-A OUTPUT -o eth2 -p icmp -d 172.16.8.2 -j ACCEPT
-A OUTPUT -o eht1 -p udp --dport 53 -j ACCEPT
-A OUTPUT -o eth1 -p tcp --syn -j ACCEPT
-A OUTPUT -o eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p all -j ACCEPT
-A OUTPUT -o eth0 -p all -j ACCEPT
-A ping-death -m limit --limit 1/sec --limit-burst 4 -j RETURN
-A ping-death -j LOG --log-prefix "IPTABLES PING-DEATH:"
-A ping-death -j DROP
-A port-scan -m limit --limit 1/sec --limit-burst 4 -j RETURN
-A port-scan -j LOG --log-prefix "IPTABLES PORT-SCAN:"
-A port-scan -j DROP
-A syn-flood -m limit --limit 1/sec --limit-burst 4 -j RETURN
-A syn-flood -j LOG --log-prefix "IPTABLES SYN-FLOOD:"
-A syn-flood -j DROP
#
#
#-A FORWARD -p tcp -j ACCEPT
#-A INPUT -s 172.16.8.0/255.255.248.0 -p tcp -m tcp --dport 22 -j ACCEPT
#-A INPUT -p tcp -m tcp --dport 3128 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j syn-flood
-A INPUT -i eth1 -p tcp -m state -m tcp ! --tcp-flags SYN,RST,ACK SYN --state NEW -j LOG --logprefix "IPTABLES SYN-FLOOD:"
-A INPUT -i eth1 -p tcp -m state -m tcp ! --tcp-flags SYN,RST,ACK SYN --state NEW -j DROP
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 8 -j ping-death
-A INPUT -i eth1 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -j port-scan
-A INPUT -i eth1 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
-A INPUT -i eth1 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j
DROP
-A INPUT -i eth1 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,ACK,URG -j
DROP
-A INPUT -i eth1 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -i eth1 -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A INPUT -i eth1 -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP

9.0 Configurao do cron


9.1 Nodo 1:
1-59/2 * * * * /etc/ha.d/rsync.sh
0 * * * * /usr/sbin/ntpdate -s ntp.usp.br
55 23 * * * /etc/ha.d/sarg.sh
9.2 Nodo 2:
0-58/2 * * * * /etc/ha.d/rsync.sh
0 * * * * /usr/sbin/ntpdate -s ntp.usp.br

Referncias:
http://www.howtoforge.com/high_availability_loadbalanced_apache_clu
ster_p2
http://www.linux-ha.org/
www.ultramonkey.org
www.linuxvirtualserver.org
http://ha.linuxchix.org.br/
http://www.vergenet.net/linux/ldirectord/
http://www.drbd.org/
http://samba.anu.edu.au/ftp/rsync/README
http://samba.anu.edu.au/rsync/
http://squid-cache.org
http://www.hacom.nl/~richard/software/smb_auth.html
http://www.netfilter.org/
Elaborado por Denis M. P. Anjos
denismarcelo@guarulhos.sp.gov.br

Você também pode gostar