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:
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.
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.