Baixe o app para aproveitar ainda mais
Prévia do material em texto
SERVIDOR DE FIREWALL E PROXY Grace Kelly, Claudio Monteiro, Djully Flavia, Goria Rayane, Tales Sathler Faculdades Integradas de Caratinga – 5° Período de Ciência da Computação – Caratinga – MG – Brasil 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 autoridado à 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 proposito 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) queage 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 proxyprocura 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 webnuma 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 proxySquid 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 IP remotos é filtrado 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... 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 root@gitlab:~# service squid3 start start: Job is already running: squid3 root@gitlab:~# service squid3 restart squid3 stop/waiting squid3 start/running, process 1897 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 SCRIPT DO SQUID3 IP e versão do SO da máquina virtual: 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 # 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 [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 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 utiliza-lo e que tenha permissão para isso mesmo que não pertençam a nossa rede, poderá acessa-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 ai 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. 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 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 sitar 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 imagemabaixo. 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. REFERENCIAS BIBLIOGRAFICAS 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
Compartilhar