Exercícios Extras
Softwares
COPS é um programa que tenta
identificar os problemas de segurança do sistema. Ele verifica varios
itens :
-
permissões de acesso a arquivos, diretórios e dispositivos.
-
senhas frágeis.
-
conteúdo, formato e segurança dos arquivos /etc/passwd e
/etc/group
-
os programas e arquivos que rodam no /etc/rc* e crontab's
-
arquivos com root-SUID se possuem permissão de escrita para o público
e se são shells scripts.
-
a integridade dos principais binários e arquivos, reportando qualquer
alteração nestes.
-
home de usuários e arquivos de startup (.profile, .cshrc, etc.)
com permissão de escrita para o público.
-
a configuração do ftp anonymous.
-
acesso irrestrito ao tftp.
-
arquivos do root ( /etc/host.equiv, /etc/ftpusers, etc )
-
Tenta determinar se seu sistema foi comprometido.
Syslogd é um mecanismo que
permite que qualquer comando registre mensagens na console do sistema e/ou
em um arquivo. O daemon syslogd recebe as mensagens dos comandos e envia
par o destino descrito no arquivo de configuração ( /etc/syslog.conf
). O syslogd daemon lê a configuração quando é
inicializado e quando recebe um signal de hangup ( kill -HUP <processo>
). Flags :
Arquivo de configuração :
Facilidades :
kern |
kernel |
user |
nível de usuário |
mail |
subsistema de mail |
daemon |
daemons do sistema |
auth |
segurança e autorizações |
syslog |
syslog daemon |
lpr |
subsistema de impressão |
news |
subsistema de news |
uucp |
subsistema de uucp |
* |
todas as facilidades |
Niveis de prioridade :
emerg |
mensagens de emergência |
alert |
mensagens de alerta |
crit |
mensagens críticas |
err |
mensagens de erro |
warning |
condiçoes anormais, mas recuperáveis |
notice |
mensagens importantes |
debug |
mensagens de debug |
info |
mensagens informativas |
none |
exclui facilidade selecionada |
Destino :
/filename |
caminho completo |
@host |
nome da máquina |
user |
usuário |
* |
todos os usuários |
Exemplo :
*.err;kern.debug;auth.notice;mail.crit |
/dev/console |
*.notice;kern.debug;auth,lpr.info;mail.crit;news.err |
/var/log/messages |
mail.info |
/var/log/maillog |
lpr.info |
/var/log/lpd-errs |
cron.* |
/var/cron/log |
*.err |
root |
*.notice;news.err |
root |
*.alert |
root |
*.emerg |
* |
news.crit |
/var/log/news/news.crit |
news.err |
/var/log/news/news.err |
news.notice |
/var/log/news/news.notice |
!startslip |
|
*.* |
/var/log/slip.log |
TCPwrapper é um software que
monitora e controla o acesso aos servicos FINGER, FTP, TELNET, RLOGIN,
RSH, EXEC, TFTP, TALK e outros.
Os daemons originais do sistema são substituidos pelo daemon
do tcpwrapper que monitora e controla o acesso.
Exemplo :
/etc/inetd.conf :
-
telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd
-
^^^^^^^^^^^^^^^^^^^^
-
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
O daemon do tcpwrapper funciona como um "Cavalo de Tróia", o sistema
operacional o executa e depois passa o controle para o daemon verdadeiro.
O controle de acesso é feito através dos arquivos : /etc/hosts.allow
( Hosts com acesso permitido ) e /etc/hosts.deny ( Hosts com acesso negado
). É aconselhável instalar o tcpwrapper de forma a permitir
somente os acessos necessários, como no exemplo abaixo:
/etc/hosts.deny :
ALL: ALL: (/usr/bin/finger -l @%h | /usr/bin/mail -s %d-%h root) &
/etc/hosts.allow :
ALL: LOCAL obelix.unicamp.br 143.106.10.2 .ccuec.unicamp.br
rshd: ALL
ftpd: ALL
popper: .unicamp.br
O tcpwrapper grava suas logs no mesmo local das logs do subsistema mail,
conforme configuração do syslogd ( geralmente no arquivo
/var/log/messages).
Exemplo :
Nov 21 14:31:08 munique telnetd[3679]: connect from obelix.unicamp.br
Nov 21 14:50:52 munique telnetd[3718]: refused connect from feq.unicamp.br
Nov 21 14:57:03 munique telnetd[3741]: refused connect from feq.unicamp.br
Exercícios
1) Instalar o COPS
-
Download do COPS ( file://ftp.unicamp.br/pub/security/tools/cops_104.tar.Z
)
-
Descomprimir o archive ( uncompress cops_104.tar.Z )
-
Explodir o archive ( tar xvf cops_104.tar )
-
Configurar o COPS ( ./reconfig )
-
Editar o arquivo makefile e tirar o comentario da linha
-
Compilar o COPS ( make )
-
Executar o COPS ( ./cops -v -s . -b cops_errs )
-
Verificar o resultado em ./<hostname>/*
-
Alterar a proteção do diretorio / ( chmod 777 / )
-
Executar novamente o COPS
-
Observar novamente o resultado
2) Configurar o Syslogd
-
Tentar logar com uma senha errada e verificar as mensagens no arquivo /var/log/messages
-
Mandar as mensagens de informação para a máquina do
grupo(n+1)
-
Mandar as mensagens de debug do subsistema mail para o arquivo /var/log/mail.log
3) Instalar o Tcpwrapper
-
Download do Tcpwrapper ( file://ftp.unicamp.br/pub/security/tools/tcp_wrappers_7.6.tar.gz
)
-
Descomprimir o archive
-
Explodir o archive
-
Compilar o Tcpwrapper fornecendo a localização dos daemons
do sistema e o tipo de sistema operacional ( make REAL_DAEMON_DIR=/usr/libexec
freebsd )
-
Editar o /etc/inetd.conf e substituir os daemons originais do sistema (
telnetd, ftpd, etc ) pelo daemon do tcpwrapper ( tcpd )
-
Copiar o daemon do tcpwrapper ( tcpd ) para /usr/libexec
-
Criar o arquivo /etc/hosts.allow de forma a permitir :
-
Acesso total para a máquina local
-
Acesso total para a máquina do grupo(n-1)
-
Acesso ao rlogind para as máquinas do domínio unicamp.br
-
Acesso ao rshd apenas para a máquina obelix.unicamp.br
-
Criar /etc/hosts.deny de forma a negar acesso a todos os daemos a partir
de qualquer máquina e mandar mail para o super usuário alertando
do acesso.
-
Matar o processo do inetd
-
Reinicializar o inetd ( /usr/sbin/inetd )
-
Testar o controle de acesso
-
Ler os mail do super usuário
| Anterior
| | Sumário
|
SEGURANÇA