Alterar politica de senhas no Linux com PAM

Para podermos ter um controle maior sobre a segurança dos nossos sistemas e rede de computadores, podemos definir uma política de senhas onde as mesmas devem ter um grau alto de dificuldade. Podendo definir quantidade de caracteres especiais, números, tamanho da senha, tempo que ela vai expirar, não repetir a mesma senha digitada anteriormente, etc.

Como não podemos confiar totalmente nas instruções passadas para os usuários, devemos forçar essas opções. Usaremos o pam para realizar esses ajustes.

O PAM surgiu como um intermediador entre as aplicações e o mecanismo de autenticação. Todas as aplicações agora têm suporte ao PAM, que tem uma interface de comunicação única. Então quando quisermos fazer qualquer modificação de onde autenticar, basta apenas modificar a configuração do PAM e todo o resto das aplicações já estará configurada automaticamente. Muito mais prático.

Na família Debian, o arquivo a ser ajustado será o /etc/pam.d/common-password. Em outros sistemas procure verificar se o arquivo será o mesmo. Como requisito precisaremos instalar o pacote libpam-cracklib.

Faça um backup do arquivo para garantir:

E agora vamos editá-lo, deixando com apenas a linha abaixo:

Onde:

retry = 3 : tentativas antes de retornar com erro. O padrão é 1.
minlen = 8 : O tamanho mínimo aceitável para a nova senha.
difok = 3 : Essa opção não deixa ter 3 letras iguais a senha antiga. Por exemplo a senha antigo é pastel e tentar alterar para pastoso irá ser rejeitada
ucredit = -1 : A nova senha deve conter pelo menos 1 caracteres maiúsculos.
ocredit = -2 : A nova senha deve conter pelo menos 2 caracteres especiais.

Diferença entre opções positivas e negativas

Como podemos ver na opção ucredit usamos um valor negativo isso porque os números negativos significam que queremos no mínimo o valor x, sendo uma exigência. Quando usamos o numero positivo estamos indicando o valor máximo.

Outras opções

dcredit=x: Informa a quantidade digitos, numeros, exigidos na senha
lcredit=x: Representa a quantidade caracteres minusculos, acredito que seja pouco usada

Proibir senhas já usadas

No mesmo arquivos iremos acrescentar

remember=10 : Senha não poderá ser igual as ultimas 10

Testando, lembrando que se tentar trocar senha como root, ele dará o aviso porém irá alterar a senha mesmo assim. Caso seja um usuário comum ele não irá aceita a troca da senha.

Fonte:
http://blog.marcelocavalcante.net/blog/2011/09/27/politica-de-senhas-no-linux-senhas-com-data-para-expirar/
https://www.cyberciti.biz/faq/securing-passwords-libpam-cracklib-on-debian-ubuntu-linux/

Resestar senha Admin Zabbix

Hoje vamos a uma dica rápida para quem esqueceu ou não sabe a senha de Admin do painel de administração do Zabbix. Eu estava testando a ferramenta e depois de um tempo se mexer havia esquecido a senha, tive que resetá-la. Para isso a única coisa que precisamos é ter a senha de root do mysql, tendo ela podemos logar no terminal:

Dentro do terminal a gente vai fazer o seguinte:

Pronto, senha resetada.

Fonte:

Extensões de arquivos no Linux

Primeiramente o que devemos saber é que no Linux a extensão é opcional, o tipo de arquivo é reconhecido pelo seu conteúdo e não pela sua extensão. Mas para facilitar a vida é bom conhecer algumas extensões no Linux.

Arquivos Executáveis

out: formato binário usado nas primeiras versões do GNU/Linux
pl: script em linguagem Perl
py: script em linguagem Python
sh: script de shell, usado para criar pequenos programas

Códigos fontes e bibliotecas

c: código em linguagem C
cpp: código em linguagem C++
diff: conjunto de instruções que definem as trocas a aplicar um patch
h: cabeçalho de arquivos programados em C
lo: arquivo temporário criado pela compilação de uma library
o: arquivo temporário criado pela compilação de um programa
so: bibliotecas compartilhadas equivalentes aos “dll” em windows

Arquivos compactados

bz2: arquivo comprimido pelo Bzip2
gz: arquivo gerado pelo programa Gzip que substituiu o obsoleto Compress
rar: substituto natural do Arj, que permite uma maior compressão e dividir arquivos grandes em vários menores
tar: arquivo empacotado sem compressão, usado para num único ficheiro o conteúdo de um pasta com vários arquivos
tbz2 (tar.bz2): arquivo resultante da compressão em Bzip2 dum ficheiro Tar
tgz (tar.gz): resultado da compressão em Gzip dum ficheiro Tar.
z: arquivo comprimido com o programa Compress
zip: formato de compressão mais usado na internet. Tem menos compressão que o Bzip2.

Arquivos do Sistema

conf: arquivo de configuração de um programa
ko: módulos do núcleo do kernel 2.6
lock: indica o bloqueio de um serviço, processo ou programa
log: arquivo de de informação gerado pelo núcleo do kernel, pelos programas e pelos serviços instalados. É nele que ficam guardados os estados e erros que se produzem pelos programas
pid: arquivos indicadores de processos necessários para o correto funcionamento dos serviços em execução
socket: meio de comunicação entre dois programas situados em equipamentos diferentes
tmp: ficheiro temporário criado por um programa para armazenar informação

Arquivos de pacotes

deb: usado pela Debian e distribuições derivadas da Debian
dsc: arquivo de informação do código fonte de um pacote Debian
ebuild: script usado pela Gentoo para compilar e instalar pacotes a partir do código fonte
rpm: arquivo usado pela Red Hat, Fedora, CentOS, SUSE, Mandriva e outros
tgz: arquivo Tar.gz já compilados para Slackware

Segurança da Informação – O que preciso saber?

Hoje falaremos sobre um assunto que a cada dia se torna mais importante no mundo técnologico e corporativo, Segurança da Informação.

Segundo a ISO 27002 segurança da informação é:
A proteção da informação contra vários tipos de ameaças para garantir a continuidade do negocio, minimizar riscos, maximizar o retorno sobre os investimentos e as oportunidades de negócios.

Com a evolução da internet a empresas ampliaram seus aspectos de negócio, chegando praticamente em todos os setores e segmentos. A informatização das empresas se tornou algo necessário, migrando as informações para o formato digital. E essas informações deve ser protegidas devido ao riscos as quais elas podem estar expostas.

O que se deve proteger:

– Registro de negócios;
– Base de dados;
– Informações pessoais;
– Registros financeiros;
– Informações de mercado.

Para a segurança da informação é importante lembrar que a proteção é indiferente de onde a informação esteja, papel, computador, trafegando na rede, backup.

O que um ataque a essas informações pode acarretar:

– Negativar a imagem da empresa;
– Perda de clientes;
– Vazamento de informações;
– Prejuizo financeiro

A segurança da informação baseia-se em 3 pilares:
Confidencialidade: Garantir que a informação esteja disponivel somente as pessoas autorizadas
Integridade: Garantir que a informação esteja integra, ou seja, completa e no seu estado original
Disponibilidade: Garantir que a informação esteja disponivel e utilizavel

E pode envolver processos, tecnologia e pessoas (o elo mais fraco).

Vulnerabilidade

É uma possível falha em um procedimento ou controle de um sistema que possa ser explorada, resultando em uma brecha de segurança

# Vulnerabilidade tecnologias:

– Protocolos
– Sistema operacional
– Equipamento rede

# Vulnerabilidade de configuração:

– Manter configurações default ou inseguras
– Senhas simples
– Configuração incorreta de equipamento ou serviços

# Vulnerabilidade de Politica de segurança:

– Falta de uma politica
– Falta de controle de acessos
– Instalações de software ou hardware que nao seguem a politica
– Falta de orientação sobre a policita, quando existir

Ameaça

Quem ou que, pode explorar acidentalmente ou propositalmente alguma dessas vulnerabilidades

# Ameaças acidentais

– Falha de equipamentos
– Erro humano
– Natureza

# Ameaças propositais

– Espionagem
– Crimes
– Empregados desonestos ou insatisfeitos
– Vandalismo
– Terrorismo

Risco

É a probabilidade de uma ameaça explorar um vulnerabilidade, resultando algum impacto ou prejuizo para organização

Engenharia social

É a prática utilizada para obter informações importantes por meio das pessoas envolvidades. O atacante consegue retirar informações ou acessos sem mesmo chegar perto de um computador, somente se valendo da má instrução das pessoas.

Tipos de ataques mais comuns realizados pela internet:

Explorar vulnerabilidades
Scan de rede
Falsificação de emails
Sniffing
Força bruta
Negação de serviço (DDos)

Para diminuir os riscos pode-se usar alguns recursos, como:

– Politica de segurança
– Notificação de incidentes
– Contas e senhas
– Criptografia
– Backup
– Logs
– Ferramentas de antivirus
– Firewall

Pode-se também adotar uma política de segurança da informação, que vem a ser de muita valia para as organizações, mas isso já cabe outro post mais pra frente. 

Dica rápida – Verificar pastas que ocupam mais espaço

Bom essa dica é bem simples mas muito útil, vamos usar uma combinação de comandos para listar as 5 pastas que mais utilizam espaço no diretório corrente. O bom comando seria esse:

Saida:

Explicando:

O comando du faz a verificação do uso das pastas em si;
O comando sort faz a ordenação do maior pro menor;
E o comando head mostra os 5 primeiros, pode ser usado qualquer quantidade.

Se alguém tiver dúvidas quanto as opções usadas, basta digitar o nome do comando –help, que terá todas as informações.

Gerar lista de pacotes instalados no Debian, Ubuntu, etc

Para gerar uma lista dos pacotes instalados no sistema, poderemos usar o dpkg para isso. Pode ser muito útil na hora de criar sistemas com a mesma base

Gerando lista de pacotes

Instalando pacotes a partir da lista

Fonte

Limitando e atualizando limites de memória e CPU no docker

Bom hoje vamos seguir com nosso aprendizado em docker, já vimos sobre comandos básicos, iniciar servidor apache, exportar e importar containers e agora a dica é bem simples porém muito útil. Toda vez que subimos um container sem colocar limites nos recursos, o container pode usar todo o recurso da máquina fisica, isso nem sempre é bom, seja por onerar o host ou mesmo para testes da sua aplicação. Então vamos as dicas.

Antes da dica, vamos a outra dica :), com o comando docker stats podemos ver o consumo de nossos containers:

Agora vamos as nossas dicas de hoje.

Limitar memória do container

Limitar CPU do container

Atualizar limites de container em execução

Alterando limite de memória

Atualizar limite CPU

Sempre lembrando que para pegar o id do container basta executar docker ps.

Iniciando servidor web PHP e Mysql com Docker

De uma maneira muito rápida podemos iniciar um servidor web para testarmos aplicações, páginas, sistemas, etc. Para isso precisaremos de duas ferramentas:

  • Docker
  • Docker Compose

Vou levar em consideração de já tenha os mesmos instalados, pois cada sistema tem seu próprio gerenciador de pacotes e não vou especificar isso no momento.

Iniciando

DockerFile

Para iniciar criaremos um Dockerfile, para quem não está muito familiarizado pode ver um post com comandos básico do docker aqui. Usaremos uma imagem base do Docker Hub, a tutum/lamp.

Docker Compose

Agora na mesma pasta iremos criar o arquivo docker-compose.yml. Com o conteúdo abaixo:

Ps: Lembre de verificar se os caminhos dos arquivos estão corretos em seu sistema, pode variar de linux para linux.

Subindo a aplicação

Subiremos a aplicação com o seguinte comando:

Basta acessar seu localhost, ou ip de sua máquina que o servidor estará UP. A pasta onde foi criado os arquivos anteriores será a pasta raíz do servidor web. Ao iniciar será gerado uma saída parecido com a abaixo:

Fonte

Monitoramento via TCP no Nagios

Hoje vamos dar seguinte a configuração do Nagios que instalamos um tempo atrás.

Iniciaremos por um dos monitramentos mais simples que é o monitoramento via TCP, caso tennha alguns sites e queira monitorar caso algum deles caia, será muito útil.

Bom a estrutura do Nagios é bem simples mas não mostrarei hoje, para melhorar nos organizarmos vamos criar um arquivo de template próprio, dentro da pasta /usr/local/nagios/etc. Aqui no meu caso crei o arquivo templatesNagios.cfg. Já com o template do servico de monitoramento e templates para monitorar linux, windows e hosts de rede.

Feito isso precisamos adicionar nosso arquivo de configuração no arquivo /usr/local/nagios/etc/nagios.cfg

Agora dentro da pasta /usr/local/nagios/etc/ criaremos a pasta network, onde adicionaremos todos os nossos hosts para monitoramento via TCP. Criaremos em outro momento uma pasta linux e uma windows, ficando muito mais organizada nossas configurações. Também precisamos adicionar esse caminho no arquivo /usr/local/nagios/etc/nagios.cfg

Dentro da pasta network vamos criar nosso primeiro host para monitorar. Vou criar o arquivo sidneiweber.cfg com o conteúdo abaixo. As opções são auto explicativas, mas comentei para facilitar o entendimento.

Após essa configuração basta verificar se está tudo configurado sem erros com o comando:

Se não retornar nenhum erro, basta iniciar o serviço do nagios:

Caso o serviço já esteja rodando e precise reiniciar, eu faço da seguinte maneira:

Pronto, primeiro serviço monitorado, e isso pode ser feito com qualquer site ou serviço de ping, uma monitoração simples, mas não deixa de ser um monitoramento.

 

 

Script instalação automatizada Nagios no Debian

Script para instalação do Nagios e Nagios plugins no Debian baixando o código fonte. Script está funcional, porém pode vir a melhorar.

Retirado de https://github.com/sidneiweber/meu-canivete-suico/blob/master/nagios/instalar-nagios-debian.sh