Professional Documents
Culture Documents
Servios
Artigos
Contato
14/01/2012 Rodrigo Luis Silva 37 Comments Linux, Segurana como fazer, debian, fail2ban, Firewall, iptables, Linux, Segurana, Shell
O problema
Post toeu Google+ Em um primeiro momento acreditei que seria fcil bloquear o UltraSurf, porm o uso de proxy transparente obriga que a porta 443 (HTTPS) fique liberada, o BitTorrent foi bloqueado sem dificuldades. Com o uso do tcpdump eu identifique que todo o acesso do UltraSurf sai pela porta 443, logo a soluo mais obvia seria bloquea-la, porm no possvel. Bloquear o IP ou range de IP do servidor de destino seria outra opo. Quando fiz o bloqueio pelo range de IP, descobri que o UltraSurf tenta uma centena de IPs diferentes at conseguir o acesso que ele precisa, e certamente devem existir novos IPs a cada nova verso. Pesquisei pelo Google e no encontrei nenhuma forma eficiente de bloquear o UltraSurf, foi ento que tive pensei o seguinte. Criar uma regra no iptables e fazer log dos acesso ao IP do UltraSurf, depois criar um daemon para ler esse log e fazer um bloqueio em tempo real. Bem, chega de bla bla e vamos por a mo na massa.
Comeando
Vamos l, esse pequeno tutorial para tratar um problema especifico, sendo assim eu suponho que voc j sabe usar o iptables, afinal j est aqui buscando uma forma de fazer um bloqueio mais avanado, rs Acredito que essa soluo possa ser utilizada por todos, para firewall simples at o mais complexo. Eu estou usando Debian 5.0.3, iptables 1.4.2 e fail2ban 0.8.3. Qualquer dvida, problema ou sugesto podem deixar um comentrio.
iptables
Essa parte bem simples, no seu script de firewall adicione a seguinte linha. 1
? i p t a b l e sAF O R W A R Dd6 5 . 4 9 . 1 4 . 0 / 2 4jL O Gl o g p r e f i x" = U l t r a S u r f ="
A rede 65.49.14.0/24 (http://whois.arin.net/rest/net/NET-65-49-14-0-1/pft) a primeira a ser contactada pelo UltraSurf quando ele aberto, a regra acima apenas gera um LOG, no existe bloqueio do acesso, em um primeiro momento o usurio vai at pensar que est funcionando. ATENO Coloque essa regra antes da regra com o modulo state (-m state state ESTABLISHED,RELATED). Se colocar depois os pacotes das conexes j estabelecidas no iro para o LOG e pode gerar falhas no bloqueio.
fail2ban
O fail2ban (http://www.fail2ban.org/) uma ferramenta muito boa para a segurana de servidores, em linhas gerais ela faz o seguinte. L algum arquivo de log, compara com uma expresso regular e em caso positivo ele executa algum comando no sistema. Por padro ele monitora o log do SSH e em caso de falhas consecutivas no acesso ele cria uma regra no iptables para bloquear o possvel invasor.
Instalando
Como eu estou utilizando o Debian e vou instalar pelo apt-get. 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8
? #a p t g e ti n s t a l lf a i l 2 b a n R e a d i n gp a c k a g el i s t s . . .D o n e B u i l d i n gd e p e n d e n c yt r e e R e a d i n gs t a t ei n f o r m a t i o n . . .D o n e S u g g e s t e dp a c k a g e s : p y t h o n g a m i n T h ef o l l o w i n gN E Wp a c k a g e sw i l lb ei n s t a l l e d : f a i l 2 b a n 0u p g r a d e d ,1n e w l yi n s t a l l e d ,0t or e m o v ea n d1 0 0n o tu p g r a d e d . N e e dt og e t8 6 . 2 k Bo fa r c h i v e s . A f t e rt h i so p e r a t i o n ,6 3 1 k Bo fa d d i t i o n a ld i s ks p a c ew i l lb eu s e d . G e t : 1h t t p : / / f t p . b r . d e b i a n . o r gs t a b l e / m a i nf a i l 2 b a n0 . 8 . 3 2 s i d 1[ 8 6 . 2 k B ] F e t c h e d8 6 . 2 k Bi n0 s( 4 1 9 k B / s ) S e l e c t i n gp r e v i o u s l yd e s e l e c t e dp a c k a g ef a i l 2 b a n . ( R e a d i n gd a t a b a s e. . .3 8 5 4 7f i l e sa n dd i r e c t o r i e sc u r r e n t l yi n s t a l l e d . ) U n p a c k i n gf a i l 2 b a n( f r o m. . . / f a i l 2 b a n _ 0 . 8 . 3 2 s i d 1 _ a l l . d e b ). . . P r o c e s s i n gt r i g g e r sf o rm a n d b. . . S e t t i n gu pf a i l 2 b a n( 0 . 8 . 3 2 s i d 1 ). . .
3 4 5 6 7 8 9
f i l t e r =u l t r a s u r f p o r t =a l l b a n a c t i o n=i p t a b l e s u l t r a s u r f l o g p a t h =/ v a r / l o g / m e s s a g e s m a x r e t r y =6 #T e m p oe ms e g u n d o sq u eoI Pf i c ab l o q u e a d o ,a q u i1 5m i n u t o s b a n t i m e =9 0 0
Vamos criar o arquivo com a expresso regular que ir filtar o log do iptables. 1 v i/ e t c / f a i l 2 b a n / f i l t e r . d / u l t r a s u r f . l o c a l
?
Aqui vamos adicionar uma expresso regular simples ao arquivo ultrasurf.local. 1 2 3 [ D e f i n i t i o n ] f a i l r e g e x=( . * ) = U l t r a S u r f = ( . * )S R C = < H O S T > i g n o r e r e g e x=
?
Apesar de simples, funciona Agora o arquivo que ir executar o iptables e criar as regras necessrias para o bloqueio e desbloqueio. 1 v i/ e t c / f a i l 2 b a n / a c t i o n . d / i p t a b l e s u l t r a s u r f . l o c a l
?
Aqui onde a magica acontece, adicione o contedo abaixo ao arquivo iptablesultrasurf.local. 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 [ D e f i n i t i o n ] a c t i o n s t a r t=i p t a b l e sNf a i l 2 b a n < n a m e > i p t a b l e sAf a i l 2 b a n < n a m e >jR E T U R N i p t a b l e sII N P U Tjf a i l 2 b a n < n a m e > i p t a b l e sIF O R W A R Djf a i l 2 b a n < n a m e > a c t i o n s t o p=i p t a b l e sDF O R W A R Djf a i l 2 b a n < n a m e > i p t a b l e sDI N P U Tjf a i l 2 b a n < n a m e > i p t a b l e sFf a i l 2 b a n < n a m e > i p t a b l e sXf a i l 2 b a n < n a m e > a c t i o n c h e c k=i p t a b l e snLF O R W A R D|g r e pqf a i l 2 b a n < n a m e > i p t a b l e snLI N P U T|g r e pqf a i l 2 b a n < n a m e > a c t i o n b a n=i p t a b l e sIf a i l 2 b a n < n a m e >1s< i p >jR E J E C T a c t i o n u n b a n=i p t a b l e sDf a i l 2 b a n < n a m e >s< i p >jR E J E C T [ I n i t ] n a m e=u l t r a s u r f
?
Pronto, agora s olhar o log do fail2ban e esperar pelo primeiro bloqueio. 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 #t a i lff a i l 2 b a n . l o g 2 0 1 2 0 1 1 31 9 : 1 1 : 3 6 , 8 9 0f a i l 2 b a n . s e r v e r:I N F O 2 0 1 2 0 1 1 31 9 : 1 1 : 3 6 , 8 9 1f a i l 2 b a n . j a i l :I N F O 2 0 1 2 0 1 1 31 9 : 1 1 : 3 6 , 8 9 1f a i l 2 b a n . j a i l :I N F O 2 0 1 2 0 1 1 31 9 : 1 1 : 3 6 , 9 0 1f a i l 2 b a n . f i l t e r:I N F O 2 0 1 2 0 1 1 31 9 : 1 1 : 3 6 , 9 0 2f a i l 2 b a n . f i l t e r:I N F O 2 0 1 2 0 1 1 31 9 : 1 1 : 3 6 , 9 0 3f a i l 2 b a n . f i l t e r:I N F O 2 0 1 2 0 1 1 31 9 : 1 1 : 3 6 , 9 0 3f a i l 2 b a n . a c t i o n s :I N F O 2 0 1 2 0 1 1 31 9 : 1 1 : 3 6 , 9 1 2f a i l 2 b a n . j a i l :I N F O 2 0 1 2 0 1 1 31 9 : 1 1 : 3 6 , 9 1 2f a i l 2 b a n . j a i l :I N F O 2 0 1 2 0 1 1 31 9 : 1 1 : 3 6 , 9 1 3f a i l 2 b a n . f i l t e r:I N F O 2 0 1 2 0 1 1 31 9 : 1 1 : 3 6 , 9 1 4f a i l 2 b a n . f i l t e r:I N F O
?
C h a n g e dl o g g i n gt a r g e tt o/ v a r / l o g C r e a t i n gn e wj a i l' u l t r a s u r f ' J a i l' u l t r a s u r f 'u s e sp o l l e r A d d e dl o g f i l e=/ v a r / l o g / m e s s a g e s S e tm a x R e t r y=6 S e tf i n d t i m e=6 0 0 S e tb a n T i m e=9 0 0 C r e a t i n gn e wj a i l' s s h ' J a i l' s s h 'u s e sp o l l e r A d d e dl o g f i l e=/ v a r / l o g / a u t h . l o g S e tm a x R e t r y=6
1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3
Ateno ao . no final da mensagem, ele finaliza o email. O Debian por padro utiliza o Exim, o log fica localizado em /var/log/exim4/mainlog. Voc tambm pode usar o comando mailq para verificar a fila de email, em situaes normais no deve existir nenhum email na fila. Diversos detalhes podem impedir o envio de email, aqui no vou detalhar muito ,vou apenas colocar o contedo do meu arquivo /etc/exim4/updateexim4.conf.conf para usar como referncia. 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 d c _ e x i m c o n f i g _ c o n f i g t y p e = ' s m a r t h o s t ' d c _ o t h e r _ h o s t n a m e s = ' S E R V E R . D O M I N I O . c o m . b r ' d c _ l o c a l _ i n t e r f a c e s = ' 1 2 7 . 0 . 0 . 1 ' d c _ r e a d h o s t = ' ' d c _ r e l a y _ d o m a i n s = ' ' d c _ m i n i m a l d n s = ' f a l s e ' d c _ r e l a y _ n e t s = ' 1 2 7 . 0 . 0 . 1 ' d c _ s m a r t h o s t = ' s m t p . D O M I N I O . c o m . b r ' C F I L E M O D E = ' 6 4 4 ' d c _ u s e _ s p l i t _ c o n f i g = ' f a l s e ' d c _ h i d e _ m a i l n a m e = ' f a l s e ' d c _ m a i l n a m e _ i n _ o h = ' t r u e ' d c _ l o c a l d e l i v e r y = ' m a i l _ s p o o l '
?
Estou usando ele como smarthost e encaminhando as mensagens para o meu servidor de smtp. Depois de ajustar o arquivo voc deve executar o comando update-exim4.conf para atualizar a configurao, e reiniciar o Daemon do exim com o comando /etc/init.d/exim4 restart Pronto, se o envio de email pelo programa mail estiver funcionando voc j pode ativar o envio de email pelo fail2ban, vamos l. Edite o arquivo /etc/fail2ban/jail.local 1 1 2 3 4 # v i/ e t c / f a i l 2 b a n / j a i l . l o c a l [ u l t r a s u r f ] e n a b l e d =t r u e f i l t e r =u l t r a s u r f p o r t =a l l
? ?
5 6 7 8 9
b a n a c t i o n=i p t a b l e s u l t r a s u r f s e n d m a i l u l t r a s u r f l o g p a t h =/ v a r / l o g / m e s s a g e s m a x r e t r y =6 b a n t i m e =9 0 0
Adicione a action sendmail-ultrasurf conforme exemplo acima. Agora vamos criar um novo arquivo chamado /etc/fail2ban/action.d/sendmailultrasurf.local 1 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 v i/ e t c / f a i l 2 b a n / a c t i o n . d / s e n d m a i l u l t r a s u r f . l o c a l
?
? [ D e f i n i t i o n ] a c t i o n s t a r t= a c t i o n s t o p= a c t i o n c h e c k= a c t i o n b a n=p r i n t f% % b" S u b j e c t :B l o q u e a d o< i p > F r o m :S u p o r t e< < s e n d e r > > T o :< d e s t > \ n \ n Od i s p o s i t i v oc o mI P< i p >f o ib l o q u e a d od e p o i sd et e n t a rb u r l a r < f a i l u r e s >v e z e son o s s os i s t e m ad es e g u r a n c a . \ n A c e s s os e r al i b e r a d oa u t o m a t i c a m e n t e , \ n S u p o r t e "|/ u s r / s b i n / s e n d m a i lf< s e n d e r >< d e s t >
a c t i o n u n b a n=p r i n t f% % b" S u b j e c t :L i b e r a d o< i p > F r o m :I n f r a< < s e n d e r > > T o :< d e s t > \ n \ n Od i s p o s i t i v oc o mI P< i p >f o il i b e r a d op a r aa c e s s on o r m a l \ n N o v a st e n t a t i v a ss e r a ob l o q u e a d a sa u t o m a t i c a m e n t e , \ n S u p o r t e "|/ u s r / s b i n / s e n d m a i lf< s e n d e r >< d e s t > [ I n i t ] n a m e=d e f a u l t d e s t=r o o t s e n d e r=f a i l 2 b a n
Feito isso voc ir receber um email quando uma maquina for bloqueada ou desbloqueada, veja exemplo Bloqueio 1 2 3 4 5 6
? Od i s p o s i t i v oc o mI P1 0 . 2 3 . 1 3 4 . 4 1f o ib l o q u e a d od e p o i sd e t e n t a rb u r l a r 1 4v e z e son o s s os i s t e m ad es e g u r a n c a .
A c e s s os e r al i b e r a d oa u t o m a t i c a m e n t e , S u p o r t e
Desbloqueio 1 2 3 4 5
? n Od i s p o s i t i v oc o mI P1 0 . 2 3 . 1 3 4 . 4 1f o il i b e r a d op a r aa c e s s o o r m a l
N o v a st e n t a t i v a ss e r a ob l o q u e a d a sa u t o m a t i c a m e n t e , S u p o r t e
CentOS
O nosso amigo Jovander deu uma grande dica para funcionar em CentOS. Trocando a linha
banaction = iptables-ultrasurf por action = iptables-ultrasurf Ai sim o servio funcionou e leu os logs.
Ubuntu
Nosso amigo Angelo Figueiredo deu uma dica pra quem utiliza o Ubuntu 12.04 LTS. A configurao pode estar toda certinha e no estar bloqueando a soluo : verificar o arquivo /etc/fail2ban/jail.conf se estiver backend = auto mude para backed = polling que ir comear a bloquear.
Agradecimento
Um forte abrao ao meu amigo Yros Aguiar , quando falei que eu ia criar um Daemon para ler o log, ele me lembrou que eu no precisaria re-inventar a roda, bastava usar alguma ferramenta j existente, rs. Valeu, economizou horas de trabalho.
Concluso
Fica ai a dica, pra mim funcionou. Testei apenas com a verso 11.03, se em alguma outra no der certo peo que me avisem para podermos analisar como bloquear. Com essa soluo a cada tentativa de acesso utilizando o UltraSurf o usurio ser bloqueado e no ir acessar mais nada pelo tempo determinado, com isso ele tem duas opes, ou entrar em contato com o suporte da empresa para reclamar ou parar de usar o UltraSurf. Se ele reclamar voc orienta a no usar mais o software, porm normalmente ele para de usar de forma natural o UltraSurf.
Download
Configurao SEM suporte a envio de email conf-fail2ban-ultrasurf.tar.gz (http://www.dotsharp.com.br/download/conf-fail2ban-ultrasurf.tar.gz) Configurao COM suporte a envio de email conf-fail2ban-ultrasurf-email.tar.gz (http://www.dotsharp.com.br/download/conf-fail2ban-ultrasurf-email.tar.gz)
Referncias
fail2ban (http://www.fail2ban.org) iptables (http://www.netfilter.org/projects/iptables/index.html) Bloquear Ultrasurf usando uma GPO (http://tekniblog.wordpress.com/activedirectory/gpos/bloquear-ultrasurf-usando-uma-gpo/)
Like 17 people like this. Sign Up to see w hat your friends like. Send
COMO COMO BACKUP INSTALAR MONTAR O UM COMANDO SERVIDOR KILLALL NTP Como Como Backup
Instalar o Comando killall no Debian Montar um Servidor NTP
REPOSITRIO TALKWORK INTRODUO PARA (CHAT A DEBIAN 5 SERVER) LINGUAGEM LENNY JAVA
Repositrio para Debian 5 Lenny TalkWork (Chat Server) Introduo a Linguagem Java
37 Respostas
Yros
14/01/2012 at 7:31 pm
Muito bom o artigo, no tinha encontrado antes uma ferramenta eficiente para bloqueio do ultrasurf, ficou mais fcil, muito til. (Citar) (javascript:void(null))
leonardo
16/01/2012 at 2:51 pm
Outra forma identificar o trfego com o Snort e integrar com iptables ou outro.. (Citar) (javascript:void(null))
David Thimotti
23/01/2012 at 5:28 pm
Rodrigo, muito bom o seu artigo, porm estou com um pouco de dificuldade para implementar. Estou tentando em uma maquina CENTOS. Fiz exatamente da forma indicada e o servio Fail2Ban no inicia, ento tentei com o cdigo abaixo:
[ultrasurf] enabled = true filter = ultrasurf banaction = iptables-ultrasurf[port="all", protocol=tcp] sendmail-ultrasurf[name=ultrasurf, dest=cpd@telealpha.com.br] logpath = /var/log/messages maxretry = 6 bantime = 900 Porm no obtive sucesso. Poderia me d uma dica de como proceder ??? Toda ajuda valida. No mais, muito obrigado. David Thimotti (Citar) (javascript:void(null))
Eduardo
25/01/2012 at 11:52 am
Parabns pelo Tutorial !!!!! Implementei no Firewall de um cliente e funcionou, ta bloqueando o UltraSurf. S que no log, apareceram algumas mensagens de erro, que me parece ser de sintaxe ou que est faltando alguma coisa. Poderia me ajudar ? Aqui tenho todo o script do Firewall em um arquivo chamado iptables, salvo no /root e um squid rodando na porta 3128 com whitelist. A minha distribuio um Debian 5.0.5 . Segue o erro: 2012-01-25 10:43:13,130 fail2ban.actions.action: ERROR iptables -n -L FORWARD | grep -q fail2ban-ultrasurf iptables -n -L INPUT | grep -q fail2ban-ultrasurf returned 100 2012-01-25 10:43:13,130 fail2ban.actions.action: ERROR Invariant check failed. Trying to restore a sane environment 2012-01-25 10:43:13,135 fail2ban.actions.action: ERROR iptables -D FORWARD -j fail2ban-ultrasurf iptables -D INPUT -j fail2ban-ultrasurf iptables -F fail2ban-ultrasurf iptables -X fail2ban-ultrasurf returned 100 2012-01-25 10:43:13,147 fail2ban.actions.action: ERROR iptables -D fail2ban-ultrasurf -s 10.0.1.28 -j REJECT returned 100 Obrigado. (Citar) (javascript:void(null))
Sabino
04/02/2012 at 11:29 am
Muito bom o artigo, pra mim funcionou 100%, implementei em varios lugares que administro, com 100% de eficacia. Parabens ao author. Sabino. (Citar) (javascript:void(null))
Eduardo (#comment-330) : Parabns pelo Tutorial !!!!! Implementei no Firewall de um cliente e funcionou, ta bloqueando o UltraSurf. S que no log, apareceram algumas mensagens de erro, que me parece ser de sintaxe ou que est faltando alguma coisa. Poderia me ajudar ? Aqui tenho todo o script do Firewall em um arquivo chamado iptables, salvo no /root e um squid rodando na porta 3128 com whitelist. A minha distribuio um Debian 5.0.5 . Segue o erro: 2012-01-25 10:43:13,130 fail2ban.actions.action: ERROR iptables -n -L FORWARD | grep -q fail2ban-ultrasurf iptables -n -L INPUT | grep -q fail2ban-ultrasurf returned 100 2012-01-25 10:43:13,130 fail2ban.actions.action: ERROR Invariant check failed. Trying to restore a sane environment 2012-01-25 10:43:13,135 fail2ban.actions.action: ERROR iptables -D FORWARD -j fail2banultrasurf iptables -D INPUT -j fail2ban-ultrasurf iptables -F fail2ban-ultrasurf iptables -X fail2ban-ultrasurf returned 100 2012-01-25 10:43:13,147 fail2ban.actions.action: ERROR iptables -D fail2ban-ultrasurf -s 10.0.1.28 -j REJECT returned 100 Obrigado. Caro Eduardo, vamos l, acho que essa fcil de resolver, rs Quando o fail2ban iniciado ele criar uma CHAIN no iptables usando o comando abaixo iptables -N fail2ban-ultrasurf Dentro dessa Chain ele coloca as regras para bloqueio, quando voc roda o seu script de firewall ele certamente remove todas as chains personalizadas, sendo assim ele remove a chain fail2banultrasurf. Para resolver isso basta voc adicionar a linha abaixo no comeo do seu script de firewall /etc/init.d/fail2ban stop E a seguinte linha no final do script de firewall /etc/init.d/fail2ban start Espero que resolva. abs, Rodrigo (Citar) (javascript:void(null))
Jovander
09/03/2012 at 5:01 pm
David Thimotti (#comment-329) : Rodrigo, muito bom o seu artigo, porm estou com um pouco de dificuldade para implementar. Estou tentando em uma maquina CENTOS. Fiz exatamente da forma indicada e o servio Fail2Ban no inicia, ento tentei com o cdigo abaixo: [ultrasurf] enabled = true filter = ultrasurf banaction = iptables-ultrasurf[port="all", protocol=tcp] sendmail-ultrasurf[name=ultrasurf, dest=cpd@telealpha.com.br] logpath = /var/log/messages maxretry = 6 bantime = 900 Porm no obtive sucesso. Poderia me d uma dica de como proceder ??? Toda ajuda valida. No mais, muito obrigado. David Thimotti Estou com o mesmo erro!!! Conseguiu subir o servio (Citar) (javascript:void(null))
Walter
11/04/2012 at 9:56 am
Muito obrigado, meu amigo, por essa sua importante contribuio! Estava h muito tempo procurando uma soluo e a sua , at o momento, a mais eficiente. Um abrao! (Citar) (javascript:void(null))
Jovander
15/05/2012 at 3:24 pm
Ol consegui resolver no CentOS da seguinte forma: trocando a linha banaction = iptables-ultrasurf por action = iptables-ultrasurf Ai sim o servio funcionou e leu os logs. At. Jovander (Citar) (javascript:void(null))
Max Weber
25/05/2012 at 10:24 am
Galera, testei essa dica a e funcionou. Mas tive que fazer umas alteraes, do mesmo modo que o colega Jovander, outra dvida. Quando executo o comando tail -f fail2ban.log diz que o arquivo no existe, resolvi ento colocar /var/log/fail2ban.log mas tambm no deu certo, criei o arquivo na mo, mas ele sempre fica em branco, ou seja, eu no consigo ver apenas o log do fail2ban, para que eu possa visualizar os logs tenho que executar o j conhecido tail -f /var/log/messages mas ele me mostra todos os logs claro. Alguma dica?
(Citar) (javascript:void(null))
Daniel TI
27/06/2012 at 4:17 pm
Simplesmente sensacional. Muito obrigado e parabns pelo excelente trabalho. Um abrao, (Citar) (javascript:void(null))
Jefferson
10/07/2012 at 2:53 pm
No fedora 14 Ainda no conseguir fazer funcionar mas o log conseguir resolver echo logtarget = /var/log/fail2ban.log >> /etc/fail2ban/fail2ban.conf (Citar) (javascript:void(null))
Bruno Bassani
11/07/2012 at 1:58 pm
marlon
25/07/2012 at 5:51 pm
nessa linha iptables -A FORWARD -d 65.49.14.0/24 -j LOG log-prefix =UltraSurf= tem o espao na expressao entre aspas ou assim =UltraSurf= ? (Citar) (javascript:void(null))
marlon
25/07/2012 at 6:19 pm
marlon (#comment-620): nessa linha iptables -A FORWARD -d 65.49.14.0/24 -j LOG log-prefix =UltraSurf= tem o espao na expressao entre aspas ou assim=UltraSurf=? Caro Marlon, tudo bem? Sim, tem um espao, se no colocar o espao na hora de gerar o log ele vai ficar grudado. abs, Rodrigo (Citar) (javascript:void(null))
marlon (#comment-622): como fao para liberar 1 ip para usar o ultrasurf??? Marlon, basta adicionar a regra de liberao antes da regra iptables -A FORWARD -d 65.49.14.0/24 -j LOG log-prefix =UltraSurf= abs (Citar) (javascript:void(null))
Angelo Figueiredo
03/08/2012 at 11:41 am
Dica pra quem utiliza o Ubuntu 12.04 LTS A configurao pode estar toda certinha e no estar bloqueando a soluo : verificar o arquivo /etc/fail2ban/jail.conf se estiver backend = auto mude para backed = polling que ir comear a bloquear. abraos (Citar) (javascript:void(null))
Angelo Figueiredo (#comment-691): Dica pra quem utiliza o Ubuntu 12.04 LTS A configurao pode estar toda certinha e no estar bloqueando a soluo : verificar o arquivo /etc/fail2ban/jail.conf se estiver backend = auto mude para backed = polling que ir comear a bloquear. abraos Angelo, muito obrigado pela dica. Abraos (Citar) (javascript:void(null))
Adan
08/08/2012 at 2:10 pm
Max Weber (#comment-501): Quando executo o comando tail -f fail2ban.log diz que o arquivo no existe Mesmo problema. (Citar) (javascript:void(null))
Adan
08/08/2012 at 3:17 pm
Adan (#comment-724): backed = polling Hummm falta o caminho completo do log: tail -f /var/log/fail2ban.log Mas ele no atualizaria sozinho? Ou seja, quando eu dou o comando o sistema mostra o contedo. Sentei numa mquina do lado e abri o UltraSurf para navegar. 5 minutos depois nada mudou na tela do log, nem quando mandei atualizar. (Citar) (javascript:void(null))
etecfami
10/08/2012 at 4:55 pm
Ol Rodrigo, Estou usando sua regra na escola que trabalho, uso Debian 6 e squid configurado no modo transparente. Percebi que bloqueia o ultrasurf na primeira vez que o usurio abre o mesmo, mas se o usurio no fechar o aplicativo e configurar com minhas configuraes de proxy o mesmo consegue usar o ultrasurf. Gostaria de saber se possvel utilizar algum comando que no deixe o squid passar a conexo do ultrasurf ou se pode ser algo errado no meu firewall. Segue conf atual do firewall #!/bin/sh modprobe iptable_nat iptables -F iptables -t nat -F iptables -X echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -p tcp -i eth1 dport 80 -j REDIRECT to 3128 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -d 65.49.14.0/24 -j LOG log-prefix =UltraSurf= Agradecimentos antecipados, No aguardo, Etecfami (Citar) (javascript:void(null))
Anonymous
16/08/2012 at 9:23 pm
Muito boa noite Rodrigo. Primeiramente queria te agradecer muito mesmo pela essa MARAVILHOSA dica. Funcionou que uma maravilha!! Agora uns engraadinhos metidos a bonzo aqui na empresa iro voltar a trabalhar e deixar o facebook de lado. HAHAHAHAHA (risada maligna) Brincadeiras a parte, obrigado mais uma vez, e vou te seguir no facebook e acompanhar teu site sempre ok? Tenha uma tima semana. Abraos. (Citar) (javascript:void(null))
etecfami (#comment-741): Ol Rodrigo, Estou usando sua regra na escola que trabalho, uso Debian 6 e squid configurado no modo transparente. Percebi que bloqueia o ultrasurf na primeira vez que o usurio abre o mesmo, mas se o usurio no fechar o aplicativo e configurar com minhas configuraes de proxy o mesmo consegue usar o ultrasurf. Gostaria de saber se possvel utilizar algum comando que no deixe o squid passar a conexo do ultrasurf ou se pode ser algo errado no meu firewall. Segue conf atual do firewall #!/bin/sh modprobe iptable_nat iptables -F iptables -t nat -F iptables -X echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -p tcp -i eth1 dport 80 -j REDIRECT to 3128 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -d 65.49.14.0/24 -j LOG log-prefix =UltraSurf= Agradecimentos antecipados, No aguardo, Etecfami Boa noite, Pela sua regra voc deve utilizar proxy transparente, para contornar esse problema voc pode editar o arquivo /etc/fail2ban/action.d/iptables-ultrasurf.local Adiciona a seguinte linha iptables -I PREROUTING -t nat -j fail2ban-<name> iptables -D PREROUTING -t nat -j fail2ban-<name> Veja o aquivo completo
[Definition] actionstart = iptables -N fail2ban-<name> iptables -A fail2ban-<name> -j RETURN iptables -I INPUT -j fail2ban-<name> iptables -I FORWARD -j fail2ban-<name> iptables -I PREROUTING -t nat -j fail2ban-<name> actionstop = iptables -D FORWARD -j fail2ban-<name> iptables -D INPUT -j fail2ban-<name> iptables -D PREROUTING -t nat -j fail2ban-<name> iptables -F fail2ban-<name> iptables -X fail2ban-<name> actioncheck = iptables -n -L FORWARD | grep -q fail2ban-<name> iptables -n -L INPUT | grep -q fail2ban-<name> actionban = iptables -I fail2ban-<name> 1 -s <ip> -j REJECT actionunban = iptables -D fail2ban-<name> -s <ip> -j REJECT [Init] name = ultrasurf Dessa forma voc vai impedir que ele conecte na porta do proxy. Caso voc utilize estaes Windows e tenha um AD na rede eu recomendo que voc crie uma GPO para bloquer a alterao de proxy. Se der certo me avisa. abs, Rodrigo (Citar) (javascript:void(null))
Jefferson (#comment-557): Jefferson Opa Jeferson, me passa por email os arquivos de log as configuraes e o resultado do iptables -L nv abs (Citar) (javascript:void(null))
Essas regras s pode ser usado no linux, vc tem algum procedimento para Ruwindows?? (Citar) (javascript:void(null))
Elivelto
01/10/2012 at 5:27 pm
Utilize o Ubuntu 12.04 mas o servio fail2ban no iniciar /etc/init.d/fail2ban restart erro: Restarting authentication failure monitor fail2ban
Neto
04/10/2012 at 4:08 pm
Ol Rodrigo! Primeiramente gostaria de te elogiar pela dedicao em ajudar o prximo. Por gentileza voc poderia me ajudar ? No estou conseguindo bloquear o ultrasurf, o pessoal est utilizando a verso 12.04. J segui todos os procecimentos anteriores sem sucesso, utilizo proxy transparente, j configurei a GPO no AD para no permitir que o usurio alterar as configuraes do Proxy. Segue o log do Fail2Ban, utilizo o Ubuntu 10.04. root@srv-internet:~# tail -f /var/log/fail2ban.log 2012-10-04 15:47:20,240 fail2ban.jail : INFO Jail ultrasurf uses poller 2012-10-04 15:47:20,241 fail2ban.filter : INFO Set maxRetry = 6 2012-10-04 15:47:20,243 fail2ban.filter : INFO Set findtime = 600 2012-10-04 15:47:20,245 fail2ban.actions: INFO Set banTime = 900 2012-10-04 15:47:20,265 fail2ban.jail : INFO Jail ssh started 2012-10-04 15:47:20,283 fail2ban.jail : INFO Jail ultrasurf started 2012-10-04 15:53:13,982 fail2ban.server : INFO Stopping all jails 2012-10-04 15:53:14,973 fail2ban.jail : INFO Jail ssh stopped 2012-10-04 15:53:15,735 fail2ban.jail : INFO Jail ultrasurf stopped 2012-10-04 15:53:15,744 fail2ban.server : INFO Exiting Fail2ban Segue meu firewall EXTERNAL=eth0 INTERNAL=eth1 # parando o failban /etc/init.d/fail2ban stop [...] # log do ultrasurf iptables -A FORWARD -d 65.49.14.0/24 -j LOG log-prefix =UltraSurf= [...] # BLOQUEIO ULTRASURF [...] iptables -I FORWARD -p tcp -d 65.49.14.0/24 -j DROP [...] # inicializa o failban /etc/init.d/fail2ban start Segue os resultados do comando iptables -L -nv root@srv-internet:~# iptables -L -nv Chain INPUT (policy DROP 1842 packets, 593K bytes) pkts bytes target prot opt in out source destination 14813 1550K ACCEPT all eth1 * 0.0.0.0/0 0.0.0.0/0 [...] 14 672 DROP tcp * * 0.0.0.0/0 65.49.14.0/24 [...] 40 4586 LOG all * * 0.0.0.0/0 65.49.14.0/24 LOG flags 0 level 4 prefix =UltraSurf= [...]
Chain OUTPUT (policy ACCEPT 34376 packets, 39M bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT tcp * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:110 [...] (Citar) (javascript:void(null))
Cristiano Galdino
09/10/2012 at 8:19 pm
Carlos Henrique da Silva (#comment-959): Essas regras s pode ser usado no linux, vc tem algum procedimento para Ruwindows?? Carlos, boa noite. Para Windows eu no conheo. abs, Rodrigo (Citar) (javascript:void(null))
Elivelto (#comment-975): Utilize o Ubuntu 12.04 mas o servio fail2ban no iniciar /etc/init.d/fail2ban restart erro: Restarting authentication failure monitor fail2ban Alguem pode me ajudar. Elivelto, boa noite. Tenta usar a dica do Angelo. verificar o arquivo /etc/fail2ban/jail.conf se estiver backend = auto mude para backed = polling que ir comear a bloquear. (Citar) (javascript:void(null))
Neto (#comment-993): Ol Rodrigo! Primeiramente gostaria de te elogiar pela dedicao em ajudar o prximo. Por gentileza voc poderia me ajudar ?
No estou conseguindo bloquear o ultrasurf, o pessoal est utilizando a verso 12.04. J segui todos os procecimentos anteriores sem sucesso, utilizo proxy transparente, j configurei a GPO no AD para no permitir que o usurio alterar as configuraes do Proxy. Segue o log do Fail2Ban, utilizo o Ubuntu 10.04. root@srv-internet:~# tail -f /var/log/fail2ban.log 2012-10-04 15:47:20,240 fail2ban.jail : INFO Jail ultrasurf uses poller 2012-10-04 15:47:20,241 fail2ban.filter : INFO Set maxRetry = 6 2012-10-04 15:47:20,243 fail2ban.filter : INFO Set findtime = 600 2012-10-04 15:47:20,245 fail2ban.actions: INFO Set banTime = 900 2012-10-04 15:47:20,265 fail2ban.jail : INFO Jail ssh started 2012-10-04 15:47:20,283 fail2ban.jail : INFO Jail ultrasurf started 2012-10-04 15:53:13,982 fail2ban.server : INFO Stopping all jails 2012-10-04 15:53:14,973 fail2ban.jail : INFO Jail ssh stopped 2012-10-04 15:53:15,735 fail2ban.jail : INFO Jail ultrasurf stopped 2012-10-04 15:53:15,744 fail2ban.server : INFO Exiting Fail2ban Segue meu firewall EXTERNAL=eth0 INTERNAL=eth1 # parando o failban /etc/init.d/fail2ban stop [...] # log do ultrasurf iptables -A FORWARD -d 65.49.14.0/24 -j LOG log-prefix =UltraSurf= [...] # BLOQUEIO ULTRASURF [...] iptables -I FORWARD -p tcp -d 65.49.14.0/24 -j DROP [...] # inicializa o failban /etc/init.d/fail2ban start Segue os resultados do comando iptables -L -nv root@srv-internet:~# iptables -L -nv Chain INPUT (policy DROP 1842 packets, 593K bytes)pkts bytes target prot opt in out source destination 14813 1550K ACCEPT alleth1 * 0.0.0.0/00.0.0.0/0 [...] 14 672 DROP tcp** 0.0.0.0/065.49.14.0/24 [...] 404586 LOGall** 0.0.0.0/065.49.14.0/24LOG flags 0 level 4 prefix =UltraSurf= [...] Chain OUTPUT (policy ACCEPT 34376 packets, 39M bytes)pkts bytes target prot opt in out source destination 0 0 ACCEPT tcp** 0.0.0.0/00.0.0.0/0tcp dpt:110 [...]
Opa Neto, tudo bem? No sei se j conseguiu resolver, o que tenho de dica o seguinte. 14 672 DROP tcp * * 0.0.0.0/0 65.49.14.0/24 < <<<<<<<<<<<<<<<<<-------0 0 DROP tcp -- * * 65.49.2.0/24 0.0.0.0/0 0 0 DROP tcp -- * * 0.0.0.0/0 65.49.2.0/24 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:9666 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3162 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3103 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:23620 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:19769 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:33190 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:55433 0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:19769 0 0 ACCEPT all -- * * 0.0.0.0/0 200.201.174.204 40 4586 LOG all -- * * 0.0.0.0/0 65.49.14.0/24 LOG flags 0 level 4 prefix "=UltraSurf= " <<<<<<<<<<<<<<------------Voc tem duas regras para a rede 65.49.14.0/24, nesse caso o pacote cai na primeira regra e no cria o log do ultrasurf que est na regra mais abaixo. Tira do seu script as regras de bloqueio do ultrasurf que voc usava antes. # BLOQUEIO ULTRASURF iptables -I FORWARD -p tcp --dport 19769 -j DROP iptables -I FORWARD -p tcp --dport 55433 -j DROP iptables -I FORWARD -p tcp --dport 33190 -j DROP Elas acabam entrando na frente da regra do fail2ban. Espero que resolva. Vou editar o seu post para no aparecer as suas regras no site. abs, Rodrigo (Citar) (javascript:void(null))
Rafael Caobianco 30/10/2012 at 10:59 am Que legal, primeiro site que encontro esse tutorial, parece ser muito eficiente!!! Utilizo o CentOS com o tuxfrw e squid, existe a possibilidade de realizar o bloqueio do UltraSurf a partir deles? Muito obrigado e sucesso!! Abs (Citar) (javascript:void(null))
Dias 04/11/2012 at 2:51 pm Muito obrigado. Funcionou sem problemas c/ debian 6.0. uma questo de tica profissional. (Citar) (javascript:void(null))
Muito bom o artigo. Obrigado, funcionou certinho aqui! Uma dica que eu dou pra quem usa firewall/nat com duas placas de rede, informar a interface usada e dar um drop depois. Exemplo: IPTABLES=/sbin/iptables # caminho para o iptables LOCAL_INTERFACE_1=eth1 # Interface para intranet/rede local $IPTABLES -A FORWARD -i $LOCAL_INTERFACE_1 -d 65.49.14.0/24 -j LOG log-prefix UltraSurf $IPTABLES -A FORWARD -i $LOCAL_INTERFACE_1 -d 65.49.14.0/24 -j DROP (Citar) (javascript:void(null))
Carlos 08/05/2013 at 1:45 pm Cara, meus parabns pelo artigo. (Citar) (javascript:void(null))
Email *
Site
Comentrio
Voc pode usar estas tags e atributos de HTML (HyperText Markup Language): <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Publicar comentrio
Home Linux Como Fazer para Bloquear o UltraSurf, Soluo Definitiva [iptables + fail2ban]
Busca
Search