Prezados, bom dia!
Tenho um servidor Ubuntu Server 7.10 (gutsy). Este servidor possui três
interfaces de rede: eth0 e eth1 (internet, redundantes) e eth2
(intranet). A função deste servidor é servir de acesso externo aos
sistemas WEB localizados na intranet.
Para tal, o apache 2 instalado neste servidor redireciona as requisições
HTTPS para outros sites na intranet, via ProxyPass e ProxyPassReverse.
A instalação funcionou perfeitamente.
Então, para agregar segurança à intranet, instalei o firewall Shoreline
(3.4.4) e configurei minhas interfaces, zonas, policies e regras, da
seguinte forma:
[EMAIL PROTECTED]:/etc/shorewall$ ls
Makefile interfaces policy routestopped rules shorewall.conf zones
[EMAIL PROTECTED]:/etc/shorewall$ cat zones
fwall firewall #
net ipv4 #
loc ipv4 #
[EMAIL PROTECTED]:/etc/shorewall$ cat interfaces
net eth0 200.181.65.255 routeback
net eth1 200.181.65.255 routeback
loc eth2 192.168.0.255 routeback
[EMAIL PROTECTED]:/etc/shorewall$ cat policy
loc net ACCEPT
loc fwall ACCEPT
$FW loc ACCEPT
$FW net ACCEPT
net loc DROP info
net fwall DROP info
[EMAIL PROTECTED]:/etc/shorewall$ cat rules
FTP/ACCEPT:info net $FW
Webmin/ACCEPT:info net fwall
HTTPS/ACCEPT:info net $FW
HTTP/ACCEPT net $FW
SSH/ACCEPT net $FW
Minhas interfaces estão configuradas e de pé:
[EMAIL PROTECTED]:/etc/shorewall$ sudo ifconfig
eth0 Link encap:Ethernet HWaddr 00:1E:C9:1A:01:39
inet addr:200.181.65.172 Bcast:200.181.65.255 Mask:255.255.255.0
inet6 addr: fe80::21e:c9ff:fe1a:139/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:59910 errors:0 dropped:0 overruns:0 frame:0
TX packets:33283 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:11560302 (11.0 MB) TX bytes:13276239 (12.6 MB)
Base address:0xecc0 Memory:80300000-80320000
eth1 Link encap:Ethernet HWaddr 00:1B:11:11:69:B0
inet addr:200.181.65.174 Bcast:200.181.65.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:16 Base address:0xd800
eth2 Link encap:Ethernet HWaddr 00:1B:11:11:D6:1C
inet addr:192.168.0.152 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::21b:11ff:fe11:d61c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:61499 errors:0 dropped:0 overruns:0 frame:0
TX packets:147746 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:23123185 (22.0 MB) TX bytes:20882163 (19.9 MB)
Interrupt:20 Base address:0xdc00
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2587 errors:0 dropped:0 overruns:0 frame:0
TX packets:2587 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:327792 (320.1 KB) TX bytes:327792 (320.1 KB)
e as rotas necessárias estão configuradas (estão?):
[EMAIL PROTECTED]:/etc/shorewall$ sudo route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use
Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth2
200.181.65.0 * 255.255.255.0 U 0 0 0 eth1
200.181.65.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.0.1 0.0.0.0 UG 100 0 0 eth2
default 200.181.65.169 0.0.0.0 UG 100 0 0 eth0
default 200.181.65.169 0.0.0.0 UG 100 0 0 eth1
Tudo deveria estar funcionando, certo? De fato, tudo estava funcionando
até sábado, quando fui configurar outra rota adicional para um link VPN
entre nossa intranet e outra empresa. Em princípio, esta rota funcionou,
e acredito que nem tenha influenciado no problema.
O que aconteceu é que, de sábado para cá, o acesso externo ao servidor,
via HTTPS e HTTP, inclusive ao Webmin, estão 95% do tempo inalcançáveis.
Na maioria das tentativas, tentando acessar de minha casa, o browser
simplesmente ficava carregando. Após várias horas sem tentar acessar, ao
efetuar nova tentativa, os sites foram acessados com sucesso. Mas um
minuto após, o servidor pára de responder. Isto vem se repetindo: fico a
manhã inteira tentando acessar e reconfigurar, e nada. Ao chegar para
almoçar em casa, tento acessar, e consigo, por um minuto mais ou menos,
depois cai. Isto ocorre não apenas com HTTP ou HTTPS. Se tento acessar
via SSH, recebo a tela de login, mas após informar a senha, o site não
responde, também.
Não há nada de exótico neste servidor, além do próprio Shorewall.
Algumas informações importantes:
Não é problema de DNS, ou de IP, pois, se dou shutdown nas interfaces
desta máquina e configuro outro servidor com os IPs externos da
primeira, consigo acessá-lo com sucesso.
Não é problema de cache de browser, ou nada parecido, pois tentei
acessar de vários locais diferentes.
De fato, quando tento acessar, a tentativa de acesso é logada pelo
syslog, como se houvesse sido aceita. Por exemplo:
Tentando acessar o Webmin via HTTPS (https://200.181.65.172:10000) a
seguinte entrada é logada:
[EMAIL PROTECTED]:/var/log$ tail -f -n0 messages
Apr 7 14:52:34 eainet kernel: [167194.547406]
Shorewall:net2fwall:ACCEPT:IN=eth0 OUT=
MAC=00:1e:c9:1a:01:39:00:18:39:eb:14:2a:08:00 SRC=200.181.65.173
DST=200.181.65.172 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=56391 DF
PROTO=TCP SPT=39402 DPT=10000 WINDOW=5840 RES=0x00 SYN URGP=0
Ou seja, o firewall dá um ACCEPT nesta tentativa de acesso. Entretanto,
a requisição não chega ao apache2, ou ao menos, nada é registrado nos
logs do webserver.
E é este o problema! Alguem tem alguma idéia do que pode estar
acontecendo? Na maioria das vezes, a requisição não chega ao apache,
mas, umas poucas vezes, o acesso é efetuado, por um pequeno tempo, para
depois ser perdido novamente.
Há alguma outra configuração ou log que vocês desejem que eu exponha?
Muitíssimo obrigado a todos! Já estou considerando reinstalar o
servidor, para garantir que não tenha feito alguma "burrada" de que não
me lembre...
Novamente, agradeço por qualquer ajuda!
Abraços,
Filipe Fedalto
---------------------------------------------------------------------------
Esta lista é patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br
Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utilização da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html