Segurança: Monitorando os Logins no Blog
Para quem utiliza sistemas bancários via internet, já está bastante acostumado com os níveis de segurança que eles oferecem.
Uma das que considero bastante interessante é saber quando foi feito o último login no sistema, pois esta é uma informação que o invasor não tem controle. Principalmente útil contra aqueles que ficam à espreita sem alterar a sua senha e nem nada substancialmente perceptível à 1ª vista.
Pesquisando um pouco no Google, encontrei um plugin que faz exatamente isto: Login Logger v0.1.
Após a instalação, surge o item “Login Logs” na opção “Usuários” no painel de administração. Ali ele apresenta quais foram os últimos usuários logados, em que data e hora ocorreram, a partir de quais endereços IP e há quanto tempo aconteceram.
Além desta informação, o plugin apresenta uma lista das tentativas de login sem sucesso. Ali, informa qual usuário foi utilizado, a data e hora ocorridos, o endereço IP e há quanto tempo aconteceu. Essencial para identificar se houve tentativas de invasão ao blog.
Depois de alguns testes, notei que o plugin apaga as informações anteriores do usuário que faz o login, mantendo apenas o daquele instante. Deste modo, ele perde um pouco da característica que eu pretendia. Entretanto, e fuçando um pouco o arquivo loginlog.php, percebi que as linhas 71, 72, 73 e 74 faziam exatamente o que eu não queria. Transformando-os em comentários, consegui manter o log intacto, mesmo que fazendo login com o mesmo usuário diversas vezes.
Por enquanto, é essa a gambiarra e até notifiquei a autora do plugin. Basta agora, pensar no que fazer quando essa tabela ficar enorme o suficiente para que torne lenta a página de gerenciamento dele. Mas até lá, ele vai cumprindo a sua função.
A idéia está aí para quem quiser aproveitar. É um pequeno POG (Programação Orientado a Gambiarras), mas que vale a pena quando pensamos na segurança do nosso blog.
Ofertas
matematica brilho abril colonial secundum
Compartilhe!




Wow! realmente útil. O ideal talvez seria um log diário ser recebido via email no final de cada dia.
Muito útil para blogs coletivos, com muitos usuários
Franco,
creio que a idéia inicial era para um blog de vários usuários mesmo. Mas eu fiz a alteração para manter um log com os meus logins…
Sabe como é… Ser paranóico não significa que você não esteja sendo seguido…
E no caso de segurança, qualquer prevenção é pouca.
abraço
Se você quiser, é só inserir na linha 12, no final de tudo,
antes de fechar as aspas: LIMIT 10
Ficaria assim, no caso:
$query = “SELECT username,time,UNIX_TIMESTAMP(time) as timestamp,UNIX_TIMESTAMP(active) as activestamp,IP FROM “.$table_name.” WHERE success=’1′ ORDER BY time DESC LIMIT 10″;
Nesse caso os resultados mostrados na tela se limitariam a 10.
Agora você acrescenta a mesma coisa na outra consulta, que faz a listagem dos logins com falha, na linha 30. Ficaria assim:
$query = “SELECT username,time,UNIX_TIMESTAMP(time) as timestamp,IP FROM “.$table_name.” WHERE success=’0′ ORDER BY time DESC LIMIT 10″;
Assim, Você não apagaria os registros do banco de dados, mas limitaria a visualização, assim não ficaria pesado de mais pra exibir.
Acontece que ele não diferencia as sessões. Nesse caso, quando ele está listando vários logins do mesmo usuário Klawdyo, todos mostram o mesmo tempo para a última atividade. Nesse caso, seria bom gravar o valor da sessão no banco de dados e compará-la, pra evitar isso.
Eu vou fazer essa alteração no plugin e vou te passar, incluindo as outras modificações, além da tradução pra português.
Aí, cara.
Criei a atualização do plugin, com as seguintes alterações:
1- Traduzido para o português do Brasil;
2- Ele guarda o log completo de todos os logins e tentativas de logins realizadas. (Sua aleração)
3- Na própria tela de configurações acrescentei um campo pra você dizer quantos resultados deseja mostrar, pra evitar que todos sejam exibidos e evitar pesar muito o HTML da página. O padrão é 5.
4- Agora, na coluna que exibe o tempo passado desde a última atividade, só realiza as alterações da Sessão atual. Se você observou, a versão original alterava todas.
O endereço do plugin é: http://www.esnips.com/doc/4a2ba11c-4a52-4f08-b782-369d036bdf66/wpk-login-log
Valeu, se for possível fazer o update do post, me avise.
Claudio,
valeu mesmo.
Vou colocarei uma atualização assim que testar a sua alteração.
abraço
Claudio,
o plugin está apresentando um erro na página de gerenciamento. Desta forma só implementei a limitação dos logins a serem apresentados.
abraço
Qual o erro? Aqui não apareceu nada.
Aqui eu testei localmente e no meu blog. Com o FF e o IE. E não deu nenhum erro.
Só aconteceu erro quando eu tentei ativar o original com o PT-BR já ativado. Apareceu um erro grave de num sei o que.
Faça assim: Você primeiramente instala o original, depois desativa, depois ativa o meu. Siga essa sequência que dá certo. Não sei porque, mas o meu não tá criando o banco de dados. É estranho, porques as funções são as mesmas. Apenas fiz as modificações específicas e a tradução. E nessas “modificações específicas” não mexi na parte que cria o banco de dados.
Seu erro aconteceu, aparentemente, devido às funções dos 2 plugins (o original e o traduzido) terem os mesmos nomes. Deve tá acontecendo conflito.
Claudio,
eu fiz isso mesmo o que você falou. Não ativei os 2 plugins simultaneamente, não.
O erro que apareceu foi este
Array ( [wpSpamFreeVer] => 1.3.1 [ServerRequestTime] => 1204653858…
Tá parecendo uma incompatibilidade com o plugin WP-SpamFree…
abraço
Cara, esse daqui acho que foi o segundo artigo que li no teu blog, implementei (do mesmo jeito que vc, comentando as paradas lá)… e achei que tivesse deixado um comentário!
boa dica! =)
abraços!
Johnny C,
a dica que o Cláudio passou no 1º comentário dele neste post é bastante interessante para limitar o número de logins que aparece lá no painel de administração.
abraço