Quem tem algum site em WordPress e vê com frequência os logs de acesso, vai perceber que há sempre um monte de IPs tentando se logar como administrador do site. Essas várias tentativas por vários IPs geralmente são na verdade bots/zumbis que ficam vasculhando a Internet atrás de sites que tenham alguma falha e/ou senhas fracas de admin. Imagine muitas máquinas fazendo várias requisições no seu servidor… Pra que isso né? Carga e tráfego totalmente desnecessários.
Existem várias técnicas para se precaver desses bots. Vamos explorar algumas delas…
Linux
Mandar e-mail via linha de comando no Linux
Por Hugo Cisneiros (Eitch)
| 20 de julho de 2013
34
303,510
Todo mundo fica dizendo que e-mail é coisa do passado e que o futuro mesmo é utilizar as redes sociais e a Web 2.0 (lol) para se comunicar. Mas a verdade é que o e-mail é ainda muito útil e acredito que vai demorar bastante tempo para que isso mude. No pior dos casos, e-mail ainda continua sendo uma boa forma de registro e notificação.
E neste caso de notificação, enviar e-mail via linha de comando do Linux é bastante útil. Terminou uma tarefa no crontab? Envia um e-mail com o resultado. Caiu um servidor? Envia um e-mail para alguém notificando. Ou então querer apenas testar um servidor de e-mail local? É só usar a imaginação.
Servidores
Como evitar erros na web com Varnish: grace e saintmode
Por Hugo Cisneiros (Eitch)
| 12 de julho de 2013
2
450,970
Erros nos servidores web são muito comuns. Diversos motivos podem acontecer: um banco de dados caiu, faltou memória, deu um problema na rede, o sistema dinâmico tá consumindo muita CPU, um htaccess com erro de sintaxe, uma função mal-escrita entrou em loop infinito, entre muitos outros. Quando algum erro como esse ocorre, o usuário recebe um famoso “Error 500 Internal Server Error” (ou até um “503 Service Unavailable”). O Varnish pode ser usado para mascarar esse tipo de erro e funciona de uma forma bem simples: se o servidor der algum erro, o Varnish serve a página que está em cache, ao invés do erro. O usuário vai pegar um conteúdo possivelmente antigo, mas em muitos casos é melhor do que ele ser presenteado com um erro.
Conheçam agora os mecanismos responsáveis por isso: grace e saintmode!
Servidores
Lidando com o 404 nos servidores Web
Por Hugo Cisneiros (Eitch)
| 10 de julho de 2013
1
458,155
O código de status HTTP 404 é bem famoso na Internet, ele diz que a requisição do cliente não foi encontrada no servidor. Muitas vezes, os usuários tentam acessar páginas que não existem dentro de um site: ou por causa de um link quebrado, ou uma digitação errada, ou algum outro erro humano. Para esses usuários, a página 404 pode se tornar uma porta de entrada para outros conteúdos dentro do site, ou até mesmo para apresentar alguma brincadeira e melhorar a imagem do site (acredite, adoramos brincadeiras com o 404).
Existem diversas formas de se lidar com o famoso “404 Página Não Encontrada”. Confirma algumas…
Linux
O que diabos é o swap no Linux?
Por Hugo Cisneiros (Eitch)
| 05 de julho de 2013
15
614,338
No Linux, o swap é a memória virtual (também é conhecido como área de troca). A memória virtual funciona como uma extensão da memória RAM, que fica armazenada no disco. O porquê da memória swap precisar existir é simples: o sistema operacional precisa de memória para funcionar, e se a memória acabar, o sistema falha. O swap fica como uma reserva emergencial caso a memória RAM acabe. A memória swap era bastante útil em tempos passados onde memória RAM era algo mais escasso. Hoje em dia, tanto a RAM quanto espaço em disco estão baratos. É sempre recomendado utilizar swap, mesmo com muita memória RAM.
O swap pode ficar tanto em uma partição, quanto em um arquivo no disco. No caso de ficar numa partição em um disco comum (não-SSD), recomenda-se colocar a partição no início do disco, assim a leitura durante a rotação do disco magnético é mais rápida. No caso de partições em disco SSD, tanto faz pois não há rotações como um disco comum. Algumas distribuições, como Debian e Ubuntu, tem no instalador uma opção para colocar a partição no início do disco.
Servidores
Páginas de erros no squid
Por Hugo Cisneiros (Eitch)
| 15 de abril de 2013
8
488,338
O squid é um servidor de proxy que geralmente é usado para servir os navegadores dos usuários e ser o intermediário entre eles e os servidores web espalhados pela Internet. Quando usamos proxy, uma característica importante é que todas as requisições são feitas pelo navegador, inclusive as de DNS. Isso significa que se o navegador conseguiu conectar-se ao servidor proxy, todo o resto das ações é feito pelo proxy.
Normalmente e sem proxy, um navegador quando encontra algum erro apresenta sua própria página de erro. Mas agora com um proxy configurado, ele não tem como saber que possa ter acontecido algum erro. Para os navegadores, a conexão foi estabelecida e a requisição foi enviada. Se existe um DNS ou não, se o servidor web da página está funcionando ou não, é outra história.
Por causa disso, o squid vem com algumas páginas de erros amigáveis que substituem as do navegador. Tanto na versão 2.x quanto na 3.x.
Programas
Backup e restauração de partições com sfdisk
Por Hugo Cisneiros (Eitch)
| 04 de abril de 2013
30
831,242
Particionar o disco é algo que todo usuário de Linux deve ter passado, principalmente nas primeiras instalações de Linux (que não foram em uma VM, hehehe). O particionamento é algo básico que usamos até hoje para dividir o disco em várias áreas para armazenar dados diferentes em cada uma delas. No caso de servidores Linux, muitos criam diversas partições, cada uma como um diretório diferente do sistema (/, /usr, /tmp, /var, e por aí vai). Apesar de hoje em dia se utilizar bastante o LVM (Logical Volume Management) para facilitar a vida criando partições mais dinâmicas, mesmo assim tem que haver um particionamento básico no disco.
Muitos de nós aprendemos que o programa fdisk serve para fazer o particionamento do disco de forma fácil e interativa. Mas de vez em quando há uma grande necessidade de se fazer isso automaticamente, ou seja, particionar o disco via comando ou um shell script. É aí que entra o sfdisk, que é basicamente uma versão scriptável do fdisk. Com ele, dá pra fazer algumas coisas úteis que não conseguíamos de forma prática com o fdisk…
Programas
AWS API Tools – Instalando e usando (Java)
Por Hugo Cisneiros (Eitch)
| 28 de março de 2013
0
449,926
A Amazon Web Services é um serviço de computação em nuvem que, entre muitas funcionalidades, disponibiliza uma API para consultar e controlar todos os recursos de uma conta. O próprio AWS Management Console (a interface deles) usa a API para funcionar. Apesar dessa interface web ser funcional e bem prática, às vezes queremos usar a API em outros lugares, como: aplicações, shell scripts, terminal… Para estes casos, os desenvolvedores da AWS disponibilizam diversas ferramentas para a API, dentre elas um conjunto de programas feitos em Java, que se chamam comumente de AWS API Tools (ou AWS CLI Tools).
Esta dica cobre, como exemplo, as ferramentas Java para gerenciar alguns dos serviços AWS.
Programação
Infinite Scroll do WordPress e PollDaddy
Por Hugo Cisneiros (Eitch)
| 23 de março de 2013
1
454,063
Um dos recursos que tem aparecido bastante em sites e portais é o Infinite Scroll. Como o nome já diz, esse recurso faz com que as paginações de um site carreguem automaticamente quando o usuário desce até o final da página, lá embaixo de todas as notícias ou posts. Um dos exemplos mais conhecidos é o próprio Facebook, que em seu Feed de notícias vai carregando infinitamente os posts à medida que o usuário vai descendo a página. O objetivo é que o usuário não tenha que clicar e esperar outra página carregar para ver mais conteúdo… Convenhamos que é um ótimo recurso de usabilidade :)
Toda vez que um usuário vai até o final da página, o plugin reconhece e manda uma requisição AJAX pedindo a próxima página. Quando o navegador a recebe, o plugin monta automaticamente via JS e seletores CSS a parte dos posts no lugar correto, implementando assim o recurso de scroll infinito. Mas alguns plugins como o Polldaddy ratings e ShareThis não funcionam de primeira, pois fazem chamadas javascript… Mas há como resolver isso!
Servidores
Rotação de logs binários no MySQL
Por Hugo Cisneiros (Eitch)
| 07 de julho de 2010
9
472,246
Os logs binários do MySQL contém uma espécie de histórico com todas as consultas SQL que são feitas em um servidor. Esses logs servem principalmente para fazer duas coisas: replicar esses dados em um servidor secundário (modelo mestre-escravo) e efetuar backups diferenciais. Muitas vezes acontece da pessoa configurar isso e não tratar esses logs binários. Em um banco de dados com muito movimento, esses logs binários podem crescer assustadoramente e ocupar todo o espaço em disco. Como evitar isso?