segunda-feira, 8 de maio de 2017

Por que usar software livre?

Algumas perguntas que me fazem com frequência são:
  • Qual é melhor, Windows ou Linux?
  • Microsoft Office ou Libre Office?
  • Photoshop ou Gimp?

Todas estas perguntas estão relacionadas à seguinte questão principal: Qual tipo de software é melhor, proprietário ou livre?

Há argumentos favorecendo ambos os lados, e fanáticos defendem com unhas e dentes suas posições. Já vi analistas Linux rasgarem seus certificados Microsoft e profissionais Windows desprezarem o Linux sem nunca terem mexido em um. E o problema todo se resume a duas simples verdades: falta de conhecimento e preconceito.

Quando me perguntam qual sistema é melhor eu replico: Melhor pra quem? Melhor em qual situação? Dizer qual sistema é melhor depende mais do ambiente onde ele será operado do que do software em si. E esse artigo pretende mostrar as vantagens e desvantagens do uso de softwares livre, e do Linux, para as mais variadas situações, ambientes e pessoas, como por exemplo:
  • Governos
  • Empresas
  • Desenvolvedores
  • Gamers
  • Vendedores de softwares
  • Usuários comuns
Governos

O software livre abre as portas para que empreendedores nacionais cresçam dando suporte, treinamento, consultoria e personalização de sistemas abertos sem gastarem com licenças à empresas estrangeiras, gerando lucro e emprego. Temos vários exemplos no Brasil de empresas que foram criadas com base nesse modelo e hoje são referência na área tecnológica. Além disso, o investimento que o governo faz em software livre, quer seja com suporte a sistema, quer seja com desenvolvimento de funções, gera lucro para empresas nacionais, evitando a evasão de divisas. Além disso, o conhecimento tecnológico é disceminado na região. Ou seja, a população se beneficia pois aprende como os sistemas funcionam. O governo não fica à mercê de empresas estrangeiras que tem como objetivo o lucro e realmente não se importam com o país. O governo não fica dependente de uma empresa, como acontece com o software proprietário, pois se uma empresa não presta um bom serviço, outra poderá dar suporte ao sistema, se ele for livre.

Com software proprietário não é possível fazer auditoria de sistema. Como não temos acesso ao código fonte é necessário confiar na empresa fornecedora. Mas com o software livre você sabe o que extamente o programa faz, e como faz. Há algum tempo tivemos um escândalo envolvendo a NSA, a agência de segurança americana, onde ficou provado que ela espiona vários sistemas no mundo, e que várias empresas desenvolvem software já com brechas conhecidas pela agência. Com software livre você pode verificar todo o código do programa, e pode até modificá-lo para deixá-lo mais seguro ou para atender a um requisito. Com isso o governo pode ser mais transparente.

Com software livre o governo pode instalar os programas em qualquer situação, instituição e equipamento sem se preocupar com licitações e outras burocracias. Não é necessário autorização (do ponto de vista do licenciamento), nem contratos ou outras formalidades. O governo ganha em agilidade.

Empresas

A primeira e óbvia vantagem para empresas é a economia com licenças. São poucas empresas no Brasil que conseguem manter seus softwares todos legalizados. Atualizá-los a cada 1 ou 2 anos é muito caro, sem contar as dificuldades técnicas. As pessoas em geral não têm noção dos custos. Uma licença do Microsoft Office pode chegar a R$1.200,00 (preço de 2017). Uma empresa de porte médio com 100 desktops gastaria R$120.000,00, só com licenças do Office. Junte-se a isso o Antivírus, algumas licenças de CRM e ERP, Exchange, SQL, software de editoração, etc. Um micro usual tem cerca de R$5.000,00 só de licenças, e sem contar o contrato de suporte.

Com software livre isso não acontece. Você não precisa pagar por licenças de uso, nem dar safistação a ninguém sobre como o programa está sendo usado.

Usando software livre a empresa não fica presa a fornecedores. Um exemplo típico é o que acontece com softwares de ERP, como a SAP. Uma vêz implantado fica difícil trocar a empresa de suporte pois geralmente somente uma empresa presta suporte ao programa em uma região. Trocar o software acaba sendo extremamente complicado, custoso e demorado. Se o software for livre qualquer empresa pode prestar suporte ao programa. Se um fornecedor não presta em bom atendimento podemos trocar por outro, mantendo ou não o software.

Outra grande vantagem para empresas é a liberdade para testar o programa exaustivamente antes de colocá-lo em produção. Não é necessário licenças trial, nem prazos para testes. Tudo pode ser testado e, se a empresa tiver pessoal capacitado, pode fazer os ajustes que forem necessários.

Sempre vejo a correria do pessoal da área de TI quando uma auditoria questiona sobre uma licença para um programa em especial. Levantamentos sobre quantidades de licenças e total de instalações feitas quase sempre geram informações inconsistentes. Esse problema não ocorre com o programa livre.

Mas nem tudo são flores. A mudança pode gerar desconforto para teus usuários. Por exemplo, a migração de Windows para Linux vai sofrer grande resistência por parte dos funcionários. O usuário está acostumado com aquele sistema e isso gera problemas. Embora o usuário também vai precisar de treinamento para aquela nova versão do Windows (algo que aconteceu quando viemos do Windows 3.11 para o 95, do 98 para o XP e do Windows 7 para o 10) o usuário sente que está aprendendo “uma nova versão melhorada” do sistema. Aprender um novo sistema soa como “esse sistema sempre funcionou, porque mudar?”. Não só os usuários são preguiçosos para aprender, mas nós também somos. Não gostamos da idéia de mudar para aquela outra linguagem de programação. Dominamos a antiga, por que mudar para outra?

E não é por ser geralmente grátis que não há custos. Há sim um gasto com treinamento. Treinamento das equipes de TI, de suporte e de desenvolvimento, além dos próprios usuários. Esses treinamentos podem ser feitos por empresas especializadas ou pelos próprios funcionários da área de informática. Mas sempre vai haver um custo, quer seja financeito, quer seja de tempo, preparação de sala, separação de equipamentos, confecção de apostilas, etc.

Essas são questões importantes a serem levadas em conta quando o assunto é software livre. Podemos usar a questão financeira (cada centro de custo deve arcar com o custo do software) e a questão da ideologia, mas cada empresa deverá avaliar onde e como o software livre deverá ser implantado.

Desenvolvedores

Embora eu não seja a melhor pessoa para falar sobre desenvolvimento de software, durante uma época da minha carreira eu fui programador e sempre me via às voltas com programas fabulosos e eu pensava: “como o cara conseguiu desenvolver isso?”. Às vezes passava dias, semanas desenvolvendo uma rotina que fizesse algo parecido com o que eu tinha visto, e geralmente o resultado não era tão bom. Se o software fosse livre, ou pelo menos de código aberto, eu poderia olhar o código e saber como o programador desenvolvera aquela função. Semanas de trabalho poderiam ser poupadas em poucas horas. Essa é a grande vantagem para o desenvolvedor. Ao invés de reinventar a roda pode-se investir o tempo melhorando-a.

Se existe um programa ou função que só funciona em um sistema operacional, se o programa for fechado você vai depender que desenvolvedor (diga-se dono) para lançar uma versão compatível com outro sistema. Caso o programa seja livre, você mesmo poderá adaptá-lo ao sistema operacional que você usa. Com código proprietário isso não é possível.

Gamers

É uma verdade que jogos são lançados primeiro em Windows. A base instalada é maior. Portanto, se você é um jogador que sempre quer a última versão dos jogos, o Linux pode não ser para você. Geralmente as versões para Linux demoram mais para serem lançadas, ou às vezes nem saem, caso do GTA.

Outro problema é que a Nvidia não possui módulos para Linux. Isso dificulta, e até impede que jogos mais pesados funcinem no Linux.

Embora a Valve, através da Steam, tenha diminuído esse problema, o fato é que muitos jogos simplesmente não vão rodar no Linux, alguns vão rodar com desempenho inferior. Portanto, se você é um gamer, o Linux pode não ser pra você. Pelo menos por enquanto.

Vendedores de softwares

Se você tem uma empresa que revende software, então o Linux pode não ser para você. Embora o Linux possa ser vendido, o forte dele é a consultoria e suporte. Se você quer trabalhar com Linux então o foco precisa ser mudado. Consultoria, suporte, migração de ambientes e implantações são apenas alguns pontos que podem ser levados em conta. Simplesmente vender Linux não vai te dar o retorno esperado.

Demais usuários

Se você é um usuários digamos “normal”, que faz pesquisas no Google, acessa redes sociais, faz documentos, apresentações e planilhas e usa uns joguinhos de vêz em quando, então o Linux pode te atender plenamente. É verdade que os programas são diferentes. Afinal, se você quer um programa que seja idêntico ao Microsoft Office use o Microsoft Office! O preconceito, o medo de tentar e a preguiça em aprender o novo são os maiores inimigos do software livre.

No caso de ferramentas do tipo “Office”, o Libre Office é a melhor opção para o mercado brasileiro. As telas são muito parecidas com o Office da Microsoft, mas algumas opções não estarão nos mesmos lugares, embora com um pouquinho de pesquisa você encontrará o que precisa.

Uma das maiores alegações dos defensores do Microsoft Office é que o formato DOC não é totalmente compatível com o Libre Office. Isso em partes é verdade; alguns documentos podem não abrir exatamente como deveria. Mas isso também ocorre com as inúmeras versões do Microsoft Office. Um documento, apresentação ou planilha feito numa versão do Microsoft Office não vai abrir exatamente como deveria em outra versão. Se nem a Microsoft mantém a compatibilidade porque esperar que o Libre Office ou qualquer outra solução seja compatível?

Outra ferramenta que sofre com o preconceito é o Gimp. Não sou especialista em software de editoração, mas as poucas pessoas que conhecem bem Photoshop e buscaram aprender o Gimp dizem que o programa é tão bom quanto o Photoshop, mas que é preciso gastar um tempo aprendendo a mexer na ferramenta. E é essa “perda” de tempo que impede que o Gimp seja usado no lugar do Photoshop. Já vi gente exigindo o Photoshop para apenas criar um Wordart no Microsoft Office, copiar para o Photoshop, mudar alguns tons de cor e salvar no padrão “Photoshop” só para dizer que foi feito numa plataforma de editoração especializada. O Gimp poderia muito bem ter sido usado.

Uma das vantagens do Linux em relação ao Windows é que ele não contém vírus. Alguns críticos dirão que todo sistema operacional contém vírus, mas se formos buscar o termo técnico que define vírus você verá que ele não existe no Linux. O que existe são malware. Vírus é um tipo de malware. Para um sistema ser classificado como vírus ele precisa se replicar sem qualquer interação com o usuário. Se o usuário precisa clicar em algo, abrir um documento ou fazer qualquer outra ação, então isso não é virus. Pode ser worm, backdoor, etc. Mas isso é outra questão. O que acontece na prática é que o número de malware para Linux ainda é muito pequeno, e seu alcance é limitado. Geralmente a instalação padrão do Linux é mais segura do que a instalação padrão do Windows. Não quero dizer com isso que o Linux é mais seguro do que o Windows. A segurança depende de quem configura e/ou usa o sistema.

Agora que você viu as vantagens e desvantagens do Linux, vamos falar um pouco sobre os mitos e verdades do sistema nos próximos artigos.



quarta-feira, 3 de maio de 2017

O que é Linux?

O primeiro programa a ser instalado em um computador é o sistema operacional. Há vários sistemas operacionais, como o Windows, o Mac OSX e o Android. Esse sistema é o responsável por todos os processos de entrada e saída do computador. Ele é o gerente do sistema. Quando você manda algum documento para a impressora, quem na verdade controla esse processo é o sistema operacional. É esse sistema que faz a comunicação entre as aplicações (editores de texto, planilhas, navegadores, players de música e vídeo, etc) e o hardware (impressora, teclado, drive de dvd, placa de som, rede,etc). Portanto, as aplicações precisam ser escritas para o sistema operacional, e o hardware tem que ser compatível com ele.

Linux é um sistema operacional compatível com o Unix, amigável e completo. Ele é multiplataforma, ou seja, roda em muitos tipos de hardware, como Intel, Risc, Spark, Arm e até em relógios de pulso. Ele está presente tanto nos computadores mais rápidos do mundo como em pequenos smartphones. Você o encontra tanto em grandes servidores de internet quanto em desktops domésticos. Ele é encontrando tanto na estação espacial quanto em submarinos nucleares, usinas atômicas e hidroelétricas. Ele está por trás de grandes sites como o Google e a Amazon, bem como em sistemas internos de pequenas empresas.

O Linux, assim como outros sistemas operacionais modernos, é multitarefa, ou seja, consegue administrar vários programas ao mesmo tempo. Também é multiusuário, conseguindo manter várias pessoas conectadas ao sistema sem que seus processos e arquivos entrem em conflito. 

Mas o grande diferencial do Linux é que ele é um software livre.


Sofware livre

O grande diferencial do Linux é que ele não é proprietário. Ele é um software livre. O conceito por trás do software livre está baseado em 4 liberdades que o software proprietário não tem.
  1. Pode ser instalado em qualquer equipamento, para qualquer finalidade. Você não precisa pedir permissão para instalar o programa, nem dizer em quantos equipamentos ele será instalado. Não importa para que ele será usado. Um software livre não pode ter nenhum tipo de restrição ou limitação baseada no tipo de hardware, local ou propósito de sua utilização. O mesmo programa pode ser instalado tanto em um super servidor de uma multinacional como em um smartphone de um estudante.
  2. Pode ser estudado por qualquer pessoa. Para ser livre o programa precisa ser fornecido junto com o seu código fonte para que seja possível saber como ele é feito.
  3. Pode ser modificado por qualquer pessoa. Qualquer pessoa que entenda de programação tem autorização para modificar o programa a seu gosto, quer seja para adicionar uma nova funcionalidade, quer seja para alterar uma função existente. Todas as alterações também deverão ser livres.
  4. Pode ser copiado e distribuído livremente. Todo software livre pode ser copiado, transferido e distribuído livremente sem que isso seja considerado pirataria. 
As únicas restrições são que os créditos precisam ser mantidos, ou seja, o nome do autor original do programa não pode ser retirado do código fonte, bem como o tipo de licença que precisa ser mantido em todas as alterações feitas. Não é permitido pegar um programa livre, alterá-lo e disponibilizar a versão alterada como um software fechado. 


Mas o que é Código Fonte?

Talvêz você esteja se perguntando o que é Código Fonte. Para exemplificar isso vamos imaginar um bolo. Aquele bolo que só a sua avó faz e que ninguém consegue fazer igual. Só ela tem a receita de quanto vai de farinha, quanto de açúcar, quanto leite, e qual o igrediente secreto que ninguém sabe. Se esse bolo for um “Bolo Livre”, então a sua avó disponibiliza a receita do bolo. Essa receita contém todos os igredientes e suas respectivas quantidades, quais procedimentoe deverão ser feitos e qual a sequência correta, por quanto tempo o bolo deverá ficar no forno, etc. Assim qualquer pessoa poderá não só fazer o bolo como alterá-lo para deixá-lo mais doce se assim desejar. Mas se o bolo for “Proprietário” então a receita vai morrer junto com sua avó. 

Todo software é escrito em linguagem humana inteligível (pelo menos para os programadores!). Mas o computador não entende essa linguagem. Por isso, todo programa precisa ser traduzido para uma linguagem que o equipamento entenda. A esse processo chamamos de “Compilação”. Abaixo um trecho de um programa escrito em linguagem C.

void desenha_campo() //desenha as paredes
{
int z; // variavel auxiliar para desenhar
for(z=0;z<j;z++) // desenha parede de cima horizontal
{
irparaxy(z,0);
printf("%c",16);
Sleep(10);
}
for(z=0;z<i;z++) // desenha parede da direita vertical
{
irparaxy(j,z);
printf("%c",31);
Sleep(10);
}

Agora um trecho do programa já compilado.

uޅ��#\�B#n�B#"�B#
�J�B#"tD��#�##��uˍ�&�#"�B#��[^_Ív��#�O������&�#\��#뒐��&��닃�#h�#h'#j#��\��#�ǍP#�"뫹#�#����UWVS��0�l$L�\$He�#�D$ 1��L$D�|$T��)؃�#�L$#h�#h'#P��\�\$$��#9݉#�L$
��1ۉ���'�B#��#�D$#�##�D#��T$#9�����##p���t.�#h���u\��#Vh�Sj#�������#���##�#���#�v�>����������|$#e3=#����,[^_]Í��D$#��D$ PV�������#�źM#�D$#����T$
��6���U�T$#R�t$\Ph#j#�A�����#h�#h'#U��\��#�M�������#�D$#PSV�#�����
��h##h'#V�l\��#��t5�D$#����9������&�O]�r��������#���1�1��������
��������f�f���#RP�������#��t�8t
��
���#h##h3P��[��
h$#h3j#��Z�.��#f�#��

É por isso que um programa precisa ser livre, para poder ser alterado por qualquer pessoa. Somente quem tem o código fonte original poderá alterar o programa. O Windows, o Microsoft Office, o teu antivírus e a maioria dos programas que você usa no Windows são softwares proprietários. 

Mas qual é melhor, Linux ou Windows? Essa e outras perguntas eu vou responder nas próximas postagens. 

sexta-feira, 28 de abril de 2017

Dansguardian: Filtro de conteúdo web dinâmico

Quem administra um filtro de conteúdo, como o Squid ou  Isa Server, sabe como é chato ficar bloqueando e liberado sites. Basicamente, existem 4 formas de administração de filtro de conteúdo:
  • Tudo bloqueado: todos os sites são bloqueados por padrão, sendo liberados apenas os necessários;
  • Tudo liberado: todos os sites são liberados por padrão, sendo necessário bloquear site a site;
  • Por categoria: os sites são liberados por categoria, sendo que, geralmente, um parceiro cuida do cadastramento e categorização dos sites;
  • Dinâmico: é aqui que entra o Dansguardiam
Apesar do Dansguardian poder trabalhar com as 4 formas, o seu filtro dinâmico é o grande diferencial. Todo o site é analisado e para cada tipo de palavra ou característica encontrada uma apontuação é acrescentada. Por exemplo, se achar uma palavra "sexo" ele soma 30. Se achar "anal" soma mais 40. Ao final, se a página atingiu um valor pré-definido o site é bloqueado. Inteligente, não?

Você pode criar grupos de usuários com limites diferentes. Quanto maior o limite, mais liberal é o acesso. Você também pode criar listas brancas e negras para sites, URL, domínios, IP, usuários, expressões regulares, mimetypes, extensões de arquivos e muitos outros. E também pode fazer com que todo o tráfego seja verificado por um antivírus.

Se você usa o Squid, pode instalar o Danguardiam na mesma máquina e direcionar os seus usuários para utilizarem a porta 8080, ao invés da 3128. O Dansguardiam envia as solicitações para o Squid, e após o site passar pelas regras do teu Squid, Dansguardian entra em ação. No print abaixo, o site não está explicitamente bloqueado, mas ele foi bloqueado dinamicamente pelo Dansguardian.



quarta-feira, 15 de março de 2017

Alocação de endereços IPv4 na América Latina fica ainda mais restrita

A terceira e última fase para alocação dos poucos endereços IPv4 ainda disponíveis na América Latina e Caribe, conforme definido na política regional de esgotamento do protocolo, já começou. Desde ontem, alocações ou designações de recursos IPv4 para organizações que já tiverem recursos IPv4 alocados ou designados pelo LACNIC ou por entidades responsáveis por registros nacionais como o NIC.br (Núcleo de Informação e Coordenação do Ponto BR) não serão mais realizadas . Significa que essas empresas não podem mais solicitar  alocações adicionais.

O objetivo é garantir que empresas que estejam entrando no mercado agora, e necessitem endereços IPv4 para iniciarem seus serviços na Internet, ainda possam receber uma quantidade mínima deles (1024). Há serviços pensados na sua implementação somente em IPv4, assim como existem equipamentos mais baratos, usados por pequenos provedores Internet ou empresas privadas, sem suporte IPv6. Nesses casos, a solução é usar IPV4 ou implementar, quando possível tecnicamente, um mecanismo de tradução (um NAT).

"Empresas entrantes que, justificadamente, demonstrem a necessidade de uso de endereços IPv4, devem se dirigir ao Registro.br, que fará a análise dessa necessidade de acordo com as regras para alocação em vigor desde 2014", explica Ricardo Patara, gerente de Recursos de Numeração do NIC.br. 

Na América Latina existem ainda 4,7 milhões de endereços IPv4 que serão distribuídos somente para novos solicitantes.

É importante destacar que esse momento já vinha sendo anunciado e esperado há bastante tempo, mas não deixa de ser um marco importante.

O estoque de endereços IP é um recurso finito, limitado a quatro bilhões de endereços na versão 4, e o crescimento de usuários e serviços na Internet implicou naturalmente em um consumo mais rápido desses recursos, mesmo com todas as medidas técnicas paliativas adotadas desde 1996. A solução para o contínuo crescimento da rede é o uso do protocolo IP na versão 6 (IPv6), que tem um enorme espaço de endereçamento, de tamanho adequado para atender por muito tempo as necessidades futuras da Internet.

"Mesmo aqueles que receberem um endereço IPV4 agora, precisarão começar a fazer a transição para o IPv6", explica Patara.

Vale lembrar que, hoje,  as regras para alocação de IPv6 são mais acessíveis que a de endereços IPv4. Se você já tem um endereço IPv4, basta solicitar o endereço IPv6, por exemplo. A alocação será imediata. Não há necessidade de fazer nada além do pedido.

Solicitações de endereços IPv4 adicionais, aprovadas antes do esgotamento dos 4 milhões de endereços disponíveis para este fim, podem ser atendidas até o início de março, segundo Patara. Outras, ainda em análise, possivelmente não, a menos que alguma das aprovadas aguardando documentação acabe sendo devolvida. 

segunda-feira, 2 de janeiro de 2017

Futurologia

Como de costume, no fim do ano faço um artigo mostrando o que vai acontecer na área de TI (e em outras áreas também) nos próximos anos. Essas minhas previsões são baseadas em artigos técnicos que li ao longo dos anos.

Primeiro vamos ver as previsões que fiz há uns anos atrás. Será que se cumpriram?

  • Aumento dos dispositivos móveis, como tablet e smartphones;
  • Aumento da conectividades móvel;
  • Uso intenso na nuvem para armazenamento e processamento;
  • Uso mais frequentes nas empresas de equipamentos particulares;
  • Popularização da rede 4G;
  • Jogos sociais;
  • Fim das transmissões de TV analógica;
  • Maior uso de video online;
  • Maior uso de drones;
  • Uso de realidade virtual;
  • Televisores com resolução de 4K;
  • Queda no uso dos desktops;
  • Dispositivos móveis sendo usados para fazer pagamentos;
  • Robôs em Marte;
  • São Paulo terá 400Km de ciclovias.


A maioria dessas previsões foram feitas anos antes delas começarem a aparecer para o público geral. Então, vamos às previsões para os próximos anos.

Para esse ano
  • Vai começar a faltar o índio, componente usado nas telas touchscreen. Com isso, tecnologias com a da Kinect deve crescer.
  • O Andoid vai alcançar 74% do mercado de smartphone, contra 21% do IOS. Aqui nenhuma novidade.
  • A Tim deverá alcançar 50% do território brasileiro com a rede 4G.
  • Metade da população mundial terá um smartphone.
  • Fim do suporte ao Windows Vista (alguém aqui ainda usa?).
  • Aumento de aplicativos de realidade aumentada, sistemas cognitivos e computadores com sensores de odores.
  • Maior uso de redes sociais e aplicativos em nuvem.
  • Internet residencial de 100Mb.
  • Entregas com drones (pelo menos nos países mais desenvolvidos).
  • Fim do suporte ao Red Hat 5.
  • A Nasa fará testes com foguetes destinados a missões à Marte
  • Teremos viagens turísticas em volta da Lua.
  • Liberação do contraceptivo masculino
  • Nascimento de bebês com DNA de duas mães.


Em 1 ano
  • A internet das coisas começará a dar lucro.
  • Uso do Facebook vai dominuir.
  • 50% dos softwares de empresas serão livres.
  • Testes com a rede 5G.
  • A média de velocidade da banda larga no Brasil seré de 25Mb.
  • Todos os aviões da Gol terão Internet para seus passageiros.
  • Surgimento de smartphone com tela de 11K.
  • 30% do comércio da China será online.
  • A China será a maior potência econômica mundial.
  • Inauguração do trem bala brasileiro.
  • Fim da transmissão de TV analógica no Brasil.
  • 50% das vagas da USP serão destinadas a alunos da rede pública.
  • A Nissan deve comercializar carros autônomos.
  • Vacina contra Dengue.
  • Brasil deve voltar a crescer.
  • Reinauguração da base brasileira na Antártida.
  • Iluminação por bactérias.
  • EUA devem criar o super computador mais veloz do mundo.
  • Empresa Mars One enviará sonda para Marte.
  • Jato supersônico particular.


Em 2 anos
  • 95% das cidades brasileiras terão conexão por fibra ótica.
  • Uma rede de satélites deverá disponibilizar internet para todo o mundo.
  • Lançamento do Google Drive para Linux.
  • Falta de profissionais de informática capacitados.
  • O uso de dispositivos móveis para acesso à internet será 50% maior do que em 2016.
  • 59% da população mundial terá um smartphone.
  • Uso maior da energia solar.
  • Carros usarão outros combustíveis além da gasolina, álcool e dísel.
  • Aviões supersônicos comerciais.
  • Suíça deverá ter carteiros robôs.


Em 5 anos
  • Sistemas ligados ao corpo monitorarão a saúde de pacientes remotamente.
  • Haverá 21 bilhões de objetos conectados na internet.
  • Maior uso da nuvem e virtualização.
  • Todos dispositivo eletrônico estarão conectados na internet de alguma forma.
  • As pessoas terão equipamentos particulares conectados na rede da empresa.
  • Fim do suporte ao Windows 7.
  • Sistemas inteligentes em casa.
  • Lançamento da rede 5G.
  • Uso intenso de Inteligência Artificial.
  • Fim do suporte ao Red Hat 6.
  • Fim do IPv4 na África.
  • Haverá 150 milhões de carros conectados.
  • 86% dos habitantes da América Latina terá um smartphone.
  • Maior uso de carros elétricos e open source.
  • 90% da população brasileira morará em regiões urbanas.
  • China será o maior exportador do mundo.
  • Polícia usará Vants para monitoramento.
  • Voltarão as viagens para a Lua.
  • As pessoas passarão a gravar todas as conversas.
  • Televisão com 8K.
  • Mars One comecará a construir unidades de apoio, suprimento e moradia em Marte.
  • 70% da população mundial terá um dispositivo móvel.
  • Internet das coisas e sistemas cognitivos serão corriqueiros.
  • Todas as cidades da Europa terão Wifi gratuíto.
  • Uso intenso de realidade aumentada.
  • 40% dos funcionários terão a saúde monitorada via Internet das coisas.
  • Surgimento de redes exclusivamente IPv6.
  • Brasil será o quinto maior mercado mundial.
  • A banda larga doméstica de 100Mbps será normal no Brasil.
  • Uso intenso de carros elétricos e autônomos.
  • Exploração das luas de Júpiter.
  • Operações à distância.
  • Maior uso de robôs.
  • A Nigéria será o terceiro país mais populoso do mundo.


Em 10 anos
  • Lentes de contato projetarão imagens de realidade aumentada.
  • Surgimento de dispositivos controlados pela mente.
  • Haverá 1 trilhão de dispositivos conectados na internet.
  • 80% da população mundial terá acesso à internet.
  • Teremos espaço ilimitado na núvem.
  • Todas as casas européias terão acesso à internet com velocidade de 100Mbps.
  • Haverá internet doméstica de de 500Mbps.
  • Computadores domésticos terão 20Tb de dados.
  • Surgimento de processadores com 1 terahertz.
  • Fim do suporte ao Windows 10.
  • Primeira tripulação da Mars One chegará em Marte.
  • SpaceX deve enviar sondas para Marte.
  • A estação espacial ISS será desligada.
  • Surgimento de caminhões autônomos.
  • 10% dos veículos serão autônomos.
  • A profissão de motorista deixará de existir.
  • Compartilhamento de carros será algo normal.
  • Maior uso de impressoras 3D.
  • Poucas pessoas terão carro devido a empresas como Uber e ao compartilhamento de veículos.
  • Uber terá carros voadores (será?)
  • Celulares brasileiros precisarão de mais um dígito.
  • Robôs para uso doméstico.
  • Dois terços da população mundial terá falta de água potável.
  • Surgimento de robôs destinados à atividades sexuais.
  • 10% do PIB global será baseado em moedas virtuais.
  • Diminuição das lojas físicas, inclusive dos shoppings.
  • China será a maior economia do mundo.
  • Surgimento dos ciborgues.


Em 20 anos
  • Será possível fazer backup da mente.
  • Surgimento de redes de comunicação quântica.
  • Largo uso da Inteligência Artificial.
  • Surgimento de sistemas controlados pela mente.
  • Surgimento dos computadores quânticos.
  • Nasa enviará pessoas para Marte e para um asteróide.
  • Começo da contrução de cidade no espaço.
  • Etanol será mais usado do que a gasolina no Brasil.
  • Brasil terá 49 milhões de automóveis.
  • O mundo terá 8 bilhões de habitantes.
  • O planeta vai ter um déficit de água, alimento e energia.
  • Criação da vacina contra AIDS.
  • América Latina terá 720 milhões de habitantes.
  • Suécia não terá mais papel moeda.
  • As casas reciclarão seu próprio lixo.
  • A Índia será o país mais populoso do mundo.
  • População brasileira começará a diminuir.
  • Aumento do uso da energia nuclear.
  • Haverá 66 milhões de pessoas dementes no mundo.
  • Faremos exames simples ao usarmos o banheiro.
  • Implantes vão aumentar nossa capacidade auditiva e visual.
  • Haverá voos não tripulados.
  • Casas e escritórios terão monitores em lugar de janelas transmitindo imagens do mundo todo.
  • Dormiremos em conchas acústicas.
  • A maioria dos carros serão elétricos.


Em 50 anos
  • Bug do timestamp;
  • Será possível fazer download e upload de/para o cérebro;
  • Surgimento da rede 6G.
  • Haverá links domésticos de 5Gbps.
  • Computadores domésticos terão 500Tb de dados.
  • Surgimento de processadores com 1 petahertz.
  • Surgimento de máquinas que pensam como seres humanos.
  • Será possível reviver pessoas congeladas por criogenia.
  • Haverá um conselho mundial das democracias na ONU.
  • Será possível fazer escolhas genéticas.
  • Construção de prédios com mais de 1 kilômetro de altura.
  • O nível do mar deve subir 30 centímetros.
  • Os oceanos terão mais plástico do que peixes.
  • Todos os carros serão autônomos.
  • Será possível fazer clonagem humana.
  • A Amazônia será formada mais por cerrado do que por floresta tropical.
  • Haverá uma base em Marte.
  • Volta do cometa Halley.
  • Haverá uma falta de recursos naturais para suprir toda a humanidade.
  • Haverá 120 milhões de pessoas dementes no mundo.
  • O Brasil será a quarta maior economia mundial.
  • O mundo terá 9 bilhões de pessoas.
  • A América Latina terá 780 milhões de habitantes.
  • O Brasil terá 240 milhões de habitantes.


Em 100 anos
  • Faremos exames simples ao escovarmos os dentes.
  • O mundo terá 11 bilhões de habitantes.
  • A temperatura média mundial poderá ser 5 graus mais alta.
  • O nível do mar subirá meio metro.
  • Metade da superfície da Terra será árida.
  • Um asteróide passará perto da Terra.

terça-feira, 29 de novembro de 2016

VI Semana de Infraestrutura da Internet no Brasil

Entre os dias 5 e 9 de dezembro de 2016 ocorrerá a VI Semana de Infraestrutura da internet no Brasil. 

NIC.br e CGI.br organizam a sexta edição do evento que discutirá temas diretamente ligados à infraestrutura da Internet no Brasil. Internet Exchanges e Engenharia e Segurança de Redes serão assuntos debatidos nessa edição. 

Local: Hotel Blue Tree Premium Morumbi, Avenida Roque Petroni Junior, 1000 - Brooklin, São Paulo, SP.

Mais informações em http://nic.br/semanainfrabr/

quinta-feira, 17 de novembro de 2016

Entendendo a log do Squid

Agora vamos entender um pouco sobre os campos da log. Como exemplo, vamos ver um trecho do arquivo /var/log/squid/access.log.

1385485324.773     21 172.20.1.8 TCP_MISS/200 466 HEAD http://download.windowsupdate.com/v9/1/windowsupdate/b/selfupdate/WSUS3/x64/Other/wsus3setup.cab? – DIRECT/200.143.247.11 application/octet-stream
1385485324.773    694 172.20.16.75 TCP_CLIENT_REFRESH_MISS/200 70337 GET http://www.moodlelivre.com.br/images/stories/banner-propaganda/formacao_moodle.jpg – FIRST_UP_PARENT/localhost image/jpeg
1385485324.790    131 172.20.16.75 TCP_CLIENT_REFRESH_MISS/200 3992 GET http://www.moodlelivre.com.br/media/k2/users/252.jpg – DIRECT/66.7.220.108 image/jpeg
1385485324.791    147 172.20.16.75 TCP_CLIENT_REFRESH_MISS/200 4144 GET http://www.moodlelivre.com.br/media/k2/users/252.jpg – FIRST_UP_PARENT/localhost image/jpeg
1385485324.833   2714 172.20.16.89 TCP_MISS/200 1146 GET http://nxtck.com/act.php? – DIRECT/4.31.216.111 text/javascript
1385485324.833    382 172.20.100.15 TCP_REFRESH_UNMODIFIED/304 400 GET http://tag.navdmp.com/tm13574.js – DIRECT/108.168.143.94 -
1385485324.867   2748 172.20.16.89 TCP_MISS/200 1299 GET http://nxtck.com/act.php? – FIRST_UP_PARENT/localhost text/javascript
1385485324.867    416 172.20.100.15 TCP_REFRESH_UNMODIFIED/304 551 GET http://tag.navdmp.com/tm13574.js – FIRST_UP_PARENT/localhost -
1385485324.930     62 172.20.18.72 TCP_IMS_HIT/304 396 GET http://jsuol.com/c/modernizr/modernizr.js – NONE/- application/javascript
1385485324.942    109 172.20.18.72 TCP_REFRESH_UNMODIFIED/304 400 GET http://esporte.uol.com.br/belas-da-torcida/css/styles.css? – DIRECT/200.147.68.10 -
1385485324.942     91 172.20.18.72 TCP_REFRESH_UNMODIFIED/304 584 GET http://imguol.com/c/_layout/v1/_geral/icones/logo-uol-2.png – DIRECT/200.221.7.95 image/png
1385485324.942    207 172.20.18.72 TCP_MISS/204 629 GET http://pagead2.googlesyndication.com/pagead/gen_204? – DIRECT/173.194.118.77 text/html
1385485324.942    885 172.20.16.75 TCP_CLIENT_REFRESH_MISS/200 96585 GET http://www.moodlelivre.com.br/images/stories/banner-propaganda/banner_servidor_moodle.jpg – DIRECT/66.7.220.108 image/jpeg
1385485324.942    299 172.20.19.58 TCP_REFRESH_UNMODIFIED/304 513 GET http://ads.img.globo.com/RealMedia/ads/Creatives/globocom/174732_20131114_071048.809/300x250_enfeites_50.swf/1384431601 – DIRECT/186.192.82.180 application/x-shockwave-flash
1385485324.948    164 172.20.16.75 TCP_CLIENT_REFRESH_MISS/200 613 GET http://www.moodlelivre.com.br/templates/ja_nex/images/bg-menu.gif – DIRECT/66.7.220.108 image/gif
1385485324.948    172 172.20.18.72 TCP_MISS/204 629 GET http://pagead2.googlesyndication.com/pagead/gen_204? – DIRECT/173.194.118.77 text/html
1385485324.960     10 172.20.250.19 TCP_IMS_HIT/304 372 GET http://www.google-analytics.com/ga.js – NONE/- text/javascript
1385485324.965    170 172.20.18.72 TCP_REFRESH_UNMODIFIED/304 551 GET http://esporte.uol.com.br/belas-da-torcida/css/styles.css? – FIRST_UP_PARENT/localhost -
1385485324.965    133 172.20.18.72 TCP_REFRESH_UNMODIFIED/304 845 GET http://imguol.com/c/_layout/v1/_geral/icones/logo-uol-2.png – FIRST_UP_PARENT/localhost image/png
1385485324.965    908 172.20.16.75 TCP_CLIENT_REFRESH_MISS/200 96737 GET http://www.moodlelivre.com.br/images/stories/banner-propaganda/banner_servidor_moodle.jpg – FIRST_UP_PARENT/localhost image/jpeg

O primeiro campo é o timestamp em que a transmissão foi completada. Para converter esse horário, você pode usar o comando abaixo.

# date –date=’@1385485324.942′


O segundo campo é o tempo, em milisegundos, que a solicitação demorou.

O terceiro campo é o cliente que fez a requisição.

O quarto campo é a ação que o proxy tomou. As principais ações são:
TCP_HIT : A solicitação estava em cache;
TCP_MISS: A solicitação não estava em cache;
TCP_DENIED: A requisição foi negada.

O quinto campo é o tamanho, em bytes, da requisição.

O sexto campo é o método usado, que pode ser GET, POST, PUT, etc.

O sétimo campo é a URL solicitada.

O oitavo campo contém o nome do cliente. Por padrão ela vai mostrar “-”, a menos que “ident_lookup on” esteja configurado no arquivo /etc/squid3/squid.conf.

O nono campo contém informações que dizem se o proxy é quem está fazendo essa solicitação diretamente, ou se essa requisição veio de outro proxy. Pode também conter o ip de destino da requisição.

O último campo diz o tipo de arquivo baixado (txt, html, imagem, etc).

Para mais informações, consulte o site http://www.linofee.org/~jel/proxy/Squid/accesslog.shtml

quinta-feira, 10 de novembro de 2016

Habilitando a log de acessos do Squid

Continuando nossa série de artigos, vamos ver hoje o que os nossos usuários estão acessando.

Todas as ações do Squid podem ser armazenadas para análise. Os sites que os usuários acessam, a eficiência do cache, enfim, tudo pode ficar registrado em log. Para habilitar a log, no Squid, basta adicionar a linha abaixo no arquivo squid.conf.

access_log /var/log/squid3/access.log squid

Após adicionar a diretiva, reinicie o Squid.

# systemctl force-reload squid3

Agora podemos ver os acessos usando o comando tail.

# tail -f /var/log/squid3/access.log
1385397551.682 22 172.20.17.114 TCP_REFRESH_UNMODIFIED/304 489 GET http://h.imguol.com/1311/25transitoh.jpg – DIRECT/200.147.68.8 image/jpeg
1385397551.684 761 172.20.15.60 TCP_MISS/200 97006 GET http://dataformtecnologia.com.br/images/slider-img3.jpg – FIRST_UP_PARENT/localhost image/jpeg
1385397551.687 18 172.20.17.204 TCP_MISS/200 3703 GET http://fotos.vejoaovivo.com.br/thumbs/948.jpg? – DIRECT/177.72.244.6 image/jpeg
1385397551.695 375 172.20.18.210 TCP_MISS/200 1039 GET http://ap.lijit.com//www/delivery/retarget.php? – DIRECT/67.217.177.30 image/gif
1385397551.700 9 172.20.17.114 TCP_REFRESH_UNMODIFIED/304 488 GET http://h.imguol.com/1311/25casa2h.jpg – DIRECT/200.147.68.8 image/jpeg
1385397551.702 11 172.20.17.114 TCP_REFRESH_UNMODIFIED/304 488 GET http://h.imguol.com/1311/25skype2h.jpg – DIRECT/200.147.68.8 image/jpeg
1385397551.706 20 172.20.15.10 TCP_REFRESH_UNMODIFIED/304 402 GET http://s.c.lnkd.licdn.com/scds/common/u/img/sprite/sprite_connect_v13.png – DIRECT/200.143.247.17 image/png
1385397551.711 27 172.20.17.204 TCP_MISS/200 4435 GET http://fotos.vejoaovivo.com.br/thumbs/968.jpg? – DIRECT/177.72.244.6 image/jpeg
^C

Podemos usar filtros, como grep e cut, para mostrar os acessos somente de uma máquina específica, ou de um site em especial.

# tail -f /var/log/squid3/access.log | grep 172.20.17.204
1385397676.180 322 172.20.17.204 TCP_MISS/302 686 GET http://go.microsoft.com/fwlink/? – DIRECT/65.55.58.195 text/html
1385397676.388 187 172.20.17.204 TCP_MISS/200 4308 GET http://noticias.br.msn.com/RssWindowsNoticias.aspx – DIRECT/65.55.206.199 text/xml
^C


terça-feira, 18 de outubro de 2016

Configurando o cache do Squid

Além de filtro de conteúdo web, o Squid também pode fazer cache das páginas. Antigamente, quando as páginas eram estáticas e os links de internet eram lentos, isso agilizava e muito o acesso. Mas hoje, com as página dinâmicas, perdeu-se um pouco a utilidade do cache web. Porém, pode-se conseguir que até 15% das páginas acessadas estejam em cache. Um valor em torno de 10% está de muito bom tamanho.

Para configurar o cache inclua as seguintes linhas no arquivo /etc/squid3/squid.conf

acl manager proto cache_object
http_access allow manager localhost

Essas duas linhas dão permissão para a manutenção do cache.

refresh_pattern ^ftp:                    1440    20%    10080
refresh_pattern ^gopher:             1440      0%      1440
refresh_pattern -i (/cgi-bin/|\?)         0      0          4320
refresh_pattern .                              45    40%      4320

Essa linhas são padrão. A última pode ser alterada. Ela diz por quanto tempo os objetos em cache serão considerados válidos (neste caso, 45 minutos). Para mais informações veja http://www.squid-cache.org/Doc/config/refresh_pattern/.

cache_dir ufs /var/cache/squid 9000 16 8

Essa linha diz onde será armazenado o cache (/var/cache/squid), qual o seu tamanho (9 Gb), em quantas pastas (16) e, dentro dessas pastas, quantas subpastas serão criadas (8). Dependendo do tipo de acesso que você permite em sua rede, você pode alterar o parâmetro ufs. Para mais informações veja http://www.squid-cache.org/Doc/config/cache_dir/.

cache_mem 9000 KB

Qual o tamanho máximo dos arquivos que serão guardados em cache (9 mb) .

cache allow all

Permite o acesso ao cache.

quarta-feira, 21 de setembro de 2016

Exemplo de uma configuração real do Squid

Abaixo um trecho de uma configuração real do Squid. As linhas estão numeradas para podermos descrever o que cada uma faz.


  1. acl transito time 05:00-09:00
  2. acl cameras dstdomain -i '/etc/squid3/cameras.lst'
  3. acl CONNECT method CONNECT
  4. acl site_proibido dstdomain -i '/etc/squid3/site_proibido.lst'
  5. acl url_proibida url_regex -i '/etc/squid3/url_proibida.lst'
  6. acl ip_suporte src 172.20.120.0/24
  7. acl ip_liberado_dropbox src 172.20.250.50
  8. acl ip_liberado_dropbox src 172.20.80.7
  9. acl ip_liberado_dropbox src 172.20.30.27
  10. acl ip_liberado_4shared src 172.20.110.4/31
  11. http_access deny cameras !transito
  12. http_access deny site_proibido !ip_suporte !ip_liberado_dropbox !ip_liberado_4shared
  13. http_access deny url_proibida !ip_suporte !ip_liberado_dropbox
  14. http_access deny CONNECT site_proibido !ip_suporte
  15. http_access deny CONNECT url_proibida !ip_suporte

Na linha 11 nos bloqueamos (deny) o acesso aos sites da ACL “cameras” (relação de câmeras espalhadas pela cidade e que geram muito tráfego no link) menos (!) no horário das 05:00 até as 09:00. Essas câmeras são usadas pelo telejornal do canal de televisão onde trabalho.

Na linha 12 estamos bloqueando (deny) o acesso aos sites listados na ACL “site_proibido”, menos para a VLAN listada nas ACL “ip_suporte” e para as estações listadas nas ACL ip_liberado_dropbox e ip_liberado_4shared.

Na linha 13 estamos bloqueando (deny) o acesso às URLs que contém as regex listadas na ACL url_proibida, menos para a VLAN do suporte (ip_suporte) e para as estações listadas na ACL ip_liberado_dropbox.

Na linha 14 e 15 estamos bloqueando conexões aos sites site_proibido e url_proibida, menos para a VLAN do suporte. Esse tipo de bloqueio (CONNECT) deve ser feito para sites seguros (HTTPS), visto que, devido a criptografia, o Squid não consegue verificar dentro do pacote se há algum tipo de conteúdo impróprio.

Bem, agora que você já entendeu o jeitão do Squid, aqui vai uma dica: tente deixar o arquivo squid.conf o mais simples possível, pois quanto mais regras existirem, mais difícil será identificar em qual delas está sendo bloqueado o acesso.

segunda-feira, 19 de setembro de 2016

Especificando mais de um objeto em uma ACL do Squid

Se você precisar (vai precisar) especificar mais de uma site em uma ACL, é só usar o parâmetro “-i”. 

acl sites_liberados dstdomain -i ‘/etc/squid3/sites_liberados.lst’

http_access allow sites_liberados

Agora criamos o arquivos /etc/squid3/sites_liberados.lst com os sites que queremos incluir nesta ACL, como no exemplo abaixo.

uol.com.br

google.com
google.com.br

Agora basta reiniciar o Squid e todos os sites estarão liberados. Podemos criar, com isso, categorias de sites e fazer as liberações baseadas nessas categorias. Aliás, antes de partirmos para configurações mais avançadas, precisamos decidir que tipo de política iremos adotar no proxy. Basicamente temos 4 tipos:

Tudo liberado, menos os explicitamente bloqueados. Dependendo do tipo de empresa em que você trabalha, você vai ter que deixar todos os sites liberados e ir bloqueando os acessos a medida que eles aparecem. O problema dessa abordagem é que gasta-se muito tempo analisando logs de acesso e entrando em sites para ver se seu conteúdo é ou não permitido. 

Tudo bloqueado, menos os explicitamente liberados. Em empresas que possuem uma política menos permissiva, bloquear todos os acessos e ir liberando a medida que os usuários forem solicitando pode ser a melhor opção. Porém, isso gera um grande estresse, principalmente no começo, quando uma enorme quantidade de solicitações de liberações de sites surgem. Imaginem ter que liberar site a site em uma pesquisa no Google!

Bloqueios e liberações por categorização dos sites. A idéia desta abordagem é ter uma equipe (ou empresa terceirizada) para categorizar todos os sites. Algumas categorias comuns seriam: redes_sociais, portais, notícias, sexo, namoro, webmail, stream, videos, etc. Dessa forma você pode liberar e bloquear sites por categoria. Lembrando que sites sem categoria, geralmente, devem ser bloqueados. Essa abordagem tem como inconveniente ter uma equipe bem treinada para categorizar os sites, ou confiar na categorização feita por empresa terceirizada. 

Filtro dinâmico. Essa abordagem envolve um mecanismo que analisa todo o site e, de acordo com critérios pré-estabelecidos, pontua a página. Por exemplo, se achar a palavra “sexo” soma 50 pontos; achando um palavrão soma mais 30. Se o site atingir uma determinada pontuação o site é bloqueado automaticamente. Isso permite que se libere sites como Facebook bloqueando os perfis impróprios. O único inconveniente dessa abordagem é a possibilidade de surgirem falsos-positivos, o seja, um site válidos ser classificado como indevido. 

O ideal é utilizar as 4 políticas, tendo sites explicitamente bloqueados e liberados, categorização de sites e filtros dinâmicos. Veremos isso nos próximos posts.

quinta-feira, 15 de setembro de 2016

Dando os primeiros passos com Squid

Quem começa a mexer com Squid logo sente dificuldade para entender o jeito de configurá-lo. O Squid trabalha com ACL (Access Control List). Encare as ACLs como os personagens que farão parte do Squid. Para liberar um acesso a um site eu preciso criar uma ACL para o site, bem como para as máquina que terão acesso a ele. A forma de especificar uma ACL é a seguinte:

acl nome tipo valor

No port anterior criamos uma ACL chamada "all" que é do tipo src e possui valor 0/0. Abaixo eu descrevo os principais tipos de ACL usadas no Squid.


  • src - IP, intervalo de IP, ou rede de origem (172.20.120.4, 192.168.0.0/16, 10.0.0.1-10)
  • dst - IP, intervalo de IP, ou rede de destino
  • dstdomain - domínio (uol.com.br, blogspot.com, etc)
  • time - data e horário (12:01-13:00 : horário de almoço)
  • url_regex - expressão regular encontrada na URL (fazenda.[a-z][a-z].gov.br) 
  • port - porta usada pelo site (80,81,8080)
  • proto - protocolo usado (FTP, HTTP)


Assim, podemos criar regras misturando as ACL. Por exemplo, para liberar o acesso ao Facebook para a rede 10.0.100.0/24 podemos usar as seguintes linhas no arquivo /etc/squid3/squid.conf.

http_port 3128
acl all src 0/0
acl rede_interna src 10.0.100.0/24
acl facebook dstdomain facebook.com
http_access allow rede_interna facebook
http_access deny all

Com as regas acima liberamos o acesso ao domínio facebook.com (mas não ao facebook.com.br) somente para a rede 10.0.100.0/24. Os demais sites estão bloqueados para todos.

terça-feira, 13 de setembro de 2016

Instalação e configuração inicial do Squid

Dando sequência ao assunto do último post, primeiramente temos que instalar o Squid. Não precisa ser no gateway de rede, mas geralmente as pessoas configuram assim. A última versão é a 3, e ela contém algumas mudanças em relação aos parâmetros de configuração da versão anterior. 

# apt-get install squid3

Ao ser instalado, o Squid cria um “pequeno” arquivo de configuração em /etc/squid3/squid.conf. Não se espante com suas 5780 linhas. Embora o Squid tenha muitos recursos, seu arquivo de configuração original também é seu arquivo de documentação. Portanto é recomendado salvar o arquivo original e criar um novo. Primeiro, vamos renomear o arquivo original.

# mv /etc/squid3/squid.conf /etc/squid3/squid.conf.orig

Agora, vamos criar um novo arquivo /etc/squid3/squid.conf com o seguinte conteúdo:

http_port 3128
acl all src 0/0
http_access allow all

A primeira linha diz a porta que o Squid ouvirá. A padrão é 3128. A segunda linha contém uma ACL (access control list). Encare as ACLs como os personagens do Squid. O nome da ACL é “all” e é do tipo “src”, ou seja, ip de origem. O parâmetro “0/0” significa qualquer ip. A última linha contém uma http_access, que são onde realmente são permitidos (allow) ou negados (deny) os acessos. Aqui nós estamos permitindo (allow) a qualquer ip (all) acessar qualquer coisa, visto que não especificamos mais nada. 

Agora basta reiniciar o Squid.

# service squid3 force-reload

Neste momento, basta configurar o navegador para usar o proxy, como no print abaixo, alterando o ip conforme a tua rede.




Isso basta para que a navegação passe pelo proxy. Mas não se preocupe com os detalhes, pois vamos entender melhor a configuração do proxy e fazer algumas personalizações nas próximas postagens.

sexta-feira, 9 de setembro de 2016

Introdução ao Squid e Dansguardian

Não adianta aumentar o link de Internet! Seus usuários sempre vão dar um jeito de consumir toda a banda disponível. Se for dia de jogo do Brasil então, esqueça. Você até pode monitorar os acessos com algumas ferramentas que já citei aqui, mas como bloquear um stream de video do Youtube sem bloquear todo o site? Há duas formas: 

  • a) mande embora quem está acessando o conteúdo indevido;
  • b) configure um proxy na rede.


Proxy é um gateway, um sistema que pode analisar todas as camadas do pacote de rede e tomar ações baseadas em regras preestabelecidas. Há muitos tipos de proxy para os mais diversos protocolos, mas o mais comum é o proxy de navegação web, e o proxy web mais utilizado no mundo Linux (e talvez o mais usado em todas as plataformas) é o Squid.

Squid

O Squid pode bloquear sites baseado em:

  • domínio;
  • url;
  • expressões regulares;
  • usuário;
  • ip de origem;
  • ip de destino;
  • dia da semana;
  • hora;
  • tipo de arquivo;
  • tamanho;
  • extensão de arquivo;
  • muitos outros ítens.


Esses ítens podem ser combinados para, por exemplo, permitir que determinado usuário acesse um site em especial somente no horário de almoço. Além disso, o Squid também pode fazer cache dos sites visitados aumentando a velocidade da Internet do ponto de vista do usuário, pois economiza o link. E como se isso não bastasse, há várias ferramentas que podem ser integradas ao Squid de forma fácil, ampliando suas funções.

Nos próximos posts eu vou falar como instalar e configurar o Squid, como personalizá-lo, como fazer acesso autenticado, entre outras coisas. Depois vou falar um pouco do Dansguardian, um filtro de conteúdo dinâmico.

Até lá. 

sexta-feira, 2 de setembro de 2016

Procurando arquivos com Kfind

O ambiente KDE do Linux tem uma aplicação que facilita a procure por arquivos. É o Kfind.


Através de uma interface gráfica é possível pesquisar por tipo de arquivo, por tamanho, data de criação, data de modificação, dono do arquivo, programa que o criou, e até pelo conteúdo dentro do arquivo. Uma mão na roda.

Se você use o Kde, já deve conhecer o Kfind. Senão, instale-o com:


apt-get install kfind


*Artigo anteriormente publicado em  24 de outubro de 2012. Corrigo e atualizado.

quarta-feira, 10 de agosto de 2016

Mudando a tela de login do Debian 8

Você pode mudar aquela tela de login padrão do Debian 8.


Quem controla essa tela é o Display Manager (DM). Há vários DMs disponíveis no Linux, como o GDM, XDM, KDM, LightDM, entre outros. Para alterar a tela de login para o KDM basta instalar o pacote correspondente. 

# apt-get install kdm

Após a instalação uma tela irá perguntar qual DM você vai querer usar.


Basta escolher o KDM e reiniciar o computador. Agora uma tela de login semelhante a esta será apresentada.



Se quiser voltar para o GDM basta alterar o arquivo /etc/X11/default-display-manager. Altere...

/usr/sbin/gdm3

para...

/usr/bin/kdm

segunda-feira, 8 de agosto de 2016

Telas gráficas em script Bash usando Kdialog

Há várias formas de deixar teus scripts Bash com uma cara mais amigável. Uma delas é usando um programa chamado Kdialog.



Kdialog tem telas gráficas para a maioria das funções Bash. No exemplo acima eu uso uma tela do Kdialog para perguntar ao usuário de devemos continuar ou não. O comando é o seguinte:

$ kdialog --yesno "Continuar?"

Depois é só testar a variável $?. "0" significa "Sim" e "1" significa "Não".

Outras telas de exemplo:


























Para usar o Kdialog é necessário instalar o pacote kde-baseapps-bin com o comando abaixo.

# apt-get install kde-baseapps-bin

Para ver as opções do Kdialog e como utilizá-las execute:

$ kdialog


segunda-feira, 1 de agosto de 2016

O que aconteceu com a Linux Magazine?

Durante alguns anos a melhor revista sobre Linux era a Linux Magazine.


Bom contéudo, boas matérias, sempre trazia novidades. Um dia até fui convidado para escrever no blog do site da revista. Para mim foi uma honra! Escrevia sobre redes duas ou três vezes por semana, e de graça.

Comecei a achar estranho quando a revista começou a sumir das bancas. Tive que passar a comprar pelo site, exemplar digital. Um dia comprei um livro de LPI e a Linux Magazine não me entregou. Entrei em contato com o site, mas nada. Acabei apelando para os contatos que tinha lá, disse que era colaborador da revista, que já tinha comprado outros livros, mas nada de solução. Depois de um mês de atraso parei de escrever no blog prá ver se alguém me procurava, mas nada! Ninguém me ligou nem mandou um e-mail. Depois de 2 meses recebi o reembolso. Fiquei sabendo que a revista foi vendida para outra editora pouco tempo depois, mas até agora não lançaram nada. 

Parei com o blog. Deixei prá lá, esqueci. Não achei mais a revista, uma pena! Até que um dia fui mostrar meu blog na revista para uns alunos e me deparei com a seguinte mensagem:



Tentei pelo Chromium e recebi uma mensagem parecida.


Resolvi apagar todas as minhas publicações do site. Deixei apenas uma postagem perguntando o que aconteceu com a revista. Mesmo após alguns dias ninguém me procurou!

O endereço do site é http://linuxnewmedia.com.br/.

O que aconteceu com a revista Linux Magazine?

quinta-feira, 28 de julho de 2016

Pacote de aplicações para KDE

Já que falei do KDE no último poste vou continuar o assunto falando de um conjunto de aplicativos para KDE que vem junto com o pacote kdepim. O pacote kdepim comtém os seguintes programas, entre outros.

Akregator - Agregador de notícias via RSS



Blogilo - Gerenciador de blog (com suporte ao Blogspot e Wordpress).



Kalarm - Gerenciador de alarmes



Kmail - Cliente de e-mail



kontact - É um agregador de todos os aplicativos acima. É parecido com o Outlook.



Para instalar esse aplicativos basta executar, como root, o seguinte comando.

# apt-get install kdepim