Diminuindo tentativas de invasão via SSH

Dentro do arquivo /etc/ssh/sshd_config altere as seguintes linhas:


LoginGraceTime 2m
MaxStartups 3:50:6

Explicando:

O primeiro parâmetro informa que a conexão será cortada caso fique inativa por 2 minutos.

O segundo quer dizer que depois de 3 tentativas não autenticadas, 50% das conexões do IP são recusadas e quando o número de de tentavivas chegar a 6 todas as tentativas de conexões do IP serão recusadas.

Fonte: Dicas-l

Utilizando o Crontab

Comando Função
crontab -e Edita o crontab atual do usuário
crontab -l Exibe o atual conteúdo do crontab do usuário
crontab -r Remove o crontab do usuário

A linha é dividida em 6 campos separados por tabs ou espaço:

Campo Função
1o. Minuto
2o. Hora
3o. Dia do mês
4o. Mês
5o. Dia da semana
6o. Programa para execução
Campo Valores
Minuto 0-59
Hora 0-23
Dia do mês 1-31
Mês 1-12
Dia da semana 0-6 (o “0″ é domingo), 1 é segunda, etc.


Fonte:

Códigos do Squid

COD  DESCRIÇÃO

  0    Resposta não recebida

Respostas de informação:

  100  Continue
  101  Troca de protocolos

Acessos bem-sucedidos:

  200  OK
  201  Criado
  202  Aceito
  203  Informação não autorizada
  204  Sem conteúdo
  205  Conteúdo apagado
  206  Conteúdo parcial
  207  Status múltiplos

Redirecionamentos:

  300  Escolhas múltiplas
  301  Movido permanentemente
  302  Movido temporariamente
  303  Veja outros
  304  Não modificado
  305  Use o proxy
  307  Redirecionamento temporário

Erros no cliente:

  400  Resposta ruim
  401  Não autorizado
  402  Pagamento requisitado
  403  Negado
  404  Não encontrado
  405  Método não aceito
  406  Não aceito
  407  Autenticação do proxy solicitado
  408  Tempo de resposta excedido
  409  Conflito
  410  Feito
  411  Tamanho requerido
  412  Falha pré-condicional
  413  Requisição de entrada extensa
  414  URL requisitada muito extensa
  415  Tipo de mídia não suportada
  416  Faixa requisitada não satisfatória
  417  Falha na espera

Erros no servidor:

  500  Erro interno
  501  Não implantado
  502  Gateway incorreto
  503  Serviço indisponível
  504  Tempo excedido do gateway
  505  Versão HTTP não suportada
  507  Espaço em disco insuficiente

Fonte

11 regras CSS que todo desenvolvedor web deve saber

@media

A regra @media não só nos permite definir estilos para nossa página da web quando impressa na tela. Hoje em dia esta regra atingiu um patamar mais avançado com as “media queries“, que são associadas à criação de sites “adaptativos” ou “responsivos”, ou seja, que se ajustam ao tamanho da tela do dispositivo no qual estiverem sendo acessados.

Você pode criar uma media query usando propriedades como min-width para ajustar seu layout de acordo com o tamanho do “viewport” do dispositivo do usuário.

[css]
@media screen and (max-width: 960px) {
// seus estilos vão aqui ....
}
[/css]

background-size

Aí está uma propriedade CSS3 muito útil que ganhou total suporte nos navegadores modernos. Antes, para fazer com que uma imagem, definida como background, fosse ajustada 100% (full size), de acordo com o tamanho do elemento que faz parte, era necessário algumas linhas de código, hacks e até javascripts. Agora nós precisamos de apenas uma linha de código, ou melhor, apenas uma propriedade:background-size

[css]
body {
background: url(image.jpg) no-repeat;
background-size: 100%;
}
[/css]

@font-face

[css]

@font-face {
font-family: Blackout;
src: url("assests/blackout.ttf") format("truetype");
}
[/css]

overflow:hidden

[css]

.container {
overflow: hidden;
}
[/css]

Existe uma série de soluções e hacks para ajudar a resolver o problema com os elementos flutuantes. Este problema ocorre quando temos, dentro de um elemento de bloco (um DIV por exemplo), um outro elemento com float. Esse elemento que “flutua” não força automaticamente a altura do elemento container, ou seja, a altura do elemento container não acompanha a altura do elemento com float. Isto ocorre porque o elemento que está flutuando deixa de considerar o elemento container como pai.

Um jeito hiper simples de “limpar” os elementos flutuantes é simplesmente declarar overflow: hidden; no elemento container. Isto é muito interessante, porque não precisamos mais adicionar “lixo”  no nosso código html, como o tão famoso <br style="clear:both" />.

margin: 0 auto;

1
2
3
#container {
    margin: 0 auto;
}

É surpreendente que até então não exista nenhuma propriedade especifica para centralizar elementos. Mas enquanto isso não acontece, nós podemos utilizar o recurso de margem automática. Ao adicionarmos margin: 0 auto; em um elemento de bloco, este será centralizado.

input[type=”text”]

O seletor input[type="text"], bem como outros seletores avançados no geral, irão elevar suas habilidades com CSS do nível intermediário para o avançado. Seletores de atributos, em particular, são extremamente úteis para estilizar elementos sem que precisemos criar classes adicionais.

Você poderá manipular não só campos do tipo texto, mas também radio, checkbox, submit, password, file, etc.

[css]

input[type="text"] {
width: 200px;
}

input[type="checkbox"]{
margin-right: 1em;
}
[/css]

Fonte

Migração banco de dados Mysql

Para fazer um backup de uma base de dados mysql e copiar para outra base basta fazer os seguintes passos

Os dados que deverão ser alterados são os seguintes:

  • base_origem
  • endereco_base_original
  • usuario_base_original
  • senha_base_original
  • base_destino
  • endereco_base_destino
  • usuario_base_destino
  • senha_base_destino

Sabendo os dados a alterar, substitua-os no comando abaixo e o execute:

mysqldump base_origem --opt -h endereco_base_original -uusuario_base_original -psenha_base_original --routines --triggers | mysql base_destino -hendereco_base_destino -uusuario_base_destino -psenha_base_destino

Atualizar WordPress localhost

Para atualizar o WordPress instalado localmente, basta trocar o método do sistema de arquivos com o parâmetro:  FS_METHOD

A seguir, estão as constantes válidas para atualizações do WordPress:

  • FS_METHOD obriga o método do sistema de arquivos. Deve ser “direct”, “ssh”, “ftpext”, ou “ftpsockets”. Geralmente, você deve apenas mudar isso se estiver enfrentando problemas de atualização, se mudar, e não adiantar mude de volta/remova, Na maioria das circunstâncias, definir ftpsockets vai funcionar se o método escolhido automaticamente não funcionar.
    • (Primary Preference) “Direct” obriga a usar solicitações Direct File I/O de dentro do PHP, o que possui muitas questões de segurança em servidores mal configurados, pode ser escolhido automaticamente quando necessário.
    • (Secondary Preference) “ssh” obriga a usar a extensão SSH PHP.
    • (3rd Preference) “ftpext” obriga a usar a extensão FTP PHP para acesso FTP e finalmente:
    • (4th Preference) “ftpsockets” usa classe de Sockets PHP para acesso FTP.
[php]define('FS_METHOD', direct);[/php]

Alerta de espaço em disco via e-mail

Script para enviar e-mail quando o uso de disco chegar a 90% de uso

df -k | grep -e 'lv' | awk '{ print $4 " " $7 }' | while read output;
do
  echo $output
  usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1  )
  partition=$(echo $output | awk '{ print $2 }' )
  if [ $usep -ge 90 ]; then
    echo "Verifique o diretorio \"$partition\" com ($usep%) de uso no servidor $(hostname)" | mail -s "Alerta! Disco excedido em $usep%" seu_email@provedor.com
  fi
done