Archive for the ‘Linux’ tag
Palestra Latinoware 2009
Participei do latinoware 2009, este ano estava muito legal, com maior espaço para os standes e muita gente legal palestrando (incluindo eu).
Minha palestra tinha horário confirmado para as 12:00, como estava chovendo muito, levei uns 10 minutos para chegar no bloco onde iria palestrar. Chegando lá, levei uns 5 minutos para iniciar, isto inclui tirar a água da chuva que estava ensopando meu cabelo, ligar notebook e etc. Com isto, perdi minutos importantes e tive que acelerar em alguns tópicos e em outros resumir mais ainda. No geral minha palestra foi legal, o pessoal estava com muitas dúvidas tanto na parte de programação quanto na parte de sysadmin.
Para aqueles que quizerem baixar o conteúdo que foi apresentado, clique aqui.
Tunel com ssh
Digamos que você tem um servidorzinho na sua casa rodando um proxy e no seu trabalho o acesso a internet é restrito, ou seja, você não tem acesso ao msn e gtalk, nem acessa determinados sites, qual seria a solução? criar um túnel.
Primeiramente vamos descrever as opções do ssh que iremos utilizar:
C - usa compactação de todos os dados que serão trafegados, muito útil para economizar banda. N - Não executa comandos no servidor remoto, portanto o usuário não precisa ter shell. f - Logo após conectar, coloca a conexão em background. L - Define qual porta, ip e porta do host remoto você vai listar.
Agora que sabemos quais opções serão utilizadas, vamos por isto em prática. Digamos o servidor remoto tem o ip 187.10.223.67 e neste servidor roda um proxy (squid) e eu quero conectar neste proxy só que não quero deixar a porta do proxy aberta e nem quero utilizar vpn, então utilizo o seguinte comando:
ssh -C -N -f -L 3128:127.0.0.1:3128 but3k4@187.10.223.67
Com o comando acima, a porta 3128 do ip 187.10.223.67 é listada automaticamente no nosso loopback (127.0.0.1). E para conectar, basta apontar seu msn ou gtalk para usar proxy e configurar o ip para o loopback.
kernel grsec no debian lenny
Grsec é um patch para o kernel que foi desenvolvido com o intúito de aumentar a segurança. Seu desenvolvimento começou em fevereiro de 2001 e teve sua primeira versão para o kernel 2.4.1. Ele possui vários tipos de recursos como por exemplo: ACLs; Proteção contra buffer-overflow; Auditoria; Suporte a sysctl; Proteção no uso chroot; Negar escrita no /dev/kmem, /dev/mem; Restrições ao /proc e dmesg; Esconder processos do kernel.
Para utilizar o sistema de ACLs, utiliza-se o software gradm, o mesmo faz um total controle do que pode ou não ser utilizado, além de ter um sistema de aprendizagem, no qual ele fica apenas monitorando o que determinado serviço utiliza e com isso pode criar configurações baseadas no que foi monitorado. Este sistema é similar ao selinux.
As atuais versões do grsecurity contam com o PAX, que é um completo sistema de proteção a memória. Sua idéia principal é proteger o sistema contra técnicas usadas para ler e gravar em determinados segmentos de memória. Para tal tarefa é utilizada técnicas como a ASLR (Address Space Layout Randomization).
Para todos aqueles que não querem compilar um kernel, o pessoal do teamix.net disponibiliza todos os pacotes do kernel 2.6.26 com suporte a grsec. Para instalar, primeiramente, baixe os pacotes:
debian:~# wget -c http://people.teamix.net/~ms/debian/lenny/grsec/linux-doc-2.6.26-grsec_2_all.deb debian:~# wget -c http://people.teamix.net/~ms/debian/lenny/grsec/linux-headers-2.6.26-grsec_2_i386.deb debian:~# wget -c http://people.teamix.net/~ms/debian/lenny/grsec/linux-image-2.6.26-grsec_2_i386.deb
Agora instale os pacotes:
debian:~# dpkg -i linux-doc-2.6.26-grsec_2_all.deb linux-headers-2.6.26-grsec_2_i386.deb linux-image-2.6.26-grsec_2_i386.deb
Com os pacotes grsec instalados, dê um boot no seu debian (o que você instalou o kernel grsec) e na opção do grub selecione o kernel que instalamos, após o sistema inicializar, remova o kernel antigo:
debian:~# apt-get remove --purge linux-image-2.6-686 linux-image-2.6.26-2-686
Pode ser que ocorra algum problema na hora do dpkg rodar o update-grub, caso isto ocorra, edite o /boot/grub/menu.lst e remova os outros kernels, deixando somente as opções referentes ao kernel grsec.
Se o seu debian tem postfix instalado ou qualquer outro serviço que utilize chroot, adicione as seguinte linhas no seu /etc/sysctl.conf:
# Disabilita o log do grsec kernel.grsecurity.resource_logging = 0 # Disabilita limites do grsec execve kernel.grsecurity.execve_limiting = 0 # Disabilita log de mount kernel.grsecurity.audit_mount = 0 # Disabilita log de mudança de horário kernel.grsecurity.timechange_logging = 0
Como o grsec limita acessos ao /proc, crie o grupo grsec com gid 1001. Caso este gid já exista em algum outro grupo, sugiro você alterá-lo para outro gid e após isto, criar o grupo grsec. Você deve estar pensando o porque deste grupo correto? isto é necessário porque na configuração do kernel, quem o compilou, definiu que o grupo grsec necessita ter o gid 1001 e este grupo tem acesso ao /proc. Sem este acesso, usuários comuns ficam restritos a visualizem somente seus processos.
Para adicionar usuários a este grupo utilize o comando:
gpasswd -a usuario grsec
Substitua usuario pelo usuário que você quer que tenha acesso ao /proc, como por exemplo o usuário snmp, pois caso tenha snmp rodando e o usuário não tiver acesso ao /proc ele não conseguirá coletar informações das interfaces de rede.
Caso necessite do kernel source, baixe o pacote:
debian:~# wget -c http://people.teamix.net/~ms/debian/lenny/grsec/linux-source-2.6.26-grsec_2_all.deb
Caso queira utilizar também o gradm, baixe o pacote:
debian:~# wget -c http://people.teamix.net/~ms/debian/lenny/grsec/gradm2_2.1.12-1_i386.deb
Maiores informações sobre grsec, consulte o site do desenvolvedor.