Autor Tópico: INICIANTE - Servidor de Internet com Proxy e Firewall  (Lida 14604 vezes)

Offline giltla

  • Usuário Ubuntu
  • *
  • Mensagens: 2
    • Ver perfil
INICIANTE - Servidor de Internet com Proxy e Firewall
« Online: 28 de Agosto de 2008, 22:16 »
Olá pessoal...primeiro, é um prazer estar iniciando neste novo mundo (p mim, claro)... c certeza terei muitos desafios e conto c a ajuda de vc's...

Bom..p começar, tenho um pepino nas maos....

Tenho um servidor que atualmente roda o Windows 2000 Server, roteando internet utilizando o NAT. Ele tem 2 placas de rede: vamos colocar assim: eth0, ligada ao modem da internet, com ip fixo profissional, e eth1, liga a rede local, rodando servidor dns, dhcp e roteando internet atraves do NAT do 2k server. Acontece que tenho cerca de 120 usuários utilizando essa mesma conexão ao mesmo tempo, oq torna o trafego mto lento, daí a minha intenção de colocar o ubuntu server como proxy e firewall. Acontece que sei mto pouco de Linux, apenas o básico mesmo. Consegui vários tutoriais sobre o assunto, porém ainda tenho mtas dúvidas.

1 - Tendo em vista que já configurei as duas placas de rede corretamente (pois consigo pingar tanto a rede local quanto algum endereço externo), quais os próximos passos ?

2 - Sei que tenho que colocar o script p rotear a net em algum arquivo de inicialização, mas qual ?

3 - Alguém, pelamordedeus, pode me passar algum tutorial passo a passo ?

4 - Como exemplo, segue ip das redes:

eth0 - rede da internet
          ip                189.75.129.106
          mascara       255.255.255.248
          gateway       189.75.129.105

eth1 - rede local
         ip                  192.168.200.1
         mascara         255.255.255.0


Os servidores dns gostaria de colocar o proprio servidor linux p resolver nomes...

bom...e assim por diante....


Desde já, agradeço a atenção e colaboração de todos...


GILMAR.

Offline edimasa

  • Usuário Ubuntu
  • *
  • Mensagens: 5
    • Ver perfil
Re: INICIANTE - Servidor de Internet com Proxy e Firewall
« Resposta #1 Online: 03 de Setembro de 2008, 15:17 »
indiferente se é a versão server ou versão desktop.

você deve de ter instalado em seu pc(servidor) os seguintes softwares:

squid(proxy)

#sudo apt-get install squid

iptables(regra de roteamentos e etc.)

#sudo apt-get install iproute


feito a instalação destes dois edite o arquivo "/etc/squid/squid.conf".
!dica: faça um backup
# sudo cp /etc/squid/squid.conf /etc/squid/squid.bkp

e se quiser pode utilizar essa conf:

#Squid edimasa

#Inf basicas
http_port 3128 transparent
visible_hostname proxysrv

#Politica de acesso> todos os enderecos acessam o proxy
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
#criando grupo de rede
acl ipfree src "/etc/squid/ipfree.txt"
acl ip64 src "/etc/squid/ip64.txt"
acl ip128 src "/etc/squid/ip128.txt"
acl ip256 src "/etc/squid/ip256.txt"


# regra Restricoes
#bloqeuios por extensao
acl badext url_regex -i "/etc/squid/badext.txt"
#acl badurl dstdomain "/etc/squid/badurl.txt"
acl badurl url_regex -i "/etc/squid/badurl.txt"
acl badpal url_regex -i "/etc/squid/badpal.txt"

#grupo de rede permissoes
http_access allow ipfree
http_access deny badext
http_access deny badurl
http_access deny badpal
http_access allow ip64
http_access allow ip128
http_access allow ip256
http_access deny all

##criando limite de banda (delay_pools<qntd de regras>)
delay_pools 4

#delay_class <numero da regra><tipo>
delay_class 1 2   
delay_parameters 1 65536/65536 8192/8192
delay_access 1 allow ip64
##link de 64k

delay_class 2 2
delay_parameters 2 65536/65536 16384/16384
delay_access 2 allow ip128
#link de 128k

delay_class 3 2
delay_parameters 3 65536/65536 30076/30076
delay_access 3 allow ip256
#link de 256k

delay_class 4 2
delay_parameters 4 65536/65536 65536/65536
delay_access 4 allow ipfree


#delay_class 5 2
#delay_parameters 5 -1/-1 -1/-1
#delay_access 5 allow ipfree




#regras
acl SSl_ports port 443 563
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 280 #http-mgnt
acl Safe_ports port 488 #gss-http
acl Safe_ports port 591 #filemaker
acl Safe_ports port 777 #multiling http
acl Safe_ports port 901 #swat
acl Safe_ports port 1025-65535 #portas altas
acl purge method PURGE
acl CONNECT method CONNECT
#liberar portas
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



#---fim do config squid

então, o squid além de ser o proxy, ele pode controlar o acesso como descrito no conf.: (é claro crie esses arquivos  ;)  )
bloqueio de palavras:
/etc/squid/badpal.txt
bloqueio de endereços/sites
/etc/squid/badurl.txt
bloqueio de extensão de arquivo
/etc/squid/badext.txt

detalhe:
1. coloque cada item em uma linha, ex:
www.orkut.com
www.youtube.com

2. para bloquear qualquer arquivo com extensão use desta forma:
.scr$

crie os arquivos:
"/etc/squid/ipfree.txt"
"/etc/squid/ip64.txt"
"/etc/squid/ip128.txt"
"/etc/squid/ip256.txt"

em cada um deve conter uma relação de ips que você queira respectivamente conforme o nome, limitar o download da internet.


regra iptables:

edite o arquivo: "/etc/rc.local" insira esse conteúdo no final do arquivo. observe que deve existir no final somente a linha "exit 0"

#regras proxy
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

#algumas regras de seguranca
#Contra DoS:
iptables -A FORWARD -i eth0 -p tcp -syn -m limit -limit 1/s -j accept
#Contra Port Scanners:
iptables -A FORWARD -o tcp -tcp-flags SYN,ACK,FIN,RST RST -m zlimit -limit 1/s -j accept
#Contra Pings:
iptables -A FORWARD -p icmp -icmp-type echo-request -m limit -limit 1/s -j accept
#Bloquear Back Orifice:
iptables -A INPUT -p tcp --dport 31337 -j DROP
iptables -A INPUT -p udp --dport 31337 -j DROP
#Bloquear NetBus:
iptables -A INPUT -p tcp --dport 12345:12346 -j DROP
iptables -A INPUT -p udp --dport 12345:12346 -j DROP



exit 0


#----fim

reinicie a máquina
isso é o básico pra vc conseguir fazer funcionar o proxy...


Offline giltla

  • Usuário Ubuntu
  • *
  • Mensagens: 2
    • Ver perfil
Re: INICIANTE - Servidor de Internet com Proxy e Firewall
« Resposta #2 Online: 04 de Setembro de 2008, 20:41 »
Caracas.... aí edimasa.... valew mesmo... bem passo a passo... mao na roda p quem ta começando como eu... ainda naum tive tempo de montar e testar...mas assim q o fizer posto o resultado aki...

mas desde já, muito obrigado msm...

abs



Offline Roger_Pereira

  • Usuário Ubuntu
  • *
  • Mensagens: 64
    • Ver perfil
Re: INICIANTE - Servidor de Internet com Proxy e Firewall
« Resposta #3 Online: 05 de Setembro de 2008, 17:04 »
Vendo essa postagem já gostaria de perguntar umas coisas ao qual vou precisar fazer.

Nesse arquivo do squid o bloqueio maior é em questão a banda, limitando a 64k, 128, 256k, a pergunda que faço é se é mais ou menos a mesma escrutuora para fazer o que preciso.

Criar grupos de acesso a tais sites. designando os ips e mac que pertemcem o grupo e colocando quais sites esse grupo acessa. Deixando todos os outros ips q não tiverem nos grupos sem acesso nenhum a internet.
E também fazendo uma regra di horario onde no horario do almoço a internet ficaria liberada todos os sites.

Alguém poderia me dar o caminho para mim conseguir implantar, depois ate posto aqui pra galera também o esquema de grupos e de horarios o que pode ser interessante para muita gente.

FLW..

Offline cleberrecebe

  • Usuário Ubuntu
  • *
  • Mensagens: 36
    • Ver perfil
Re: INICIANTE - Servidor de Internet com Proxy e Firewall
« Resposta #4 Online: 09 de Setembro de 2008, 10:12 »
        Velhinho seguinte, do jeito que tu falou ai acho que é muito mais rápido prático e menos processado hehehee usar o squidguard para o Tal, simples de configurar e vai fazer tudo que tu quer aí, além de redirecionar para um site qualquer o pessoal que num tem acesso tipo para uma pagina da sua empresa :D

         Por via das dúvidas após instalar o squidguard vai aí o conf para tu ter uma idéia :D

Listagem 1 - /etc/squidguard.conf


# /etc/squidguard.conf
# parte 1 - definições básicas
logdir /var/squidGuard/logs
dbhome /var/squidGuard/db


# 2 - define uma regra de horário
time horario_livre {
weekly * 00:00-08:00 18:00-24:00
}


# 3 - define um grupo interno
src sala_de_aula {
ip 10.10.200.0/24
}


# 4 - define um segundo grupo
src escritorios {
ip 10.9.0.0/16
}


# 5 - um grupo de destinos
dest porno {
domainlist porno/dominios
urllist porno/urls
}


# 6 - quem pode o que
acl {
# item (a) - escritorios, por horario
escritorios within horario_livre {
pass all
} else {
pass !porno all
}


# item (b) - sala de aula - nunca pornô!
sala_de_aula {
pass !porno all
}


# item (c) - se não for nenhuma origem conhecida, rejeitar
default {
pass none
redirect http://www.nossapagina.com.br/bloqueado.htm
}
}

abraços velhinho :D

Offline laos

  • Usuário Ubuntu
  • *
  • Mensagens: 18
    • Ver perfil
Re: INICIANTE - Servidor de Internet com Proxy e Firewall
« Resposta #5 Online: 12 de Setembro de 2008, 15:51 »
  Fiz algo parecido aqui na loja porém usei o shorewall, um frontend pro iptables diriamos assim... Menos complicado do que fazer as regras direto com o iptables.

Fabio

Offline giant_trunade

  • Usuário Ubuntu
  • *
  • Mensagens: 65
    • Ver perfil
Re: INICIANTE - Servidor de Internet com Proxy e Firewall
« Resposta #6 Online: 28 de Julho de 2009, 10:42 »
Olá pessoal,

queria aproveitar o gancho de vcs para postar uma duvida...

eu usei o squid para bloquear sites, e Linus Torvalds que me perdoe mas é uma &%$#@...

estou usando para isso o squidGuard 2.7 STABLE 3.. fiz minhas configs mas tá muito estranho.. eu coloco as coisas na whitelist e os sites são bloqueados do mesmo jeito.

Minha principal regra (e exigencia da empresa) é que em certo horário alguns sites tenham acesso bloqueado.. porem no horário livre os mesmos nao são liberados... já mudei minhares de vezes meu .conf e nada..

segue abaixo meu squidGuard.conf:

Código: [Selecionar]

#
# CONFIG FILE FOR SQUIDGUARD
#

dbhome /var/lib/squidguard/db/blacklists
logdir /var/log/squid

#
# TIME RULES:
#

time horario_aula {
# weekly smtwhfa 12:00-19:20
weekly smtwhfa 08:00-10:00 19:30-23:00
}

#
# SOURCE ADDRESSES:
#

src redeteste{
ip 192.168.1.0/24
}

src testeliberado{
ip 192.168.1.102/24
}

#
# DESTINATION CLASSES:
#

#Propagandas, banners, publicidade:
dest ads {
domainlist ads/domains
urllist ads/urls
expressionlist ads/expressions
redirect http://127.0.0.1/avisos/bloqueio.gif
}

###Pornografia  ---------------------------------------------------- Inicio
dest adult {
domainlist adult/domains
urllist adult/urls
#redirect http://127.0.0.1/avisos/improprio.html
}

dest porn {
domainlist porn/domains
urllist porn/urls
expressionlist porn/expressions
#redirect http://127.0.0.1/avisos/improprio.html
}

dest artnudes {
domainlist artnudes/domains
urllist artnudes/urls
#redirect http://127.0.0.1/avisos/improprio.html
}

dest naturism {
domainlist naturism/domains
urllist naturism/urls
#redirect http://127.0.0.1/avisos/improprio.html
}

dest mixedadult {
domainlist mixed_adult/domains
urllist mixed_adult/urls
#redirect http://127.0.0.1/avisos/improprio.html
}
###Pornografia  --------------------------------------------------- Fim

###Sites de violencia   -  inicio
dest aggressive {
domainlist aggressive/domains
urllist    aggressive/urls
#redirect http://127.0.0.1/avisos/agressivo.html
}

dest violence {
domainlist violence/domains
urllist violence/urls
#redirect http://127.0.0.1/avisos/agressivo.html
}
###Sites de violencia   -  fim

##chat e salas de bate papo:
dest chat {
domainlist chat/domains
urllist chat/urls
#redirect http://127.0.0.1/avisos/geral.html
}

###sites de redes sociais como orkut e outros:
dest socialnetworking {
domainlist socialnetworking/domains
urllist socialnetworking/urls
#redirect http://127.0.0.1/avisos/por_horario.html
}
###sites de namoro:
dest dating {
domainlist dating/domains
urllist dating/urls
#redirect http://127.0.0.1/avisos/geral.html
}

###############################################################################
######ABAIXO OS SITES QUE CAUSAM RISCO À REDE, COM VÍRUS, SPYWARE E OUTROS#####

#phishing:
dest phishing {
domainlist phishing/domains
#redirect http://127.0.0.1/avisos/virusinfected.html
}

#ringtones (maioria com virus):
dest ringtones {
domainlist ringtones/domains
#redirect http://127.0.0.1/avisos/virusinfected.html
}

#Infectados por vírus:
dest virusinfected {
domainlist virusinfected/domains
urllist virusinfected/urls
#redirect http://127.0.0.1/avisos/virusinfected.html
}

#Com spyware:
dest spyware {
domainlist spyware/domains
#redirect http://127.0.0.1/avisos/virusinfected.html
}

#Com malware:
dest malware {
domainlist malware/domains
urllist malware/urls
expressionlist malware/expressions
#redirect http://127.0.0.1/avisos/virusinfected.html
}

#Dialers para pornografia, virus e spyware:
dest dialers {
domainlist dialers/domains
domainlist dialers/urls
#redirect http://127.0.0.1/avisos/virusinfected.html
}
###############################################################################
###Sites com informações para hacker / cracker e outros:
dest hacking {
domainlist hacking/domains
urllist hacking/urls
#redirect http://127.0.0.1/avisos/geral.html
}

###Sites proxy para burlar o servidor:
dest proxy {
domainlist proxy/domains
urllist proxy/urls
#redirect http://127.0.0.1/avisos/geral.html
}

###Sites de mensagens instantaneas (ex.: MSN):
dest instantmessaging {
domainlist instantmessaging/domains
domainlist instantmessaging/urls
#redirect http://127.0.0.1/avisos/por_horario.html
}

#Sites adicionados à  blacklist pela FAI:
dest adicionados {
domainlist adicionados/dominios
urllist adicionados/urls
#redirect http://127.0.0.1/avisos/geral.html
}

########WHITELIST####################################
#caso algum site esteja dentro de alguma classificação bloqueada e seja necessá
#rio desbloquear, adicione o endereço / dominio aqui:
dest whitelist {
domainlist whitelist/domains
#urllist whitelist/urls
}

acl {
#ip com tudo liberado (para teste)
testeliberado {
pass any
}

##BLOQUEIO POR HORARIO---------------------------------------------------------------- INICIO:
redeteste within horario_aula {
pass whitelist !instantmessaging !socialnetworking !virusinfected !phishing !ringtones !spyware !malware !dialers !hacking !porn !ads !adult !artnudes !naturism !mixedadult !aggressive !violence !chat !dating !adicionados any
redirect http://127.0.0.1/avisos/por_horario.html
}
else {
pass whitelist !virusinfected !phishing !ringtones !spyware !malware !dialers !hacking !porn !adult !ads !artnudes !naturism !mixedadult !aggressive !violence !adicionados any
redirect http://127.0.0.1/avisos/virusinfected.html
}
##BLOQUEIO POR HORARIO----------------------------------------------------------------- FIM.

default {
pass any
}
}




Outro problema sério pessoal é que eu nao estou conseguindo usar https... ja liberei as portas 80, 443 e direcionei ambas para a 3128, porem se eu entro em gmail, yahoomail, ou qq https.. ele retorna a mensagem no firefox:

"Ocorreu um erro durante uma conexão com login.yahoo.com:443.

O SSL recebeu um registro que excedia o comprimento máximo permitido.

(Código do erro: ssl_error_rx_record_too_long)"

nao consigo resolver de forma alguma, e na internet nao acho nada que resolva..

peço que me ajudem nisso. qualquer ajuda será bem vinda

muito obrigado a todos
« Última modificação: 28 de Julho de 2009, 10:47 por giant_trunade »

Offline arisimoes

  • Usuário Ubuntu
  • *
  • Mensagens: 15
    • Ver perfil
Re: INICIANTE - Servidor de Internet com Proxy e Firewall
« Resposta #7 Online: 14 de Agosto de 2009, 10:46 »
edimasa vlw pelo conf e pelo rc.local ficou muito bom to tento fazer umas implementações e gostaria de saber se é possivel uma acl em que eu limito uma banda pra determinada url

por exemplpo limitar a banda usada no youtube pra no maximo 10kb/s porem essa regras seria para todos os ips

criei ess acl
acl videos src "/etc/squis/videos.txt"
e la no delay pool adicionei
#Limitando youtube 5k
delay_class 5 2
delay_parameters 5 65536/65536 5192/5192
delay_access 5 allow videos

esta correto?
« Última modificação: 14 de Agosto de 2009, 11:07 por arisimoes »

junniox

  • Visitante
Re: INICIANTE - Servidor de Internet com Proxy e Firewall
« Resposta #8 Online: 05 de Setembro de 2009, 17:48 »
Olá
Uma ótima solução Open Source para transformar um PC em um sistema de segurança completo, incluindo firewall, proxy, filtro de conteúdo, antivírus HTTP, antivírus POP3 e SMTP, VPN, antispam, etc. é o Endian Firewall Community...

Vale a pena dar uma olhada, experimente:

http://www.endian.com/en/community/overview/

Eu utilizo essa solução profissionalmente há mais de 2 anos e estou muito satisfeito com os resultados.

[]'s

Offline Teste_100

  • Usuário Ubuntu
  • *
  • Mensagens: 46
  • Powerred by Ubuntu and NetBookRemix 9.04
    • Ver perfil
Re: INICIANTE - Servidor de Internet com Proxy e Firewall
« Resposta #9 Online: 05 de Setembro de 2009, 21:20 »
Desculpem posso tirar uma duvida besta, besta,besta....
como eu fixo meu ip pelo ifconfig. calma que eu se que e
#ifconfig eth0 xxx.xxx.xxx.x/xx ate ai tranquilo
mais se eu reiniciar o pc ele nao ta mais fixo  ??? esta automatico.
Netbook Acer apireOn D150, Atom D 1.6,1gb ram, 160gb HDD.

junniox

  • Visitante
Re: INICIANTE - Servidor de Internet com Proxy e Firewall
« Resposta #10 Online: 06 de Setembro de 2009, 17:29 »
Desculpem posso tirar uma duvida besta, besta,besta....
como eu fixo meu ip pelo ifconfig. calma que eu se que e
#ifconfig eth0 xxx.xxx.xxx.x/xx ate ai tranquilo
mais se eu reiniciar o pc ele nao ta mais fixo  ??? esta automatico.

Fixando IP no Ubuntu pelo Shell
Neste exemplo vou utilizar o IP 192.168.0.10

Código: [Selecionar]
sudo nano /etc/network/interfaces
Localizes as linhas abaixo e altere de acordo com a sua necessidade:

# The primary network interface
auto eth0
iface eth0 inet static
        address 192.168.0.10
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1

Após, reinicie o serviço:
Código: [Selecionar]
sudo /etc/init.d/networking restart
Experimente reiniciar o PC e ver se o IP permaneceu fixo.

[]'s

Offline asghan

  • Usuário Ubuntu
  • *
  • Mensagens: 1.221
    • Ver perfil
Re: INICIANTE - Servidor de Internet com Proxy e Firewall
« Resposta #11 Online: 06 de Setembro de 2009, 18:02 »
   Ubuntu 12.04 - Unity 64bits