Pequeno Howto sobre segurança em FreeBSD

Autor: Juan (Iucki)
Data de criação: 13 de julho de 2002.


Vou-vos a contar como proteger um pouco mais nosso FreeBSD, O primeiro, sshd , a ver sshd é o serviço que temos em nosso FreeBSD e que permite que a gente se possa conectar a nossa makina, não?, então, Eu particularmente só quero que se possa entrar a meu servo do escritório desde casa e desde um par de ips mas do próprio escritório, então:

Limitando acesso SSHD

Apagamos esse ALL : ALL : ALLOW (que o unico q faz é fazer que todo o mundo possa entrar). E pomos em etc //hosts.allow:

sshd : ip de  minha casa : allow
sshd : ip de  meu portátil : allow
sshd : all : deny

assim conseguimos que só possamos entrar desde minha casa e desde o portátil, suponho que muitos já sabriais isto, eu o averiguei o outro dia J e me poupo um montão de problemas. Mais coisas.

Guardamos e saímos

# cd /usr/ports/security/cops && make install clean

bem, vamos instalar o cops e despues vamos criar um script q execute suid.chk e mais tarde o meteremos em crontab para do que todas as noites no-lo execute. Também instalaremos chkrootkit:

# cd /usr/ports/security/chkrootkit && make install clean

Cops vai olhar-nos as permissões de todos os arquivos , etc.., e se encontra algo raro no-lo mudará (pára isto utilizámos suid.chk) , e chkrootkit o que vai fazer-nos é procurar-nos portas traseiras em nosso sistema.

# cd /root

Creiamos: portas_traseiras.log e suid.log

# vi /root/portas_traseiras.sh 
 #!/bin/sh
 cd /usr/local/sbin
./chkrootkit  > /root/portas_traseiras.log 

O guardámos. Agora vamos criar suid.sh com o seguinte:

#!/bin/sh
cd /usr/local/cops
./suid.chk -ou /root/suid.log

agora vamos dar-lhes permissão 755 para que crontab possa executá-los sem problemas:

# chmod 755 /root/portas_traseiras.sh
# chmod 755 /root/suid.sh

Seguinte passo, Adicionar estas tarefas a crontab para que se executem sós cada certo tempo.

Tecleamos crontab -e e escrevemos:

# 50 6 * * * /usr/local/cops/cops
# 50 6 * * * /root/suid.sh
# 10 5 * * * /root/portas_traseiras.sh
# 

nota: para sair do vi e guardar esc :wq Ativámos cron em etc //rc.conf , para isso, editámos /etc/rc.conf e pomos:

cron_enable="YES" #Isto ativa crontab em  nosso sistema.

Com o que instalámos todas as noites se nos executarão estes dois scripts que nos olharão em procura de permissões defeituosas e de portas traseiras.

Segurança cara à rede

Agora vamos ativar Blackhole e mas tarde nos encarregaremos dos pacotes icmp. Em primeiro lugar editámos /etc/sysctl.conf e adicionámos:

net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1. 

e executámos: /bin/sh /etc/rc.sysctl

Editamos nosso kernel para adicionar umas lineas novas.

# cd /usr/src/sys/i386/conf
# vi MIKERNEL (ahi poneis o nome que lhe  habeis dado a  vosso kernel antes..)

Adicionamos:

otions SC_DISABLE_REBOOT
options SC_NÃO_HISTORY
options TCP_DROP_SYNFIN
options SC_DISABLE_DDBKEY 

Explico-vos:SC_DISABLE_REBOOT: Esta opcion faz que quando não há nenhuma sessão iniciada em nossa mákina se alguém pulsa Alt+controle+suprimir o computador não se reinicie. SC_DISABLE_DDBKEY: Esta outra opcion faz que quando não há sessão iniciada ao pulsar a tecla "Bloq Desp" não se possa subir pela tela.., ou seja que ninguém possa espionar o que estivemos fazendo. SC_NÃO_HISTORY: Faz que ao voltar a iniciar sesion não se espione o que fizemos a ultima vez. (ainda que tenho dúvidas sobre o que faz esta opcion exatamente asi que estou aberto a todo tipo de correções). TCP_DROP_SYNFIN: Esta última opção é para que não possam passar os pacotes syn+fim. Agora, voltamos a etc //rc.conf e pomos:) :

icmp_drop_rediret="YES"
icmp_log_redirect="YES"
 

e se não vamos utilizar portmap séria bom adicionar:

portmap_enable="NÃO"
 

já que pelo que tenho leido há muito exploit por internet para portmap. E isto é todo, espero ter-vos servido de ajuda a alguns.


Hosted by www.Geocities.ws

1