Você está na página 1de 17

SERVIDOR DE FIREWALL E PROXY

Grace Kelly[1], Claudio Monteiro[2], Djully Flavia[3], Goria Rayane[4], Tales Sathler[5]

Faculdades Integradas de Caratinga – 5° Período de Ciência da Computação – Caratinga – MG –


Brasil

[1]kellyreader11@gmail.com
[2]monteiroclaudio@gmail.com
[3]djullymorais@gmail.com
[4]rayannezeff18@gmail.com
[5]p.talessathler@gmail.com

INTRODUÇÃO

Com a chegada da internet banda larga, com conexões cada vez mais rápidas, ficou mais
fácil para os usuários navegarem, se comunicarem, compartilharem informações, bem como
realizar infinitas tarefas diferentes, de forma muito mais rápida do que nas antigas linhas
discadas. Entretanto, nem tudo são flores, pois com os benefícios também chegaram novos
tipos de ameaças. A disseminação de vírus, os ataques de hackers a todo tipo de máquina,
seja pessoal ou corporativa, estão maiores do que nunca.
Para não nos tornarmos vítimas de ataques desse tipo de malfeitor, existem diversos
programas e ferramentas que se propõem a defender o sistema, mantê-lo funcionando e
imunizá-lo através de várias técnicas diferentes. Uma dessas técnicas é a utilizada pelo que
conhecemos como Firewall.
A palavra firewall tem estado cada vez mais comum no nosso cotidiano, ainda mais agora
que a segurança digital está dia após dia mais em evidência. Assim como a metáfora por trás
do nome sugere, firewall é uma barreira de proteção que ajuda a bloquear o acesso de
conteúdo malicioso, mas sem impedir que os dados que precisam transitar continuem
fluindo. Em inglês, “firewall” é o nome daquelas portas antichamas usadas nas passagens
para as escadarias em prédios. Na informática, os firewalls são aplicativos ou equipamentos
que ficam entre um link de comunicação e um computador, checando e filtrando todo o
fluxo de dados. Esse tipo de solução serve tanto para aplicações empresariais quanto para
domiciliar, protegendo não só a integridade dos dados na rede mas também a
confidencialidade deles. Aplicações com a função de firewall já são parte integrante de
qualquer sistema operacional moderno, garantindo a segurança do seu PC desde o momento
em que ele é ligado pela primeira vez. Os firewalls trabalham usando regras de segurança,
fazendo com que pacotes de dados que estejam dentro das regras sejam aprovados, enquanto
todos os outros nunca chegam ao destino final. Além do firewall presente em cada máquina,
é bastante comum empresas usarem computadores específicos que agem como um
“guardião” de uma rede, filtrando todo o trânsito de dados entre os PCs locais e um
ambiente mais hostil, como a internet. Usando essa segunda opção, é possível até aplicar
regras exclusivas como: “Máquina X pode enviar arquivos por FTP à vontade, todas as
outras estão limitadas apenas a downloads”.

COMO FUNCIONA O FIREWALL?

O Firewall tem função similar, pois “tranca” todas as portas e janelas do seu computador
para que só os autorizados possam entrar e sair. Os Firewalls já são instalados com pré-
definições de quais portas poderão permanecer abertas para que os programas as usem, mas
o usuário pode adicionar permissões conforme a necessidade.
Em termos mais técnicos, o Firewall é o responsável pelo controle dos dados transferidos
de e para o seu computador através da internet, além de prevenir que informações pessoais
ou confidenciais sejam transmitidas pelo seu computador para a internet e impedir a invasão
da máquina por software malicioso.
O Firewall não dispensa a instalação de um antivírus. Ele funciona como uma alfândega
ou filtro que restringe a passagem dos dados recebidos e enviados pelo seu computador. O
antivírus é necessário porque mesmo as comunicações consideradas seguras pelo Firewall
podem trazer ameaças à máquina, geralmente devido à operação incorreta do PC pelo
usuário.
O firewall funciona como um filtro de conexões, impedindo que sejam enviados e
recebidos dados — maliciosos ou não — pelas portas que o firewall estiver bloqueando.
Porém, as portas utilizadas pelo seu navegador de internet ou programa de email, por
exemplo, são sempre liberadas por padrão. Ou seja, mensagens de spam, sites com conteúdo
malicioso ou mesmo downloads não são protegidos pelo firewall, já que trafegam através de
portas liberadas.
Portanto, nenhum firewall substitui software antivírus, muito menos dispensa uma boa
política de uso e educação por parte do usuário, no sentido de não executar programas
suspeitos, não abrir emails de fontes desconhecidas e não fazer downloads de programas
piratas — que costumam ser belas fontes de contaminação por vírus e trojans.
O QUE O FIREWALL FAZ?
— impede que sua máquina seja invadida.
— impede que dados indesejáveis entrem no PC.
— bloqueia o envio de dados provenientes da sua máquina que não estejam especificados
nas configurações.

O QUE O FIREWALL NÃO FAZ?


— não protege contra programas baixados pelo usuário.
— não impede que programas de email baixem spam.
— não impede que o usuário crie exceções errôneas que podem colocar o computador em
risco.

SCRIPT
[gloria@RBTeste firewall] > /ip address export
# mar/28/2016 09:30:36 by RouterOS 6.29.1
# software id = 8FV3-Z9VI
#
/ip address
add address=1.1.1.7/24 interface=ether1 network=1.1.1.0
add address=192.168.88.1/24 interface=wlan1 network=192.168.88.0
add address=192.168.89.1/24 interface=ether1 network=192.168.89.0

regras de firewall

[gloria@RBTeste firewall] > /ip firewall filter export


# mar/28/2016 09:31:31 by RouterOS 6.29.1
# software id = 8FV3-Z9VI
#
/ip firewall filter
addchain=input comment="LIBERACAO PARA LISTA_LIERADOS, OU SEJA, SOMENTE
QUEM TEM PERMISSAO." protocol=tcpsrc-address-list=LISTA_LIBERADOS
add action=drop chain=input comment="BLOQUEIO DO IP 192.168.89.1" dst-
address=192.168.89.1 protocol=tcp
addchain=input comment="LIBERACAO PARA LISTA_DMZ, OU SEJA, LIBERA O
ACESSO AO RANGE DMZ" dst-address-list=LISTA_DMZ
add action=drop chain=input comment="BLOQUEIO GERAL" protocol=tcp

Firewall redeliberada:
/ip firewall address-list
add address=0.0.0.0/0 disabled=yes list=LISTA_BLOQUEIOS
add address=186.235.78.0/27 list=LISTA_LIBERADOS
add address=192.168.88.0/24 list=LISTA_LIBERADOS
add address=192.168.89.0/24 list=LISTA_DMZ
/ip firewall mangle
add action=mark-routing chain=prerouting disabled=yes in-interface=ether1
new-routing-mark=CACHE passthrough=no protocol=tcpsrc-port=80,443
add action=mark-routing chain=prerouting disabled=yes in-interface=ether1
new-routing-mark=CACHE passthrough=no protocol=udpsrc-port=80,443
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1 src-
address=192.168.88.0/24
add action=dst-nat chain=dstnat disabled=yes dst-port=80 in-
interface=wlan1 protocol=tcp to-addresses=1.1.1.69 to-ports=7090

TESTES REALIZADOS

O script de firewall utilizado como filtro das portas de acesso à rede, tem o intuito de
permitir que programas de rede local tenha acesso a internet e impedir o acesso não
autorizado à rede. O bloqueio do acesso não autorizado à rede 192.168.89.1 é feito com o
seguinte comando: add action=drop chain=input comment="BLOQUEIO DO IP

192.168.89.1" dst-address=192.168.89.1 protocol=tcp. É importante também


ressaltar a seguinte regra: add chain=input comment="LIBERACAO PARA LISTA_DMZ, OU
SEJA, LIBERA O ACESSO AO RANGE DMZ" dst-address-list=LISTA_DMZ, pois ela
libera acesso as DMZs, que por sua vez tem o propósito de manter todos os serviços que
tenham acesso externo, sendo uma camada extra de segurança na rede local, dificultando seu
acesso.
SERVIDOR DE PROXY

INTRODUÇÃO
Em redes de computadores, um proxy (em português procurador) é um servidor (um
sistema de computador ou uma aplicação) que age como um intermediário para requisições
de clientes solicitando recursos de outros servidores. Um cliente conecta-se ao servidor
proxy, solicitando algum serviço, como um arquivo, conexão, página web ou outros recursos
disponíveis de um servidor diferente e o proxy avalia a solicitação como um meio de
simplificar e controlar sua complexidade. Os proxies foram inventados para adicionar
estrutura e encapsulamento a sistemas distribuídos. Hoje, a maioria dos proxies é proxy web,
facilitando o acesso ao conteúdo na World Wide Web e fornecendo anonimato.Um
servidor proxy pode, opcionalmente, alterar a requisição do cliente ou a resposta do servidor
e, algumas vezes, pode disponibilizar este recurso mesmo sem se conectar ao servidor
especificado. Pode também atuar como um servidor que armazena dados em forma
de cache em redes de computadores. São instalados em máquinas com ligações tipicamente
superiores às dos clientes e com poder de armazenamento elevado. Esses servidores têm
uma série de usos, como filtrar conteúdo, providenciar anonimato, entre outros.
Um proxy de cache HTTP ou, em inglês, caching proxy, permite por exemplo que o cliente
requisite um documento na World Wide Web e o proxy procura pelo documento na sua
caixa (cache). Se encontrado, a requisição é atendida e o documento é retornado
imediatamente. Caso contrário, o proxy busca o documento no servidor remoto, entrega-o ao
cliente e salva uma cópia em seu cache. Isto permite uma diminuição na latência, já que o
servidor proxy, e não o servidor original, é requisitado, proporcionando ainda uma redução
do uso da banda.

SQUID

Atualmente o acesso à internet tem se tornado praticamente obrigatório, principalmente no


ambiente corporativo, tendo em vista o dinamismo que as novas tecnologias da comunicação
podem trazer para este ambiente. Entretanto surgem vários problemas quanto a definição de
como implementar esse acesso de computadores das redes corporativas à internet de forma
segura e eficiente. No conjunto de medidas a serem tomadas para implementar esse acesso
temos a utilização de servidores proxy. Um servidor proxy funciona como um intermediário
no contato dos computadores da rede local com outras máquinas fora dela, como por
exemplo na internet. Ele recebe as requisições de acesso externo dos hosts locais e as
repassa a outros computadores fora da rede local, retornando as respostas aos computadores
que as solicitaram.
O Squid é um servidor proxy que suporta HTTP, HTTPS, FTP e outros. Ele reduz a
utilização da conexão e melhora os tempos de resposta fazendo cache de requisições
frequentes de páginas web numa rede de computadores. O Squid é um dos servidores
proxymais utilizados no mundo, dado a sua robustez, segurança e recursos que oferece.
Apesar dos poucos protocolos que ele consegue trabalhar, no caso apenas o HTTP, HTTPS,
FTP e gopher, é ainda uma alternativa muito interessante, já que estes são os principais
protocolos da internet, e além do mais, muitos dos aplicativos que usam outros protocolos
tem capacidade de usar o Squid através de um dos protocolos suportados por ele.
O proxy Squid funciona ouvindo requisições numa determinada porta padrão, ou numa
outra porta que pode ser configurada pelo administrador da rede. O Squid é um software
livre, o que implica dizer que ele está licenciado nos termos da GPL (General
PublicLicense), com isso temos uma garantia a mais (ao nosso ver, sem sombras de dúvidas
é muito mais seguro que ter o software nas mão de uma única corporação que pode fechar as
portas de uma hora para outra, como já vimos por várias vezes) de que nenhuma corporação
vai descontinuar o projeto e deixar os seus usuários sem rumo, já que é a própria
comunidade de usuários que contribui com o desenvolvimento e avanços deste software.

PORQUE USAR O SQUID

Além da capacidade de intermediar o acesso à internet, como já mencionado, o Squid tem


outros recursos que o torna uma excelente alternativa para aproveitamento mais racional da
comunicação. Dentre esses recursos podemos destacar:
Cache – através desse recurso o Squid armazena em cache o conteúdo acessado, de forma
que se algum host fizer novamente uma requisição ao mesmo conteúdo, que já se encontra
armazenado, ele recebe diretamente do cache, sem a necessidade de efetuar uma nova busca
dos dados na internet. O uso desse recurso pode trazer uma rapidez maior ao acesso à
internet, pois provavelmente o link do host com o proxy é bem mais rápido do que deste
com a internet;
Autenticação – podemos restringir o acesso ao servidor proxy com o uso da autenticação de
usuários, de forma que seja melhorada a segurança, já que somente usuários autorizados
poderão acessar a internet. Este recurso é bastante flexível e pode ser implementado de
várias maneiras, como uso do protocolo LDAP, SMB, módulos PAM, etc.;
Registro de acessos – os acessos são registrados em arquivos de log, podendo esses serem
utilizados para as mais diversas finalidades, que vão desde a análise de performance do
servidor, até a geração de relatórios detalhados dos acessos à internet.
Existem vários softwares analisadores de logs do Squid capazes de gerar relatórios tão
bons, que por si já justificariam o uso do Squid, em razão do controle proporcionado;
Controle centralizado – com o uso do proxy temos a facilidade de um único ponto
centralizador do acesso à internet, o que torna a gerência da rede mais fácil e eficiente. Uma
única máquina é capaz de prover acesso à várias outras;
Segurança – como apenas o proxy está diretamente ligado à internet, temos apenas uma (ou
mesmo poucas, caso tenhamos mais de um servidor proxy) máquina potencialmente
vulnerável. Desta forma fica mais fácil concentrar esforços na melhoria da segurança de
apenas um ponto na rede. A base instalada do Squid é hoje muito grande, sendo utilizado
por empresas dos mais variados ramos e portes, vão desde instalações para uso doméstico
até grandes corporações, Governos, etc.

SERVIDOR PROXY COM SQUID - INSTALAÇÃO E CONFIGURAÇÃO

O Squid, um servidor de Proxy, trabalha como saída principal da rede. Com isso, podemos
centralizar nosso foco em segurança (políticas de acesso, autenticação, etc.) em uma única
máquina. O Squid trabalha com os principais protocolos da Internet, alguns deles são:
HTTP, HTTPS, FTP. O Squid é um Software Livre licenciado pela GPL, sua utilização pode
nos trazer várias vantagens, como:

 Autenticação;
 Controle de acesso;
 Cache;
 Controle centralizado;
 Registros de acesso, etc.

Ele também atua como Proxy transparente evitando que usuários "espertinhos" possam
burlar o controle de acesso. Bem, chega de teoria e vamos começar o trabalho. Este tutorial é
voltado à distribuições baseadas no Debian. O Squid é formado de um único pacote, o que
torna sua instalação extremamente fácil.

CONTROLE DE ACESSO

Para que um servidor forneça acesso a um recurso, ele antes consulta a lista para verificar
se o dispositivo que o está requisitando possui permissão para utilizá-lo. As listas de
controle de acesso normalmente definem suas permissões com base em atributos do
requisitante e do recurso solicitado, como a identificação do usuário, local de acesso,
horário, nome do arquivo e endereço de rede.
Com as ACLs de rede, você pode fazer o seguinte:
 Permitir ou negar seletivamente o tráfego de entrada com base no intervalo de endereços
IPv4 de sub-rede remota para um ponto de extremidade de entrada de máquina virtual.
 Inserir endereços IP em uma lista negra.
 Criar várias regras por ponto de extremidade de máquina virtual.
 Especificar até 50 regras de ACL por ponto de extremidade de máquina virtual.
 Usar a ordenação de regra para garantir que o conjunto correto de regras seja aplicado a um
certo ponto de extremidade de máquina virtual (mais baixa para a mais alta).
 Especificar uma ACL para um endereço IPv4 de sub-rede remota específica.
Como funcionam as ACLs
Uma ACL é um objeto que contém uma lista de regras. Quando você cria uma ACL e a
aplica a um ponto de extremidade de máquina virtual, a filtragem de pacotes ocorre no nó do
host da VM. Isso significa que o tráfego de endereços IPs remotos são filtrados pelo nó do
host a fim de estabelecer uma correspondência de regras de ACL na sua VM. Isso impede
que a VM gaste os preciosos ciclos de CPU na filtragem de pacotes.
Quando uma máquina virtual é criada, uma ACL padrão é colocada no lugar para bloquear
todo o tráfego de entrada. No entanto, se um ponto de extremidade é criado para a (porta
3389), a ACL padrão é modificada a fim de permitir todo o tráfego de entrada para esse
ponto de extremidade. O tráfego de entrada de qualquer sub-rede remota recebe permissão
nesse ponto de extremidade e nenhum provisionamento de firewall é necessário. Todas as
outras portas são bloqueadas para tráfego de entrada, a menos que os pontos de extremidade
sejam criados para essas portas.

Segue processo feito para instalação do squid3 e todos os comandos que utilizados seguem a
baixo:
gitLab1029

apt-get upgrade

apt-get install squid

Configuração:

root@gitlab:~# ls /etc/squid3/
errorpage.css msntauth.conf squid.conf

cp /etc/squid3/squid.conf /etc/squid3/squid.conf.orig
rm /etc/squid3/squid.conf
nano /etc/squid3/squid.conf

Preencha:

http_port 3128
visible_hostnameServidor

acl all src 0.0.0.0/0.0.0.0


http_access allow all
ctrl+x e salvar.

Temos a opção de configurar o servidor proxy no browser, ou ajustar no firewall no mkt


para redirecionar nas portas padrões.

No firefox ferramentas > opções > avançado > Rede -> Configurar Conexão...

root@gitlab:~# service squid3 start


start: Job is already running: squid3

root@gitlab:~# service squid3 restart


squid3 stop/waiting
squid3 start/running, process 1897

Ajuste no squid.conf, para salvar os dados podemos criar 1 partição para ele se for o caso.
# Uncomment and adjust the following to add a disk cache directory.
cache_dirufs /var/spool/squid3 100 16 256

service squid3 stop


service squid3 start

cd /var/spool/squid3
root@gitlab:/var/spool/squid3# ls -la
total 76
drwxr-xr-x 18 proxy proxy 4096 Mar 23 14:29 .
drwxr-xr-x 8 root root 4096 Mar 23 14:17 ..
drwxr-x--- 258 proxy proxy 4096 Mar 23 14:29 00
drwxr-x--- 258 proxy proxy 4096 Mar 23 14:29 01
drwxr-x--- 258 proxy proxy 4096 Mar 23 14:29 02
drwxr-x--- 258 proxy proxy 4096 Mar 23 14:29 03
drwxr-x--- 258 proxy proxy 4096 Mar 23 14:29 04
drwxr-x--- 258 proxy proxy 4096 Mar 23 14:29 05
drwxr-x--- 258 proxy proxy 4096 Mar 23 14:29 06
drwxr-x--- 258 proxy proxy 4096 Mar 23 14:29 07
drwxr-x--- 258 proxy proxy 4096 Mar 23 14:29 08
drwxr-x--- 258 proxy proxy 4096 Mar 23 14:29 09
drwxr-x--- 258 proxy proxy 4096 Mar 23 14:29 0A
drwxr-x--- 258 proxy proxy 4096 Mar 23 14:29 0B
drwxr-x--- 258 proxy proxy 4096 Mar 23 14:29 0C
drwxr-x--- 258 proxy proxy 4096 Mar 23 14:29 0D
drwxr-x--- 258 proxy proxy 4096 Mar 23 14:29 0E
drwxr-x--- 258 proxy proxy 4096 Mar 23 14:29 0F
-rw-r----- 1 proxy proxy 72 Mar 23 14:29 swap.state

Vendo o tamanho dos dados de cache:


root@gitlab:/var/spool/squid3# du -h -s .

17M .

PARA VER A VERSÃO


root@gitlab:/var/spool/squid3# squid3 -v
Squid Cache: Version 3.3.8
Ubuntu

configureoptions: '--build=x86_64-linux-gnu' '--prefix=/usr' '--


includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--
infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--
libexecdir=${prefix}/lib/squid3' '--srcdir=.' '--disable-maintainer-mode' '--
disable-dependency-tracking' '--disable-silent-rules' '--
datadir=/usr/share/squid3' '--sysconfdir=/etc/squid3' '--mandir=/usr/share/man' '-
-enable-inline' '--enable-async-io=8' '--enable-storeio=ufs,aufs,diskd,rock' '--
enable-removal-policies=lru,heap' '--enable-delay-pools' '--enable-cache-digests'
'--enable-underscores' '--enable-icap-client' '--enable-follow-x-forwarded-for' '-
-enable-auth-basic=DB,fake,getpwnam,LDAP,MSNT,MSNT-multi-
domain,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB' '--enable-auth-digest=file,LDAP' '--
enable-auth-negotiate=kerberos,wrapper' '--enable-auth-ntlm=fake,smb_lm' '--
enable-external-acl-
helpers=file_userip,kerberos_ldap_group,LDAP_group,session,SQL_session,unix_group,
wbinfo_group' '--enable-url-rewrite-helpers=fake' '--enable-eui' '--enable-esi' '-
-enable-icmp' '--enable-zph-qos' '--enable-ecap' '--disable-translation' '--with-
swapdir=/var/spool/squid3' '--with-logdir=/var/log/squid3' '--with-
pidfile=/var/run/squid3.pid' '--with-filedescriptors=65536' '--with-large-files'
'--with-default-user=proxy' '--enable-linux-netfilter' 'build_alias=x86_64-linux-
gnu' 'CFLAGS=-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -
Werror=format-security -Wall' 'LDFLAGS=-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-
z,relro -Wl,-z,now' 'CPPFLAGS=-D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fPIE -fstack-
protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security'

==> /var/log/squid3/access.log <==


1458767166.406 0 1.1.1.69 TCP_MISS/403 3967
GET http://up.winzippers.com/Request2/update? - HIER_NONE/- text/html
1458767166.406 7379 1.1.1.7 TCP_MISS/403 4059
GET http://up.winzippers.com/Request2/update? - HIER_DIRECT/1.1.1.69 text/html
1458767183.206 10009 1.1.1.7 NONE_ABORTED/000 0 POST http://ocsp.digicert.com/ -
HIER_NONE/- -
1458767193.220 10010 1.1.1.7 NONE_ABORTED/000 0 POST http://ocsp.digicert.com/ -
HIER_NONE/-

==> /var/log/squid3/cache.log <==


2016/03/23 18:14:05| WARNING: Forwarding loop detected for:
GET
/webmail/?_task=mail&_action=show&_uid=2&_mbox=INBOX&_caps=pdf%3D1%2Cflash%3D1%2Ct
if%3D0 HTTP/1.1
Host: www.ultra.pro.br
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/49.0.2623.87 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: language=pt_BR; roundcube_sessid=mdbvj276vdgui2fmkcuud05hb2;
roundcube_sessauth=S386eebd9730248e87624c9c389c01de0c2091eb6
Via: 1.1 gitlab (squid/3.3.8)
X-Forwarded-For: 1.1.1.7
Cache-Control: max-age=0
Connection: keep-alive
http://squid-web-proxy-cache.1019090

SCRIPT DO SQUID3
# Uncomment and adjust the following to add a disk cache directory.
cache_dirufs /var/spool/squid3 100 16 256

http_port 3128

visible_hostname we bproxy

#http_port 7090 intercept


#http_port 7090 transparent

#ACL.s PORTAS
#aclSSL_portsport 443 563 873
#aclSafe_ports port 80
#aclSafe_ports port 21
#aclSafe_ports port 443 563
#aclSafe_ports port 70 #protocolo gopher antig..aclSafe_ports port 210 #whais
#aclSafe_ports port 1024-65535 #todas as outrasportas
#aclSafe_ports port 280 #http-mgmt
#aclSafe_ports port 488 #gss-http
#aclSafe_ports port 591 #filemaker
#aclSafe_ports port 777 #multi http
#aclSafe_ports port 901 #acesso Swat
#acl purge method PURGE
#acl CONNECT method CONNECT

aclallsrcall
# regra que foi pedida no trabalho all significa tudo,ou seja tudo que o meu
#usuário solicitar de pagina web sera apresentado ao mesmo ja que ele não pediu
#restrição de pagina.

http_accessallowall

#aclproibir_futebolurl_regex futebol
#http_access deny proibir_futebol

#aclproibir_facebookurl_regexfacebook
#http_access deny proibir_facebook
IP e versão do SO da máquina virtual:
[sudo] password for gitlab:
root@gitlab:~# ifconfig
eth0 Link encap:Ethernet Endereço de HW 08:00:27:44:e6:af
inet end.: 1.1.1.69 Bcast:1.1.1.255 Masc:255.255.255.0
endereço inet6: fe80::a00:27ff:fe44:e6af/64 Escopo:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1
pacotes RX:232 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:68 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:1000
RX bytes:19178 (19.1 KB) TX bytes:10539 (10.5 KB)

lo Link encap:Loopback Local


inet end.: 127.0.0.1 Masc:255.0.0.0
endereço inet6: ::1/128 Escopo:Máquina
UP LOOPBACK RUNNING MTU:65536 Métrica:1
pacotes RX:98 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:98 erros:0 descartados:0 excesso:0 portadora:0
colisões:0 txqueuelen:0
RX bytes:35723 (35.7 KB) TX bytes:35723 (35.7 KB)

root@gitlab:~# uname -a
Linux gitlab 3.16.0-30-generic #40~14.04.1-Ubuntu SMP Thu Jan 15 17:43:14 UTC 2015
x86_64 x86_64x86_64 GNU/Linux
root@gitlab:~#

Distribuição de IP na RB(servidor de Firewall)

[gloria@RBTeste firewall] > /ip address export


# mar/28/2016 09:30:36 by RouterOS 6.29.1
# software id = 8FV3-Z9VI
#
/ip address
add address=1.1.1.7/24 interface=ether1 network=1.1.1.0
add address=192.168.88.1/24 interface=wlan1 network=192.168.88.0
add address=192.168.89.1/24 interface=ether1 network=192.168.89.0

regras de firewall

[gloria@RBTeste firewall] > /ip firewall filter export


# mar/28/2016 09:31:31 by RouterOS 6.29.1
# software id = 8FV3-Z9VI
#
/ip firewall filter
addchain=input comment="LIBERACAO PARA LISTA_LIERADOS, OU SEJA, SOMENTE QUEM TEM
PERMISSAO." protocol=tcpsrc-address-list=LISTA_LIBERADOS
add action=drop chain=input comment="BLOQUEIO DO IP 192.168.89.1" dst-
address=192.168.89.1 protocol=tcp
addchain=input comment="LIBERACAO PARA LISTA_DMZ, OU SEJA, LIBERA O ACESSO AO
RANGE DMZ" dst-address-list=LISTA_DMZ
add action=drop chain=input comment="BLOQUEIO GERAL" protocol=tcp

Firewall redeliberada:

/ip firewall address-list


add address=0.0.0.0/0 disabled=yes list=LISTA_BLOQUEIOS
add address=186.235.78.0/27 list=LISTA_LIBERADOS
add address=192.168.88.0/24 list=LISTA_LIBERADOS
add address=192.168.89.0/24 list=LISTA_DMZ

/ip firewall mangle


add action=mark-routing chain=prerouting disabled=yes in-interface=ether1 new-
routing-mark=CACHE passthrough=no protocol=tcpsrc-port=80,443
add action=mark-routing chain=prerouting disabled=yes in-interface=ether1 new-
routing-mark=CACHE passthrough=no protocol=udpsrc-port=80,443
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1 src-
address=192.168.88.0/24
add action=dst-nat chain=dstnat disabled=yes dst-port=80 in-interface=wlan1
protocol=tcp to-addresses=1.1.1.69 to-ports=7090

TESTES REALIZADOS

O script acima utilizado no squid através do arquivo squid.conf serve para configurar o
servidor de proxy possibilitando o bloqueio e o caching das páginas web solicitadas.
Utilizando o comando: aclsallsrcall, ACL do tipo src (origem) ela trata o IP ou uma faixa
de IP com que o cliente chega no Proxy, o termo ALL estamos permitindo que todos os
clientes que pertençam a nossa rede ou não tenham total acesso as informações web que
possam ser solicitadas, sem nenhum bloqueio de páginas solicitadas por eles. Quando eu
digo que todos poderão ter acesso me refiro ao seguinte, se o nosso servidor de proxy
possuir um IP real qualquer indivíduo que deseje utilizá-lo e que tenha permissão para isso
mesmo que não pertençam a nossa rede, poderá acessá-lo. Porém, podemos utilizar
restrições no arquivo do squid.conf como por exemplo: aclproibir_futebolurl_regex futebol e
http_accessdenyproibir_futebol,quando utilizamos esse tipo de regra no squid estamos
dizendo o seguinte, estou impedindo que o meu usuário tenha qualquer tipo de acesso a
páginas que contenham a palavra futebol ou facebook na URL. Mas aí vem a pergunta, mas
quando eu jogo a palavra facebook/futebol no google ele me retorna resultados da pesquisa,
porque isso acontece já que estou bloqueado para acesso a essas informação? A resposta
para essa pergunta é simples quando você faz uma pesquisa no google ou qualquer outro
mecanismo de pesquisa, você está acessando uma URI e nosso bloqueio foi feito em cima de
URL.

Basicamente a diferença entre URI e URL é que a URI (Identificador Uniforme de


Recursos ou Uniform Resource Identifier) é uma cadeia de caracteres compacta usada para
identificar ou denominar um recurso na internet.O principal objetivo dessa identificação é
permitir a interação com representações do recurso através de uma rede, tipicamente a Rede
Mundial, usando protocolos específicos. URIs são identificados em grupos definindo uma
sintaxe específica e protocolos associados. Já por sua vez URL( Uniform Resource Locator
ou Localizador-Padrão de Recursos) é o endereço de um recurso (como um arquivo, uma
impressora, uma página Web etc.), disponível em uma rede, seja a Internet, ou mesmo uma
rede corporativa como uma intranet.
Um URL completo possui a seguinte estrutura:

Esquema://domínio:porta/caminho/recurso?querystring#fragmento

MIKROTIK

Mikrotik (ou Mikrotikls) é uma empresa fundada na Letônia em 1995, focada no


desenvolvimento de roteadores e sistemas wireless. Em 1997 foi criado pela Mikrotik o
sistema RouterOS, no qual hoje é encontrado nos maiores provedores de internet e
datacenters do mundo.

ROUTEROS
O RouterOS é um sistema operacional licenciado, stand-alone baseado no
kernel Linux v2.6, que oferece várias funcionalidades voltadas para redes de computadores,
o interessante deste sistema é a possibilidade de transformar um computador (x86) em um
potente roteador, até mesmo com aquele Pentium 100Mhz 64MB RAM, 8GB HD é possível
instalar o RouterOS.

FUNCIONALIDADES
O RouterOS suporta muitas funcionalidades e modos de operação na qual vou citar
algumas delas que são:
 Roteador dedicado.
 Bridge com filtros em layer2.
 Firewall com layer7 e diversos filtros.
 Controle de velocidade, garantia de banda, burst, hierarquia e disciplinas de filas.
 Ponto de Acesso Wireless modo 802.11 e proprietário, cliente wireless.
 WDS, NSTREME, NSTREME Dual.
 Concentrador PPPoE, PPtP, IPSeC, L2TP etc.
 Roteador de Borda.
 Servidor Dial-in e Dial - out.
 Hotspot e gerenciador de usuários.
 WEB Proxy (cache de páginas e arquivos).
 Recursos de Bonding, VRRP etc.
 Virtualização com Xen e MetaRouter.
 Linguagem avançada de scripts.
 Roteamento com OSPF, MPLS, BGP etc.
 Ferramentas: watchdog, bandwidth test, torch.

ADMINISTRANDO O SISTEMA
Devido ao sistema ser baseado em GNU/Linux, a primeira impressão é que a
administração é feita por aquela que é querida por uns e odiada por outros, estou falando da
tela preta, o famoso "terminal". Se pensou que sim, está correto, e se pensou que não, está
correto também, existem várias formas de você administrar o RouterOS, que são:

LOCAL - Esta configuração é feita através da


presença de uma pessoa para operar o
roteador/servidor no local onde ele se encontra, a tela
de configuração é um terminal igual o da imagem
abaixo.

WEBBOX - É uma interface de acesso via browser,


igual dos roteadores residenciais, como D-Link, TP-
Link, Linksys e também de fácil configuração.

WINBOX - Uma das características do RouterOS que


se torna um diferencial e ao mesmo tempo um ponto
forte sobre os sistemas dos concorrentes é a interface
de configuração, por ela ser muito fácil de utilizar e
entender, com alguns cliques é possível fazer
configurações que se fossem ser feitas em outros
sistemas precisaríamos de muitas horas.
O Winbox é uma ferramenta usada para fazer o acesso/configuração remota de seu
roteador/servidor RouterOS, esta ferramenta funciona em Linux (emulado pelo wine) e em
Windows, é uma interface bem intuitiva e de fácil manuseio.

CONCLUSÃO

Portanto, com a necessidade de proteção de dispositivos contra ataques de hackers, vírus,


acessos indevidos e restrições de uso alteradas, fica evidente que a utilização de
equipamentos, programas ou dispositivos, que impeçam, filtram, controlam todo o tráfego
da rede e troca de informações entre computadores e dispositivos, é de grande benefício. Os
servidores de Firewall e o Proxy cumprem seus papeis como filtros de pacotes de redes com
base em parâmetros preestabelecidos, intermediadores de conexão, filtros de navegação,
caching de informações e imunizador de sistema. Sendo paredes invisíveis aos olhos
humanos, preservando a integridade da rede, das informações armazenadas e trafegadas
nela.
REFERÊNCIAS BIBLIOGRÁFICAS

1. http://www.tecmundo.com.br/firewall/182-o-que-e-firewall-.htm
2. http://www.tecmundo.com.br/seguranca/3329-como-funciona-o-firewall-.htm
3. https://pt.wikipedia.org/wiki/Squid
4. https://pt.wikipedia.org/wiki/Proxy
5. https://pt.wikipedia.org/wiki/Iptables
6. https://www.oficinadanet.com.br/artigo/1998/squid_o_que_e
7. https://grupoenterprise.wordpress.com/conceitos/
8. https://www.vivaolinux.com.br/artigo/Voce-conhece-o-RouterOS-Mikrotik
9. https://azure.microsoft.com/pt-br/documentation/articles/virtual-networks-acl/
10. http://www.adassoft.com/squid-conf-com-autenticacao-e-bloqueio-de-sites-para-
squid-3/
11. https://www.vivaolinux.com.br/topico/Servidores-Linux-para-iniciantes/Bloquear-
sites-com-squid
12. http://www.adassoft.com/squid-conf-com-autenticacao-e-bloqueio-de-sites-para-
squid-3/
13. https://www.vivaolinux.com.br/topico/Squid-Iptables/Bloquear-Sites-com-Squid-1

Você também pode gostar