Archive for May 2010

LDAP

May 26, 2010

TODO: LDAP + instalação + base + comandos + python

TODO: sysadmin: nc + tcpdump + telnet +netstat + wireshark + hping + python

Device is busy

May 20, 2010

Se você costuma usar Linux, você deve ter visto essa mensagem ou outras parecidas (file system on device is busy) algumas vezes.. e, em algumas delas, você teve que reiniciar a máquina só para desalocar o device, certo? Bom, existe um jeito de descobrir qual aplicativo está alocando-o com o fstat.

Esse aplicativos não é nativo do Unix, então você provavelmente terá que puxá-lo.. (farei um post ensinando a procurar/instalar pacotes nos SOs que costumo usar…)

Vamos simular o seguinte: tentei desmontar o meu pen drive:

# umount /media/KINGSTON

Unmount failed: Cannot unmount because file system on device is busy

Para descobrir quem está alocando esse device:

# lsof | grep ‘/media/KINGSTON’

bash      3095      usuario  cwd       DIR       8,17     4096          1 /media/KINGSTON
lsof      3655      usuario  cwd       DIR       8,17     4096          1 /media/KINGSTON
grep      3656      usuario  cwd       DIR       8,17     4096          1 /media/KINGSTON
lsof      3657      usuario  cwd       DIR       8,17     4096          1 /media/KINGSTON

Aqui podemos identificadar que o comando bash (PID 3095), lsof (PID 3655), grep (PID 3656) e lsof (PID 3657) estão alocando o device!

Agora podemos fechar o bash, e tentar desmontar o pen drive novamente.. e tudo dará certo! 😉

Não limite o uso do lsof para esses erros.. ele já me ajudou muito no dia-a-dia, até mesmo pra saber quais são os programas que estão alocando mais disco!

Flw vlw!

Referência: man lsof

…. ouvindo ZZ Top – Pearl Necklace (hoje é o show!! \m/)

Boas práticas na configuração de um servidor ssh

May 18, 2010

Na hora de configurar um servidor SSH, vulgo sshd, podemos habilitar/desabilitar algumas opções para que o uso do mesmo seja o mais seguro possível. É importante tomar um cuidado especial com essa configuração por ser um aplicativo que torna a sua máquina disponível para um acesso remoto!

O arquivo de configuração do sshd fica em /etc/ssh/sshd_config (no caso do Ubuntu/OpenBSD/Debian). Como root edite o arquivo:

# vim /etc/ssh/sshd_config

Uma das práticas é mudar a porta em que o sshd irá ouvir (tradicionalmente é a 22). A escolha de uma porta alta (maior que 1024) é importante pois muitos scanners procuram somente por portas até 1024 – num próximo post ensino a fazer isso ;]. Para mudar a porta, procure o parâmetro Port e mude-o. No caso utilizaremos a porta 1500.

Port 1500

Agora tiraremos o root para logar via ssh e listaremos os usuários que poderão logar-se.

PermitRootLogin no
AllowUsers johndoe marydoe

Agora reinicie o serviço:

# /etc/init.d/sshd restart

ou

# kill -HUP $(cat /var/run/sshd.pid)

Com apenas essas 3 regras já consegue alguma segurança extra. Agora fica com você a parte de fazer uma boa senha…

Referência: man sshd_config

Acessando máquinas remotas via SSH com troca de chaves

May 17, 2010

Acessar máquinas remotas com troca de chaves assimétricas é um procedimento que pode ajudar muito um administrador de sistemas, agilizando a sua vida. O primeiro passo é criar essas chaves na máquina cliente. Utilizaremos o comando ssh-keygen(1).

$ ssh-keygen -f /tmp/key

Note que ele perguntará se você deseja gerar uma chave assimétrica com senha. Inicialmente faremos uma chave sem senha (em um outro post explicarei melhor como criar com senha).
No final do programa, ele terá criado dois arquivos, no caso /tmp/key e /tmp/key.pub, que são as chaves privada e pública respectivamente.

Agora você deve liberar acesso à máquina servidor com a chave do cliente; para isso, mande a chave pública para a máquina servidor:

$ scp /tmp/key.pub usuario@maquina_servidor:/tmp/

Na máquina servidor adicione essa chave no arquivo authorized_keys (como o próprio nome diz, as chaves em quem ele confia):

$ cat /tmp/key.pub >> /home/usuario/.ssh/authorized_keys

Caso o arquivo não exista, você deve criá-lo (note que ele tem uma permissão específica):

$ mkdir /home/usuario/.ssh/
$ chmod 700 /home/usuario/.ssh/
$ touch /home/usuario/.ssh/authorized_keys
$ chmod 600 /home/usuario/.ssh/authorized_keys

Agora repita o passo de inserir a chave no arquivo.

Para testar, na máquina cliente tente:

$ ssh -i /tmp/key usuario@maquina_servidor

Se tudo ocorreu bem, você logou sem precisar colocar a senha :]

Fica ae a dica de hoje ;]
Qualquer dúvida mandem que eu tento ajudar!!

Referências: man ssh-keygen

Hello world!

May 14, 2010

Olá pessoal!