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




quarta-feira, 27 de julho de 2016

Ambiente gráfico KDE em português

Um dos ambientes gráficos mais populares no mundo Linux é o KDE.


O KDE é muito bonito e tem muitos recursos, porém não vem por padrão no Debian. Para instalá-lo, basta executar o comando abaixo.

# apt-get install kde-workspace-bin kde-i18n-ptbr

Esse comando vai instalar o KDE e seu pacote de idiomas Português do Brasil.

Ao ser perguntado sobre o Display Manager, pode escolher a opção padrão. Mas se quiser conhecer, escolha KDM. Agora dê boot no computador e experimente esse maravilhoso abiente de trabalho.

terça-feira, 26 de julho de 2016

Olonca Live CD 2016 - Bandit

Desde 2010 eu venho mantendo um Live CD personalizado baseado em Debian e que uso para manutenção e demostração. A versão 2016 acaba de ficar pronta e faz uma homenagem ao Bandit, cachorro de estimação do Jonny Quest, desenho animado que fez muito sucesso aqui no Brasil nos anos 80.



Essa versão funciona com 800 Mb de RAM e CPU 64 bits. Se quiser instalar no disco deverá contar com pelo menos 16Gb de espaço livre. Possui kernel 3.16.

Os seguintes programas estão disponíveis na distro:

Ambientes gráficos
Afterstep 2.2
Blackbox 0.70
Cairo Dock 3.4
Cinnamon 2.2
Gnome 3.14
Lxde 7.2
Openbox 3.5
Window Maker 0.95

Ferramentas de escritório
Dia 0.97
Gimp 2.8
Inkscape 0.48
Libreoffice 4.3
Wine 1.6

Internet
Chromium 51.0
Dropbox 2015.10.28
Evolution 3.12
Filezilla 3.9
Firefox 45.2
Miredo 1.2
Torsocks 2.0

Jogos
Alex4 1.1
Antigravitaattori 0.0.3
Armagetronad 0.2
Balazar3 0.1-10
Extremetuxracer 0.4
Supertux 0.1

Multimedia
Amarok 2.8
Audacity 2.0
Banshee 2.6
Brasero 3.11
Clementine 1.2
Rhythmbox 3.1
Totem 3.14
Vlc 2.2
Xine 0.99
Xmms2 0.8
Xsane 0.998

Segurança
Clamav 0.99
Dsniff 2.4b1
Fail2ban 0.8
Nikto 2.1
Portsentry 1.2
Spamassassin 3.4
Wireshark 1.12

Servidores
Apache2 2.4
Arpwatch 2.1a15
Bind9 9.9
Darkstat 3.0
Fwbuilder 5.1
Icecast2 2.3
Mysql 5.5
Mytop 1.9
Openvpn 2.3
Owncloud 7.0
Postfix 2.11
Pptpd 1.4
Radvd 1.8
Samba 4.2
Sendemail 1.56
Shellinabox 2.14
squid3 3.4
Webmin 1.801




MD5: 540ddd78857a791b92e5b4de09f214b8 

sexta-feira, 13 de maio de 2016

Calculadora no Linux

O Linux possue várias calculadoras para as mais variadas tarefas. A que eu mais uso é o Kcalc.


Além de calculadora normal, o Kcalc também pode ser uma calculadora científica, estatística e para conversão de sistemas numéricos.


Ele ainda trás algumas funções especiais, como os números PI, de Euler, Constante de Plank, etc.



O Kcalc faz parte do ambiente gráfico KDE, mas pode ser instalado em qualquer ambiente através do gerenciado de pacotes da tua distribuição. No Debian e derivados basta utilizar o apt-get.

# apt-get install kcalc

quinta-feira, 12 de maio de 2016

Configure o teclado no terminal texto com kdb-config

Kbd-config é um programa incluído no pacote Console-common. Com ele você pode configurar o idioma e o mapa de caracteres do teclado no terminal texto.

Como root, digite:

# kbd-config

A seguinte tela será mostrada.


Escolha a primeira opção, "Selecionar mapa de teclado da lista de arquiteturas".



Agora escolha "qwerty".


 Escolha o layout do teclado. Aqui no Brasil, usamos "Brazilian". Se você estiver com um teclado sem "ç", use "US American".


Deixe o padrão e escolha "Ok". Agora teste se teu teclado está configurado corretamente.

* Artigo anteriormente publicado no dia 22/07/2013


sexta-feira, 6 de maio de 2016

Editor de textos Kate

O Kate é um editor de texto ao estilo Notepad++. Ele reconhece os mais variados tipos de arquivo e os identa de maneira que facilita a compreensão. Eu o uso para criar arquivos deconfiguração e scripts bash, perl e php. 


Também é possível editar e comparar vários arquivos ao mesmo tempo.


 O Kate é a minha primeira opção quando preciso editar algum arquivo texto, como script e arquivos de configuração. Ele está presente na maioria das repositórios das distribuições Linux e vem junto com o KDE. Caso a tua distribuição Linux não tenha o Kate instalado você pode instalá-lo pelo apt-get.

# apt-get install kate


quinta-feira, 5 de maio de 2016

Moovida, mais uma opção de Central Multimidia

Já mostrei alguns programas que podem ser usados como Central Multimidia, como o Xbmc/Kodi e o BoxeeBox. Agora venho mostrar o Moovida.


Moovida é mais leve que os outros dois e tem uma interface mais enxuta, porém não tem tantos recursos. Mas ainda sim é um boa opção para montar a tua Central Multimidia.

O Moovida está disponível na maioria dos repositórios das distribuições. No Debian e derivados pode-se instalar via apt-get.

# apt-get install moovida

sexta-feira, 29 de abril de 2016

Kaffeine, o tocador de midias do KDE

No Linux existem vários aplicativos para ouvir música e assistir vídeos. O Kaffeine é o player padrão do ambiente KDE, mas pode ser instalado em qualquer ambiente gráfico.


O Kaffeine tem muitos recursos e é bem intuitivo. Para instalá-lo basta usar o gerenciador de pacotes da tua distribuição. Nas distros derivadas do Debian basta digitar, como root, o comando abaixo na linha de comandos.

# apt-get install kaffeine



quarta-feira, 20 de abril de 2016

Gravação de CD e DVD com K3b

Enquanto todos usavam o Nero ou CD Burn para gravar CD e DVD eu já utilizava no Linux o K3b. 


Completo e com várias módulos que podem ser adicionados (como um que torna um CD/DVD de video bootável tornando possível assistir ao video independente do sistema operacional e livre de codecs), o programa pode gravar imagens ISO para o CD/DVD e também pode criar imagens ISO, verificar o MD5, copiar CD/DVD, entre muitas outras coisas.


Para queimar um CD basta selecionar o arquvo ISO e clicar e Start. Você pode controlar a velocidade de gravação (quanto mais lento menor a chance de erro), especificar quantos CD/DVD vai gravar, pode comparar o disco gravado com a imagem ISO orginal, etc.


O K3b faz parte do KDE, mas pode ser instalado com o apt-get.

# apt-get install k3b


terça-feira, 19 de abril de 2016

Fazendo join de arquivos texto

Vamos supor que você tenha dois arquivos como os listados abaixo

$ cat nomes.txt
nome:idade:endereco
renato:41:avenida tal
ricardo:40:rua tal
rodrigo:38:alameda tal
walter:35:chacara tal

$ cat cursos.txt
curso:nome
teste:pedro
oab:renato
lpi:ricardo
fisio:rodrigo

Agora precisamos juntar esses dois arquivos linha a linha de forma que cada pessoa esteja associada com o seu curso.  O comando join faz esse trabalho.

$ join nomes.txt cursos.txt -t: -1 1 -2 2
nome:idade:endereco:curso
renato:41:avenida tal:oab
ricardo:40:rua tal:lpi
rodrigo:38:alameda tal:fisio

Neste comando:

  • "-t:" diz que o separador de coluna é o caracter ":".
  • "-1 1" diz que no primeiro arquivo (-1) deverá ser usado o primeiro campo (1) como referência.
  • "-2 2" diz que no segundo arquivo (-2) o campo referência é o segundo (2).


Reparem que só são mostrados os registros que existem nos dois arquivos. A única exigência é que os arquivos estejam indexados pelo campo referência, algo que pode ser feito com o comando sort.

terça-feira, 29 de março de 2016

Analisando o uso da memória ram com o free

Um dos motivos para a lentidão de um computador é o elevado uso de memória RAM, o que faz com que o sistema operacional use memória virtual (swap). A memória virtual é, na verdade, um arquivo em disco ou uma partição especialmente formatada para isso. Como o disco é, em média, mil vezes mais lento do que a memória RAM, quanto mais memória virtual for usada mais lento o micro fica.


Um dos comandos mais usado em ambiente Linux para verificar o uso da memória ram é o free.

$ free
                               total           used            free               shared    buffers     cached
Mem:                      8226632    7763568     463064          0             265932    4523028
-/+ buffers/cache:   2974608    5252024
Swap:                     0                0                 0

Você pode usar as opções -k (para mostrar os dados em kbytes), -m (megabytes), -g (gigabytes) ou -h (para mostrar os valores na forma "humana"). 

$ free -h
                                  total       used       free     shared    buffers     cached
Mem:                         7,8G      7,4G       434M  0B           259M       4,3G
-/+ buffers/cache:      2,8G      5,0G

Swap:                        0B         0B         0B

Reparem que eu tenho somente 434 Mb disponível. Mas 4,3 Gb estão sendo usados para cache e 259 Mb para buffer. Essas memórias podem ser liberadas caso o sistema precise. Portanto, na prática eu ainda tenho 434 Mb + 259 Mb + 4,3 Gb de memória RAM livre, ou seja, 5,1 Gb. Reparem que meu sistema nem tem memória swap configurada.


Você pode ir analisando o uso da memória a medida que uma aplicação abre. No exemplo abaixo, o parâmetros "-s 5" faz com que o free rode a cada segundo, enquanto que o "-c 5" faz o free parar depois de 5 amostras.

$ free -s 5 -c 5 -m
                                  total       used       free     shared    buffers     cached
Mem:                         8033      7602      430      0             260          4433
-/+ buffers/cache:      2909      5124
Swap:                        0            0            0

                                  total       used       free     shared    buffers     cached
Mem:                         8033      7607      426      0             260          4436
-/+ buffers/cache:      2910      5123
Swap:                        0            0            0

                                  total       used       free     shared    buffers     cached
Mem:                         8033      7624      409      0             260          4453
-/+ buffers/cache:      2910      5122
Swap:                        0            0            0

                                  total       used       free     shared    buffers     cached
Mem:                         8033     7614       419      0             260          4443
-/+ buffers/cache:      2911     5122
Swap:                        0           0             0

                                  total       used       free     shared    buffers     cached
Mem:                         8033      7612      421      0             260          4441
-/+ buffers/cache:      2911      5122
Swap:                        0            0            0

* Artigo publicado em 07/03/2014. Revisto e corrigido.

quinta-feira, 24 de março de 2016

Gerência de processos com top

Top é um programa de gerenciamento de processos mais usado no Linux. Com ele você pode ver quais processos estão rodando, quais estão consumindo mais memória e mais processamento, pode matar um processos, enfim. 

Na sua execução mais simples para chamá-lo pela linha de comandos.

$ top


Podemos notar que temos 234 processos rodando, sendo 233 em estado de sleeping. Podemos classificar a relação pelos campos %MEM precionando a tecla "M", por %CPU usando "P", etc. Tecle "?" para ter uma relação da teclas de atalho, ou use as setas "<" e ">" para ordenar pelo próximo campo. Você também pode congelar, matar e reiniciar um processo usando a tecla "K". Neste caso o top vai perguntar qual sinal você quer enviar. Por padrão será o 15 (Fechar).


É possível também filtrar o top por vários campos. No exemplo abaixo eu listo somente os processos do usuário ricardoolonca.

# top -u ricardoolonca


Ainda é possível dizer de quanto em quanto tempo a tela será atualizada e quantas ocorrências você quer mostrar. 

Conhecer o top é essencial para quem administra um sistema Linux.

quarta-feira, 23 de março de 2016

Curso Administração de Redes com Linux


Caros, 


vou ministrar um workshop baseado no meu livro na editora Novatec. Quem quiser conhecer mais sobre os fundamentos de rede e como trabalhar com rede no Linux essa é uma grande oportunidade.


Data: 14 e 15 de Maio (Sábado e domingo)

Local: Novatec (Av. Cruzeiro do Sul 2463)

Horário: 9h às 18h

Carga horária: 16 horas

Valores do investimento:

Até 04/05: R$ 550,00

Após 04/05: R$ 600,00

Material de apoio: Livro Administração de redes Linux


Sobre o curso
Esse workshop pretende mostrar os conceitos de rede, configurações e como fazer análises de desempenho e de problemas envolvendo redes usando o sistema operacional GNU/Linux. A aula será desenvolvida em forma de palestra e estudo dirigido, abordando-se a teoria e a prática. O Livro Administração de Redes com Linux servirá como guia de consulta rápida para a solução dos exercícios propostos. Aliando a parte teórica e prática dos fundamentos da rede TCP/IP usando o sistema operacional Linux. Após esse workshop, o aluno estará apto a administrar um ambiente de rede usando o Linux.
O workshop será ministrado com aulas expositivas presenciais. Cada aluno deverá ter a disposição um equipamento rodando algum software de virtualização (VirtualBox, VMWare, Hyper V, etc).
A quem se destina este curso?
Estudantes da área de rede, técnicos e analistas que possuem interesse nos fundamentos de rede em sistema operacional Linux.
Pré-requisitos
  • Conhecimentos em informática
  • Familiaridade com ambiente texto (linha de comandos)
Importante: O aluno deverá trazer seu próprio notebook e carregador.
Conteúdo do curso
1.Instalação do Linux
Configuração da interface de rede
Estatísticas da rede
2.O que é um protocolo?
As sete camadas do modelo OSI
As camadas do TCP/IP
3.Camada de rede – Como ela funciona
Diferenças entre Hub e Switch
Monitorando problemas de rede com Arpwatch
Configurando uma bridge
Duas placas de rede trabalhando juntas
4.Camada de Internet – Por que usar endereços IP?
Problemas do IPv4
Endereços privados
Máscara de sub-rede
Dificuldades para calcular sub-redes? Use IPCalc
Endereços de rede e de broadcast
Configurando a rede no Linux
Testando a conexão com ping
O básico do ping
Parâmetros úteis do comando ping
Além do ping com Fping
1000 pings por segundo com Hping3
Ip virtual
Alta disponibilidade com ucarp
Roteamento
5.Resolução de nomes
Funcionamento do DNS
Comandos úteis para a resolução de nomes
Nomes Netbios X nomes DNS
Servidor DNS
6.DHCP e seu funcionamento
Introdução ao DHCP
Funcionamento do DHCP
Instalação e configuração básica
Testes e análises
Reservando IP
Dhcrelay
7.Camada de Transporte
Conceitos
Pesquisando portas locais com netstat
Pesquisando conexões locais com ss
Pesquisando portas remotas com Nmap
Um pouco mais de Nmap
Como testar a conexão a um serviço?
Medindo a taxa de transferência com iperf
8.Firewall Iptables
Funcionamento de um firewall
Stateless x Statefull
Instalando o iptables
Liberando acessos
Especificando IP de origem e destino
Especificando o tipo de protocolo
Trabalhando com a chain FORWARD
Especificando as interfaces nas regras de firewall
Nat (Network Address Translator)
Salvando e restaurando as regras
Mais informações sobre o Iptables
9.Monitorando o uso do link
Iptraf
Darkstat
Ntop
10.Bisbilhotando a rede
Tcpdump
Wireshark
Urlsnarf
Descobrindo senhas com Tcpdump e Wireshark
Descobrindo senhas com Dsniff
11.Camada de Aplicação – Gateway
Squid
Dansguardian: Filtro de conteúdo Web dinâmico
12.Segurança
Nessus
13.Sistemas de arquivos com deduplicação
14.Sistema de arquivos distribuído
Benefícios
  • Coffee breaks
  • Internet wireless
  • Material didático (livro Administração de Redes com Linux)
  • Arquivos de códigos, imagens, scripts e solução dos exercícios
  • Certificado impresso
Mais informações no endereço abaixo.