Re: [FUG-BR] Ajuda para liberacao de acesso externo no PF
bão.. eu o trouxe mesmo. Como disse, algo muito simpes mesmo, foi todo construido baseado no exemplo - aliás, um pf.conf funcional - que está em /etc/pf.conf e várias coisas pescadas do manual lá em benzedrine.cx: :=== begin # variaveis EXT_nic = rl0 INT_nic = rl1 ftp_proxy = 49151 LAN = 192.168.1.0/24 Net_Admin = 192.168.1.30 # maquina do administrador table autorizados persist file /etc/autorizados table firewall const { self } servicos = { http, https, smtp, pop3, nntp, ssh } # Options: tune the behavior of pf, default values are given. set timeout { interval 10, frag 30 } set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 } set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 90 } set timeout { udp.first 60, udp.single 30, udp.multiple 60 } set timeout { icmp.first 20, icmp.error 10 } set timeout { other.first 60, other.single 30, other.multiple 60 } set timeout { adaptive.start 0, adaptive.end 0 } set limit { states 1, frags 5000 } set loginterface $EXT_nic set optimization normal # para uma rede de muito trafego, definir como aggressive. set block-policy return set require-order yes set fingerprints /etc/pf.os # normalizacao scrub on $EXT_nic reassemble tcp no-df random-id # queueing -- aqui devem ser definidos os controles de banda # nat e redirecionamentos no rdr on { lo0, lo1 } from any to any nat on $EXT_nic from autorizados to any - $EXT_nic # redirecionar as solicitacoes de ftp para o ftp-proxy rdr on $INT_nic proto tcp from autorizados to any port 21 - localhost port 8081 # filtragem block return log all #bloqueia tudo pass quick on lo0 all pass out on $EXT_nic inet proto tcp all flags S/SA modulate state pass out on $EXT_nic inet proto { udp, icmp } all keep state # incoming active ftp-data (this is required for active ftp to work pass in log quick on $EXT_nic inet proto tcp from any port 20 to ($EXT_nic) port $ftp_proxy modulate state # o administrador pode acessar o firewall por ssh e verifica-lo (ping/traceroute) pass in log quick on $INT_nic inet proto tcp from $Net_Admin to firewall port ssh modulate state pass in log quick on $INT_nic proto { udp, icmp } from $Net_Admin to firewall pass in log quick on $INT_nic proto tcp from autorizados to !firewall port $servicos flags S/SA modulate state pass in log quick on $INT_nic inet proto { udp, icmp } from autorizados to !firewall keep state pass out log quick on $INT_nic inet proto tcp from firewall to $Net_Admin port ssh modulate state :=== end em vários pontos está a palavra mágica log, que vai gravar o tráfego em /var/log/pflog e também (real-time) na interface pflog0. Êsse tráfego pode ser analisado pelo tcpdump, conforme instruções em man pf. Pra facilitar, pode-se habilitar log apenas para o tráfego rejeitado. Êsse é um firewall fecho tudo, abro só o que convém, observem a regra: block return log all #bloqueia tudo se existir APENAS essa regra, simplesmente não haverá tráfego algum de/para essa máquina, mas tudo será logado. experimentem e me contem :) Original Message: - From: [EMAIL PROTECTED] [EMAIL PROTECTED] Date: Thu, 19 Jan 2006 05:15:43 -0500 To: Freebsd@fug.com.br Subject: Re: [FUG-BR] Ajuda para liberacao de acesso externo no PF amanhã eu trago um scriptizinho que estou o trabalhando. saudações, irado FreeBSD BSD50853/Linux User 179402 mail2web - Check your email from the web at http://mail2web.com/ . ___ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
Re: [FUG-BR] Ajuda para liberacao de acesso externo no PF
[EMAIL PROTECTED] wrote: bão.. eu o trouxe mesmo. Como disse, algo muito simpes mesmo, foi todo construido baseado no exemplo - aliás, um pf.conf funcional - que está em /etc/pf.conf e várias coisas pescadas do manual lá em benzedrine.cx: :=== begin # variaveis EXT_nic = rl0 INT_nic = rl1 ftp_proxy = 49151 LAN = 192.168.1.0/24 Net_Admin = 192.168.1.30 # maquina do administrador table autorizados persist file /etc/autorizados table firewall const { self } servicos = { http, https, smtp, pop3, nntp, ssh } # Options: tune the behavior of pf, default values are given. set timeout { interval 10, frag 30 } set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 } set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 90 } set timeout { udp.first 60, udp.single 30, udp.multiple 60 } set timeout { icmp.first 20, icmp.error 10 } set timeout { other.first 60, other.single 30, other.multiple 60 } set timeout { adaptive.start 0, adaptive.end 0 } set limit { states 1, frags 5000 } set loginterface $EXT_nic set optimization normal # para uma rede de muito trafego, definir como aggressive. set block-policy return set require-order yes set fingerprints /etc/pf.os # normalizacao scrub on $EXT_nic reassemble tcp no-df random-id # queueing -- aqui devem ser definidos os controles de banda # nat e redirecionamentos no rdr on { lo0, lo1 } from any to any nat on $EXT_nic from autorizados to any - $EXT_nic # redirecionar as solicitacoes de ftp para o ftp-proxy rdr on $INT_nic proto tcp from autorizados to any port 21 - localhost port 8081 # filtragem block return log all #bloqueia tudo pass quick on lo0 all pass out on $EXT_nic inet proto tcp all flags S/SA modulate state pass out on $EXT_nic inet proto { udp, icmp } all keep state # incoming active ftp-data (this is required for active ftp to work pass in log quick on $EXT_nic inet proto tcp from any port 20 to ($EXT_nic) port $ftp_proxy modulate state # o administrador pode acessar o firewall por ssh e verifica-lo (ping/traceroute) pass in log quick on $INT_nic inet proto tcp from $Net_Admin to firewall port ssh modulate state pass in log quick on $INT_nic proto { udp, icmp } from $Net_Admin to firewall pass in log quick on $INT_nic proto tcp from autorizados to !firewall port $servicos flags S/SA modulate state pass in log quick on $INT_nic inet proto { udp, icmp } from autorizados to !firewall keep state pass out log quick on $INT_nic inet proto tcp from firewall to $Net_Admin port ssh modulate state :=== end em vários pontos está a palavra mágica log, que vai gravar o tráfego em /var/log/pflog e também (real-time) na interface pflog0. Êsse tráfego pode ser analisado pelo tcpdump, conforme instruções em man pf. Pra facilitar, pode-se habilitar log apenas para o tráfego rejeitado. Êsse é um firewall fecho tudo, abro só o que convém, observem a regra: block return log all #bloqueia tudo se existir APENAS essa regra, simplesmente não haverá tráfego algum de/para essa máquina, mas tudo será logado. experimentem e me contem :) Original Message: - From: [EMAIL PROTECTED] [EMAIL PROTECTED] Date: Thu, 19 Jan 2006 05:15:43 -0500 To: Freebsd@fug.com.br Subject: Re: [FUG-BR] Ajuda para liberacao de acesso externo no PF amanhã eu trago um scriptizinho que estou o trabalhando. saudações, irado FreeBSD BSD50853/Linux User 179402 mail2web - Check your email from the web at http://mail2web.com/ . ___ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br set optimization normal # para uma rede de muito trafego, definir como aggressive. Quais as mudanças q podem gerar caso seja setado como aggressive num Gateway onde trafega em média 10mbps constantes ? -- Daniel ___ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
Re: [FUG-BR] Ajuda para liberacao de acesso externo no PF
segundo consta no manual, as tabelas (do status statefull) expirariam em menos tempo Original Message: - From: Daniel Dias Gonçalves [EMAIL PROTECTED] Date: Fri, 20 Jan 2006 12:25:33 -0200 Quais as mudanças q podem gerar caso seja setado como aggressive num Gateway onde trafega em média 10mbps constantes ? Daniel --- saudações, irado furioso com tudo FreeBSD BSD50853/Linux User 179402 Mais atrocidades são cometidas em nome das religiões do que em nome do ateísmo. mail2web - Check your email from the web at http://mail2web.com/ . ___ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
Re: [FUG-BR] Ajuda para liberacao de acesso externo no PF
amanhã eu trago um scriptizinho que estou o trabalhando. Nada muito sério, mas é bem dentro das receitinhas. E, de fato, eu queria mesmo dizer pfctl e não o sysctl - risos.. é o sono. Original Message: - From: Tiago Cruz [EMAIL PROTECTED] Date: Wed, 18 Jan 2006 08:58:07 -0200 To: Freebsd@fug.com.br Subject: Re: [FUG-BR] Ajuda para liberacao de acesso externo no PF Só uns comentáriozinhos sobre o e-mail do Iradasso: Você poderia me dar um exemplo disso? As vezes me perco também, o treco bloqueia e eu não sei onde hehehehe (o pfctl -s info mostra as regras que fazem bloqueio) saudações irado FreeBSD BSD50853/Linux User 179402 mail2web - Check your email from the web at http://mail2web.com/ . ___ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
Re: [FUG-BR] Ajuda para liberacao de acesso externo no PF
Entao Rainer, antes de mais nada obrigado pela dica... Porém retirei o quick mas mesmo assim nao consigo acesso da internet para dentro da rede ( onde esta localizado meu servidor rdp, web e ssh ). Rainer Alves [EMAIL PROTECTED] wrote:Sugestao: retire essas duas regras, ou ainda melhor: retire o quick das duas... dessa forma as outras regras tambem serao avaliadas, e o trafego para a Internet vai funcionar (por causa das 2 ultimas regras do seu PF): pass out on $ext_if proto tcp all modulate state flags S/SA pass out on $ext_if proto { udp, icmp } all keep state matheus lamberti de abreu BSD User ID: 051370 Embora nem tudo seja permitido, tudo é possível. [ Adágio Alquímico ] Do, or do not. There is no 'try'. [ Master Yoda ] Se a vida é regida por uma licença, esta é BSD. [ http://planeta.ubuntubrasil.org ] - Yahoo! Photos Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever. ___ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
Re: [FUG-BR] Ajuda para liberacao de acesso externo no PF
a única coisa que estou vendo - pelo menos de imediato, é que somente são permitidos os acessos, via ext_if, das portas relacionadas em tcp_services. Qualquer outra porta/serviço será rejeitada/o. O que, de certa forma, causa estranheza porque, se vc tem um servidor web - como aparenta, êle não será acessível de fora, uma vez que o serviço é 80 (www) ou 448 (https), as quais NÃO ESTÃO relacionadas. A porta 20 aparece em linha padrão do PF, conforme a cartilha, então deve estar ok, bem como os redirecionamentos para o ftp-proxy (perguntar não ofende: vc ACRESCENTOU o ftp-proxy no inetd?.. e ativou o inetd em /etc/rc.conf?) eu costumo colocar - pra me garantir - uma clausula reject log all on (interface) ANTES de qualquer liberação que se siga, para essa interface. Com isso eu garanto o registro de tudo o que for rejeitado em cada uma das interfaces. seguindo o manual, dá uma olhada no que estiver sendo rejeitado com tcpdump na interface ipflog0 ou o mesmo tcpdump no /var/log/ipflog. No man pf e no man tcpdump vc tem como associa-lo a um arquivo ou a uma interface. No arquivo, vc lê o histórico anterior, na intrface ipftraf0 (acho que é o nome, veja com o ipconfig) vc tem o trânsito on time. veja também sysctl -s info pra ver o que é que anda acontecendo (pacotes rejeitados, passantes, etc..). Nat também (sysctl -s nat) ou regras (sysctl -s r ). tudo serve para análise do pf. Dá trabalho, mas é bom, a gente aprende :) divirta-se. Original Message: - From: matheus lamberti [EMAIL PROTECTED] Subject: [FUG-BR] Ajuda para liberacao de acesso externo no PF Mas qdo tento acessar de outro lugar (fora da empresa) nao consigo acesso. ## definicao das interfaces de rede i nt_if = rl0 ext_if = vr0 ## definicao dos servicos utilizados tcp_services = { 22, 3389, 5000 } icmp_types = echoreq ## permite que os servicos tcp funcionem pass in on $ext_if inet proto tcp from any to ($ext_if) port $tcp_services flags S/SA keep state ## permite que a internet consiga acessar os servidores pass in on $ext_if proto tcp from any to $srv_rdp port 3389 flags S/SA synproxy state pass in on $ext_if proto tcp from any to $srv_web port 22 flags S/SA synproxy state pass in on $ext_if proto tcp from any to $srv_web port 5000 flags S/SA synproxy state ## necessario para o funcionamento do ftp-proxy pass in on $ext_if inet proto tcp from port 20 to ($ext_if) user proxy flags S/SA keep state ## permite apenas os tipos icmp especificados pass in inet proto icmp all icmp-type $icmp_types keep state ## permite total comunicacao na rede interna pass in on $int_if from $rede to any keep state pass out on $int_if from any to $rede keep state mail2web - Check your email from the web at http://mail2web.com/ . ___ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
Re: [FUG-BR] Ajuda para liberacao de acesso externo no PF
meu servidor web roda na porta 5000 ( preciso liberar a porta 80 tambem? ) como perguntar nao ofende, responder tambem nao, coloquei sim, o ftp na rede interna funciona corretamente. ainda nao estou conseguindo fazer com que de outros lugares eu acesse via SSH e consiga ver o sarg pela web [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: a �nica coisa que estou vendo - pelo menos de imediato, � que somente s�o permitidos os acessos, via ext_if, das portas relacionadas em tcp_services. Qualquer outra porta/servi�o ser� rejeitada/o. O que, de certa forma, causa estranheza porque, se vc tem um servidor web - como aparenta, �le n�o ser� acess�vel de fora, uma vez que o servi�o � 80 (www) ou 448 (https), as quais N�O EST�O relacionadas. A porta 20 aparece em linha padr�o do PF, conforme a cartilha, ent�o deve estar ok, bem como os redirecionamentos para o ftp-proxy (perguntar n�o ofende: vc ACRESCENTOU o ftp-proxy no inetd?.. e ativou o inetd em /etc/rc.conf?) eu costumo colocar - pra me garantir - uma clausula reject log all on (interface) ANTES de qualquer libera��o que se siga, para essa interface. Com isso eu garanto o registro de tudo o que for rejeitado em cada uma das interfaces. seguindo o manual, d� uma olhada no que estiver sendo rejeitado com tcpdump na interface ipflog0 ou o mesmo tcpdump no /var/log/ipflog. No man pf e no man tcpdump vc tem como associa-lo a um arquivo ou a uma interface. No arquivo, vc l� o hist�rico anterior, na intrface ipftraf0 (acho que � o nome, veja com o ipconfig) vc tem o tr�nsito on time. veja tamb�m sysctl -s info pra ver o que � que anda acontecendo (pacotes rejeitados, passantes, etc..). Nat tamb�m (sysctl -s nat) ou regras (sysctl -s r ). tudo serve para an�lise do pf. D� trabalho, mas � bom, a gente aprende :) divirta-se. Original Message: - From: matheus lamberti [EMAIL PROTECTED] Subject: [FUG-BR] Ajuda para liberacao de acesso externo no PF Mas qdo tento acessar de outro lugar (fora da empresa) nao consigo acesso. ## definicao das interfaces de rede i nt_if = rl0 ext_if = vr0 ## definicao dos servicos utilizados tcp_services = { 22, 3389, 5000 } icmp_types = echoreq ## permite que os servicos tcp funcionem pass in on $ext_if inet proto tcp from any to ($ext_if) port $tcp_services flags S/SA keep state ## permite que a internet consiga acessar os servidores pass in on $ext_if proto tcp from any to $srv_rdp port 3389 flags S/SA synproxy state pass in on $ext_if proto tcp from any to $srv_web port 22 flags S/SA synproxy state pass in on $ext_if proto tcp from any to $srv_web port 5000 flags S/SA synproxy state ## necessario para o funcionamento do ftp-proxy pass in on $ext_if inet proto tcp from port 20 to ($ext_if) user proxy flags S/SA keep state ## permite apenas os tipos icmp especificados pass in inet proto icmp all icmp-type $icmp_types keep state ## permite total comunicacao na rede interna pass in on $int_if from $rede to any keep state pass out on $int_if from any to $rede keep state mail2web - Check your email from the web at http://mail2web.com/ . ___ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br matheus lamberti de abreu BSD User ID: 051370 Embora nem tudo seja permitido, tudo é possível. [ Adágio Alquímico ] Do, or do not. There is no 'try'. [ Master Yoda ] Se a vida é regida por uma licença, esta é BSD. [ http://planeta.ubuntubrasil.org ] - Yahoo! Photos Showcase holiday pictures in hardcover Photo Books. You design it and well bind it! ___ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
Re: [FUG-BR] Ajuda para liberacao de acesso externo no PF
respondendo entre as linhas da sua mensagem.. Original Message: - From: matheus lamberti [EMAIL PROTECTED] Subject: Re: [FUG-BR] Ajuda para liberacao de acesso externo no PF meu servidor web roda na porta 5000 ( preciso liberar a porta 80 tambem? ) não, não precisa. Mas êle ESTÁ respondendo (apresentando as páginas, etc)? eu me esqueci, apaguei o seu script original, mas que me lembre deveria (em algum lugar) haver um ... rdr.. monte de coisas.. from any port 80 -- ip_interno port 5000 (ou similar - na verdade esqueci da sintaxe e tô com preguiça de ir no google - risos) enfim.. o rdr existe? ainda nao estou conseguindo fazer com que de outros lugares eu acesse via SSH e consiga ver o sarg pela web bem.. quanto ao sarg não sei, mas vc deve ter um rdr pra êle também, não? e, nêsse caso, tenho minhas dúvidas.. êle não vai estar na mesma porta que o seu www, não? Então, se vc não rdr pra porta certa, êle não vai responder mesmo. E, salvo engano, só vi a porta 5000 no seu script. Mas claro, como já o apaguei, posso ter-me enganado. mas para o ssh, façamos assim: bloqueie all conforme sugerido fique de olho no pflog0 via tcpdump, conforme sugerido, podendo até acrescentar: # tcpdump (um monte de instrções, cf man pf) -i pflog0 | grep 22 daí vc (ou alguém) tenta o acesso externo pela porta 22 e vê o que dá. Eu mesmo nunca usei o rdr direto assim, via de regra acesso o firewall e depois a outra máquina, mas enfim, não creio que seja O problema.. e, no fim, uma curiosidade: seus servidores estão em dmz ou vc jogou tudo dentro da sua rede mesmo? flames /dev/null irado BSD50853/Linux User 179402 mail2web - Check your email from the web at http://mail2web.com/ . ___ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
Re: [FUG-BR] Ajuda para liberacao de acesso externo no PF
matheus lamberti wrote: Ola lista, peguei o firewall de exemplo do site do OpenBSD, fiz umas adaptacoes as minhas necessidades e tenho a presente situacao, na rede interna tudo funciona normalmente. Mas qdo tento acessar de outro lugar (fora da empresa) nao consigo acesso. ## definicao de redes e servidores rede = 172.16.0.0/27 ## definicao de tabelas table malvados { 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8, 20.20.0.0/12 } ## protecao contra ips spoofados block drop in quick on $ext_if from malvados to any block drop out quick on $ext_if from any to malvados Prezado matheus, Talvez o problema esteja na inclusão da rede 172.16.0.0/12 na tabela malvados, uma vez que a sua rede = 172.16.0.0/27 está contida nesta faixa de endereçamento. Um abraço, Alex ___ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
Re: [FUG-BR] Ajuda para liberacao de acesso externo no PF
Matheus, loga as conexões que vc está negando, com a opção log, assim fica mais facil de achar o erro ! Ex: block log all E depois você pode ver o trafego que está sendo negado ! # tcpdump -e -ttt -i pflog0 Em 18/01/06, [EMAIL PROTECTED][EMAIL PROTECTED] escreveu: a única coisa que estou vendo - pelo menos de imediato, é que somente são permitidos os acessos, via ext_if, das portas relacionadas em tcp_services. Qualquer outra porta/serviço será rejeitada/o. O que, de certa forma, causa estranheza porque, se vc tem um servidor web - como aparenta, êle não será acessível de fora, uma vez que o serviço é 80 (www) ou 448 (https), as quais NÃO ESTÃO relacionadas. A porta 20 aparece em linha padrão do PF, conforme a cartilha, então deve estar ok, bem como os redirecionamentos para o ftp-proxy (perguntar não ofende: vc ACRESCENTOU o ftp-proxy no inetd?.. e ativou o inetd em /etc/rc.conf?) eu costumo colocar - pra me garantir - uma clausula reject log all on (interface) ANTES de qualquer liberação que se siga, para essa interface. Com isso eu garanto o registro de tudo o que for rejeitado em cada uma das interfaces. seguindo o manual, dá uma olhada no que estiver sendo rejeitado com tcpdump na interface ipflog0 ou o mesmo tcpdump no /var/log/ipflog. No man pf e no man tcpdump vc tem como associa-lo a um arquivo ou a uma interface. No arquivo, vc lê o histórico anterior, na intrface ipftraf0 (acho que é o nome, veja com o ipconfig) vc tem o trânsito on time. veja também sysctl -s info pra ver o que é que anda acontecendo (pacotes rejeitados, passantes, etc..). Nat também (sysctl -s nat) ou regras (sysctl -s r ). tudo serve para análise do pf. Dá trabalho, mas é bom, a gente aprende :) divirta-se. Original Message: - From: matheus lamberti [EMAIL PROTECTED] Subject: [FUG-BR] Ajuda para liberacao de acesso externo no PF Mas qdo tento acessar de outro lugar (fora da empresa) nao consigo acesso. ## definicao das interfaces de rede i nt_if = rl0 ext_if = vr0 ## definicao dos servicos utilizados tcp_services = { 22, 3389, 5000 } icmp_types = echoreq ## permite que os servicos tcp funcionem pass in on $ext_if inet proto tcp from any to ($ext_if) port $tcp_services flags S/SA keep state ## permite que a internet consiga acessar os servidores pass in on $ext_if proto tcp from any to $srv_rdp port 3389 flags S/SA synproxy state pass in on $ext_if proto tcp from any to $srv_web port 22 flags S/SA synproxy state pass in on $ext_if proto tcp from any to $srv_web port 5000 flags S/SA synproxy state ## necessario para o funcionamento do ftp-proxy pass in on $ext_if inet proto tcp from port 20 to ($ext_if) user proxy flags S/SA keep state ## permite apenas os tipos icmp especificados pass in inet proto icmp all icmp-type $icmp_types keep state ## permite total comunicacao na rede interna pass in on $int_if from $rede to any keep state pass out on $int_if from any to $rede keep state mail2web - Check your email from the web at http://mail2web.com/ . -- Éderson H. Chimbida ___ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
Re: [FUG-BR] Ajuda para liberacao de acesso externo no PF
Só uns comentáriozinhos sobre o e-mail do Iradasso: On Wed, 2006-01-18 at 05:32 -0500, [EMAIL PROTECTED] wrote: eu costumo colocar - pra me garantir - uma clausula reject log all on (interface) ANTES de qualquer liberação que se siga, para essa interface. Com isso eu garanto o registro de tudo o que for rejeitado em cada uma das interfaces. Você poderia me dar um exemplo disso? As vezes me perco também, o treco bloqueia e eu não sei onde hehehehe seguindo o manual, dá uma olhada no que estiver sendo rejeitado com tcpdump na interface ipflog0 ou o mesmo tcpdump no /var/log/ipflog. No man pf e no man tcpdump vc tem como associa-lo a um arquivo ou a uma interface. No arquivo, vc lê o histórico anterior, na intrface ipftraf0 (acho que é o nome, veja com o ipconfig) vc tem o trânsito on time. Você pode usar os comandos: tcpdump -n -e -ttt -i pflog0 = esse mostra ao vivo o que está acontencendo tcpdump -n -e -ttt -r /var/log/pflog = esse da um cat nos logs passados Ou criar um alias, porque decorar isso ninguém merece!!! veja também sysctl -s info pra ver o que é que anda acontecendo (pacotes rejeitados, passantes, etc..). Nat também (sysctl -s nat) ou regras (sysctl -s r ). Acho que ele quis dizer pfctl -s info, pfctl -s nat e pfctl -s rules -- Tiago Cruz http://linuxrapido.org Linux User #282636 The box said: Requires MS Windows or better, so I installed Linux ___ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
[FUG-BR] Ajuda para liberacao de acesso externo no PF
Ola lista, peguei o firewall de exemplo do site do OpenBSD, fiz umas adaptacoes as minhas necessidades e tenho a presente situacao, na rede interna tudo funciona normalmente. Mas qdo tento acessar de outro lugar (fora da empresa) nao consigo acesso. Segue abaixo o conjunto completo de regras do meu pf (desculpem o tamanho) Obrigado desde ja ... ## definicao das interfaces de rede int_if = rl0 ext_if = vr0 ## definicao dos servicos utilizados tcp_services = { 22, 3389, 5000 } icmp_types = echoreq ## definicao de redes e servidores rede = 172.16.0.0/27 srv_rdp = 172.16.0.6 srv_web = 172.16.0.30 ## definicao de tabelas table malvados { 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8, 20.20.0.0/12 } ## opcoes gerais set block-policy drop set debug none set fingerprints /etc/pf.os set loginterface $ext_if set optimization normal set skip on lo0 set limit { frags 5000, states 2500 } ## normalizacao de pacotes entrantes scrub in all ## controle de banda altq on $ext_if cbq bandwidth 350Kb queue { ftpq, rdpq, sshq, webq } queue ftpq bandwidth 10% cbq(default) queue rdpq bandwidth 20% queue sshq bandwidth 30% queue webq bandwidth 40% # nat e redirecionamento nat on $ext_if from $int_if:network to any - ($ext_if) rdr on $ext_if proto tcp from any to $ext_if port rdp - $srv_rdp port 3389 rdr on $ext_if proto tcp from any to $ext_if port ssh - $srv_rdp port 22 rdr on $ext_if proto tcp from any to $ext_if port 5000 - $srv_web port 5000 rdr on $int_if proto tcp from any to any port ftp - 127.0.0.1 port 8021 rdr on $int_if proto tcp from any to any port www - 127.0.0.1 port 3128 ## politica padrao do firewall block all ## permite que na interface loopback tudo aconteca pass quick on lo0 all ## protecao contra ips spoofados block drop in quick on $ext_if from malvados to any block drop out quick on $ext_if from any to malvados ## permite que os servicos tcp funcionem pass in on $ext_if inet proto tcp from any to ($ext_if) port $tcp_services flags S/SA keep state ## permite que a internet consiga acessar os servidores pass in on $ext_if proto tcp from any to $srv_rdp port 3389 flags S/SA synproxy state pass in on $ext_if proto tcp from any to $srv_web port 22 flags S/SA synproxy state pass in on $ext_if proto tcp from any to $srv_web port 5000 flags S/SA synproxy state ## necessario para o funcionamento do ftp-proxy pass in on $ext_if inet proto tcp from port 20 to ($ext_if) user proxy flags S/SA keep state ## permite apenas os tipos icmp especificados pass in inet proto icmp all icmp-type $icmp_types keep state ## permite total comunicacao na rede interna pass in on $int_if from $rede to any keep state pass out on $int_if from any to $rede keep state ## permite que as comunicacoes da rede interna saiam para internet pass out on $ext_if proto tcp all modulate state flags S/SA pass out on $ext_if proto { udp, icmp } all keep state matheus lamberti de abreu BSD User ID: 051370 Embora nem tudo seja permitido, tudo é possível. [ Adágio Alquímico ] Do, or do not. There is no 'try'. [ Master Yoda ] Se a vida é regida por uma licença, esta é BSD. [ http://planeta.ubuntubrasil.org ] - Yahoo! Photos Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever. ___ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
Re: [FUG-BR] Ajuda para liberacao de acesso externo no PF
matheus lamberti wrote: Ola lista, peguei o firewall de exemplo do site do OpenBSD, fiz umas adaptacoes as minhas necessidades e tenho a presente situacao, na rede interna tudo funciona normalmente. Mas qdo tento acessar de outro lugar (fora da empresa) nao consigo acesso. [...] ## protecao contra ips spoofados block drop in quick on $ext_if from malvados to any block drop out quick on $ext_if from any to malvados Matheus, A sua rede interna é 172.16.0.0/27, e nessa regra aí em cima você acabou bloqueando o tráfego dessas máquinas com a Internet (a tabela malvados inclui esse range). Sugestão: retire essas duas regras, ou ainda melhor: retire o quick das duas... dessa forma as outras regras também serão avaliadas, e o tráfego para a Internet vai funcionar (por causa das 2 últimas regras do seu PF): pass out on $ext_if proto tcp all modulate state flags S/SA pass out on $ext_if proto { udp, icmp } all keep state -- Rainer Alves ___ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br