Segurança em Sistemas Operacionais Unix/Linux
Centro de Informática de Ribeirão Preto - CIRP
Segurança em Sistemas Operacionais Unix/Linux
1 - Apresentação
2 - Arquivos de senhas
- Tipos de criptografia : DES e MD5
- Comandos para manipulação de usuários e senhas:
- Linux : passwd, shadow, pwconv, pwunconv, vipw, vigr, passwd, adduser, rmuser, userdel, etc
- FreeBSD : vipw, adduser, passwd, master.passwd, group, pw, etc
- Tamanho máximo das senhas
- Políticas de troca de senhas
- Quebra de senhas com o programa Crack e John the Ripper
- FreeBSD: Cracking Passwords to Enhance Security
- Senhas de diferentes S.Os. e compatibildades
- Migração de senhas
- Exemplo de criação de N usuários no FreeBSD: http://granito2.cirp.usp.br/Cursos/Seguranca.em.Unix/FreeBSD.Utils/cria.usuarios.FreeBSD.txt
Dica : Acompanhar o que o usuário está digitando
- O usuário deve ter um shell com o seguinte conteúdo: csh -i |& tee /tmp/log
- Você deve monitorar os comandos digitados por ele da seguinte maneira : tail -f /tmp/log
2.1 - Atributos e Permissões de arquivos
$> stat /etc/passwd
File: `/etc/passwd'
Size: 1420 Blocks: 8 IO Block: 4096 regular file
Device: fe00h/65024d Inode: 163254 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2012-11-04 18:16:01.000000000 -0200
Modify: 2012-08-09 17:15:05.000000000 -0300
Change: 2012-08-09 17:15:05.000000000 -0300
2.2 - Proteção em partições e arquivos de inicialização, terminais, etc.
- Proteções nos arquivos /etc/fstab e /etc/inittab
- Proteções no arquivo /etc/ttys (No FreeBSD)
- Guias Foca Linux:focalinux.cipsga.org.br
2.3 - Proteção no Sistema de Arquivos
2.4 - Exercícios com os recursos citados no itens anteriores.
3 - PAM - Módulo de autenticação Plugável
Utilização com SSH, telnet, POP e IMAP, SUDO
Exercícios com atribuição de permissão de su para poucos usuários, controle de recursos, CPU, memória, etc.
Controle dos serviços POP e IMAP:
Referências:
3.1 - Exemplos de utilização do PAM:
Usando o PAM para limitar o uso de recursos no servidor.
Fazer com sessões de shell iniciadas por usuários ou grupo de usuários tenham restrições quanto ao uso de recursos da máquina como:
Número máximo de arquivos abertos.
Prioridade para rodar processos
Máximo uso do processador
Máximo uso de memória
Máximo uso de forks (processos)
Número máximo de logins (veja ulimit). Ver arquivos do diretório /etc/security/
3.2 - Configurando o PAM
Primeiro deve-se selecionar o serviço que se irá aplicar estas restrições.
Como exemplo limitaremos o uso de recursos de sessões abertas pelo ssh, sessões remotas.
Altere o /etc/pam.d/sshd e inclua a linha depois do último "session required":
Exemplos:
1 - Limitar número máximo de processos para 6 e quantidade de logins para 2 de todos os usuários.
Alterar o arquivo /etc/security/limits.conf
* hard nproc 6
* hard maxlogins 2
É importante frisar que nenhuma restrição pode ser aplicada ao usuário root.
- Alterar o arquivo /etc/security/access.conf:
-:ALL EXCEPT root:LOCAL
Isso vai proibir accesso remoto para o root, só permite localmente.
*** www.newsforge.com/article.pl?sid=04/09/20/1556223
Exercícios:
- 1 - Configurar o PAM de modo a permitir que apenas alguns usuários possam se tornar root.
- 2 - Configurar o PAM para os serviços IMAP e POP - (www.faqs.org/docs/securing/chap23sec189.html)
- 3 - Controlar o acesso ao servidor, via SSH, em determinados dias e horários apenas.
- 4 - Configurar os limites do servidor, estabelecendo o número máximo de processos, conexões simultâneas, número de conexões dos usuários, ftp users, tempo de conexão, falhas de autenticação, etc.
- 5 - Através do link : www.linuxsecurity.com/docs/harden-doc/html/securing-debian-howto/ch4.en.html#s4.9.8, faça uma comparação com as configurações padrões dos servidores Linux, instalação default.
- 6 - Instalar o Módulo do de configuração do PAM para o WEBMIN (www.webmin.com)
4 - Ferramentas de varredura e Scan ports
4.1 - Verificações com programas netstat e lsof
Exemplos de utilização:
lsof -P -n -r -i tcp:80 | grep ESTABLISHED
lsof | grep t0rn ---> detecta t0rnrootkit
lsof -i tcp:9611
lsof -i tcp:5874
lsof -i TCP:12754
lsof -i tcp:22
netstat -an
lsof | grep LISTEN
netstat -an | grep LISTEN
nmap hostname
lsof -P -n -i
lsof -P -n -i tcp:139
lsof -P -n -i tcp:80
lsof -P -n -i tcp:22
4.2 - Verificação do Status do Servidor
systat (detalhes envolvidos dos programas sa e arquivos de log)
Utilização do pacote do Systat, em FreeBSD
- systat -vmstat
- systat -iostat
- systat com os argumentos: icmp, icmp6,ifstat, iostat, ip, ip6, mbufs, netstat, pigs, swap, tcp, vmstat
Utilização do pacote do SAC (System Accounting), em Linux
- Instalação: Aptitude install sac
- sac --help
- sac -r
4.3 - Monitoração das atividades de Rede
- Pacotes iptraf, trafshow, netdiag, iplog (TCP/IP traffic logger)
- Utilização do IPLOG:
- /usr/local/sbin/iplog -o -L -z -u iplog --tcp=false --icmp=false -F --icmp-resolve=false -N --udp-resolve=false -i rl0
- # Mais detalhes em /usr/local/etc/iplog.conf
4.4 - Escuta de tráfego e Sniffers
O objetivo é detectar o tráfego de rede. Ferramentas para auditar a rede e fazer testes de invasão. Procurar por senhas, e-mails, arquivos e etc. Interceptar o tráfego de rede direcionados a servidores SSH, explorar sessões HTTPS em ambientes fechados.
- Utilização dos programas ethereal, tethereal, ngrep, tcpdump, scapy e dsniff
- Outras ferramentas SNIFFER para Linux: apt-cache search sniffer
- Como detectar sniffers na rede ?
- Detecção remota de Sniffers
- Software dsniff:
dsniff is a collection of tools for network auditing and penetration testing.
dsniff, filesnarf, mailsnarf, msgsnarf, urlsnarf, and webspy passively monitor
a network for interesting data (passwords, e-mail, files, etc.). arpspoof,
dnsspoof, and macof facilitate the interception of network traffic normally
unavailable to an attacker (e.g, due to layer-2 switching). sshmitm and webmitm
implement active monkey-in-the-middle attacks against redirected SSH and HTTPS
sessions by exploiting weak bindings in ad-hoc PKI.
WWW: http://www.monkey.org/~dugsong/dsniff/
Exemplos de utilização:
- tethereal -d tcp.port==80,http : decodifica todo tráfego na porta 80 TCP, como http.
- ngrep -q -i "passwd|password" port 80 and tcp : captura todos os pacotes que trafeguem pela porta 80/tcp (http) e que contenham a palavra "passwd" ou "password" em maiúscula ou minúscula (opção -i).
- ngrep -q -A 100 -i "google": Captura os pacotes que contêm a palavra "google"
- tcpdump -i eth0 -tttt: Captura pacotes na interface eth0 e os mostra o timestamp em cada linha
- scapy: Poderosa ferramenta interativa para manipulação de pacotes, geração de pacotes, Scanner de rede, sniffer, etc. Pode substituir os programas hping, nmap, arpspoof, arp-sk, arping, tcpdump, tethereal, p0f, etc. Feito em Phyton, o que permite que sejam passadas as variáveis, parâmetros e funções.
- Exemplo: www.cartel-securite.fr/pbiondi/scapy.html
Test the robustness of a network stack with invalid packets:
sr(IP(dst="172.16.1.1", ihl=2, options="b$2$", version=3)/ICMP())
Packet sniffing and dissection (with a bpf filter or thetereal-like output):
a=sniff(filter="tcp port 110")
a=sniff(prn = lambda x: x.display)
Sniffed packet reemission:
a=sniff(filter="tcp port 110")
sendp(a)
Pcap file packet reemission:
sendp(rdpcap("file.cap"))
Manual TCP traceroute:
sr(IP(dst="www.google.com", ttl=(1,30))/TCP(seq=RandInt(), sport=RandShort(), dport=dport)
Protocol scan:
sr(IP(dst="172.16.1.28", proto=(1,254)))
ARP ping:
srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst="172.16.1.1/24"))
ACK scan:
sr(IP(dst="172.16.1.28")/TCP(dport=(1,1024), flags="A"))
Passive OS fingerprinting:
sniff(prn=prnp0f)
Active OS fingerprinting:
nmap_fp("172.16.1.232")
ARP cache poisonning:
sendp(Ether(dst=tmac)/ARP(op="who-has", psrc=victim, pdst=target))
Reporting:
report_ports("192.168.2.34", (20,30))
dsniff : Password sniffer, permite verificar senhas nos seguintes serviços:
FTP, Telnet, SMTP, HTTP, POP, poppass, NNTP, IMAP, SNMP, LDAP, Rlogin, RIP, OSPF, PPTP MS-CHAP, NFS, VRRP, YP/NIS, SOCKS, X11, CVS, IRC, AIM, ICQ, Napster, PostgreSQL, Meeting Maker, Citrix ICA, Symantec pcAnywhere, NAI Sniffer, Microsoft SMB, Oracle SQL*Net, Sybase e protocolos SQL Microsoft.
dsniff -m -c -i fxp0: Captura pacotes na interface de rede fxp0 e detecta automaticamente o protocolo usado.
4.5 - Narrow Security Scanner
Procura por vulnerabilidades (mais de 500) em aplicaçães WEB bem como serviços (RPC, FTP, IMAP, POP3, etc.) no endereço IP especificado.
- * Boa ferramenta para testar a segurança de um servidor WEB. Disponível para Unix e Windows
- http://packetstormsecurity.org/UNIX/scanners/nss/
- Como usar: nss -s 192.168.0.1
- Os arquivos de log mostram os resultados do Scan efetuado e as possíveis vulnerabilidades.
O Packet Storm Security é um projeto bastante dedicado a desenvolver ferramentas de Segurança para Internet.
5- Serviços SSH e FTP
Exercícios:
Configuração dos servidores de FTP:
- VSFTPD, PROFTPD e WU-FTP
- SSH, SCP e SFTP
- Interação com TCP WRAPPER
- Faça comparações entre os serviços SSH, TELNET e FTP.
- www.linorg.cirp.usp.br/Guias_Conectiva/Guias_V.10.0/servidor/pt_BR/ch15s03.html
- Instale os servidores FTP citados e faça seus controles com TCP-WRAPPER e com as configurações do próprio servidor. Comente as dificuldades encontradas.
- Substitua o Servidor OpenSSH pelo Servidor SSH Dropbear
- Faça ajustes nas configurações e estabeleça controles de usuários, grupos, portas e conexões com ambiente X11
- Sugestões para defesa contra ataques de força bruta para SSH
- Protegendo seu servidor SSH contra ataque força bruta.
- Instalar e testar a ferramenta denyhosts
- Outras ferramentas relacionadas a SSH: (*) sshblock, (*) sshguard, sshguard-ipfilter, sshguard-ipfw, sshguard-pf, sshit, sshpass
6 - Segurança no Sistema Operacional FreeBSD
6.1 - Firewall IPFW para FreeBSD:
6.2 - Securing FreeBSD:
6.3 - Níveis de Segurança do Kernel do FreeBSD:
7 - Ferramentas para verificação de integridade dos dados:
* Rootkits
- Definição de Rootkits:O que é e como funciona um Rootkit
- Detecção de Root Kits: chkrootkit (chkrootkit.org) Artigo: chkrootkit-ssi2001.pdf
- Ferramenta Rootkit Hunter
- Como detectar e remover Rootkits
- Rootkit - Análise e Detecção.
New 64-bit Linux Rootkit Doing iFrame Injections
- Contaminação pelo Rootkit Opyum Team:
A contaminação ocorre da seguinte forma:
1 - Algum repositório sem identificação digital é adicionado no sources.list do debian
pelo usuário dummy
2 - Ao instalar o programa desejado, é instalado automaticamente o falso rootkit que escreve na crontab a execução do binário, e começa a fazer o estrago. O principal arquivo é chamado "f". Este é adicionado no diretório /bin sem possibilidade de remoção pelo root.
3 - Faz tentativas de conexão a outros servidores usando senhas em arquivos de dicinários.
/bin/f cria arquivos texto com dados para fazer as conexões e upload deste arquivo
/bin/cp /usr/sbin/t.txt unsort.txt && sort -u unsort.txt > /usr/sbin/t.txt && /bin/rm unsort.txt
Também traz o arquivo binário /bin/i e o arquivo /usr/sbin/t.txt.
No crontab aparece a seguinte entrada:
* * * * * root f Opyum Team
Solução adotada:
*** Formatar a máquina e não adicionar repositórios não oficiais e não confiáveis.
7.1 - Ferramentas AIDE (Advanced Intrusion Detection Environment), substuituta do Tripwire:
7.2 - Ferramentas COPS (Computer Oracle and Password System):
Identifica riscos de segurança em sistema Unix. Verifica se o arquivo de senhas (/etc/passwd) está vazio, se existem arquivos com permissão de escrita para todos, se o servidor de FTP anônimo está mal configurado, dentre outros.
Disponível em:www.fish2.com/cops/overview.html
7.3 - Ferramenta TIGER
www.nongnu.org/tiger/
Verificação de Segurança local: Permissões,em arquivos de senha, NFS, Sendmail, portas de rede, etc.
Verifica vulnerabilidades de segurança em sistemas Unix. É muito parecido com o COPS porém possui mais recursos.
- Utilização : /usr/sbin/tiger
- Resultados : Diretório /var/log/tiger
7.4 - Detecção de incidentes de Segurança:
www.linorg.cirp.usp.br/Guias_Conectiva/Guias_V.10.0/servidor/pt_BR/ch15s09.html
7.5 - Outras ferramentas : ISS, Tripwire, Strobe, etc.
*** www.rnp.br/newsgen/9711/seguranca.html
7.6 - Artigo sobre testes de invasão:
www.revista.unicamp.br/infotec/artigos/frank3.html#2
Testes de invasão
7.7 - Ferramentas de Detecção de Corrupção do Sistema
7.8 - Proteção do Sistema
- Ferramenta harden-tools
- Criptografia no File System : cfs e encfs
- Proteção do Debian Linux - HowTo: Securing-Debian-HowTo
- checagem da seguranca: checksecurity
- scanner de seguranca no servidor web: nikto
- ferramenta W3AF
- lista de live cd seguranca
8 - Ferramentas para TCP/IP:
Netcat (Netcat for Unix & Windows)
Mais detalhes: Netcat.txt
Exemplo de utilização
$> nc -v website.com 80 # digite no prompt GET / HTTP/1.0 ou HEAD /HTTP/1.0 para adquirir informações do WEB server.
Netcat como servidor e cliente:
No servidor colocar : nc -l 2233
No cliente colocar: nc 2233
Assim, os dois podem trocar mensagens
Pode-se especificar o uso de TCP e UDP
Mais detalhes e exemplos no man nc
Utilização do Netcat: Netcat - o canivete suíço do TCP/IP
8.1 - Ferramenta socket
Cria conexões TCP socket para entrada/saída de dados.
- No FreeBSD : /usr/ports/sysutils/socket
- Pode-se criar uma conexão TCP em determinada porta e esperar troca de dados nesta conexão:
- Exemplos (man socket)<>
- 1 - No servidor colocar: socket -sl 2345
- No cliente colocar : telnet localhost 2345 e passar os dados. O cliente vai mostrar dados recebidos.
- 2 - Pode-se executar um determinado comando ou programa ao se conectar numa determinada porta TCP:
- Colocar no servidor: socket -wslqvp "echo Funciona legal" 2345
- Colocar no cliente: telnet localhost 2345 , isso vai mostrar a mensagem "Funciona legal" e fechar a conexão.
8.2 - Outras ferramentas similares
- Ferramenta SBD: É um clone do Netcat, projetado para ser portátil e com criptografia forte.
Mais detalhes: www.tigerteam.se/dl/sbd/
It runs on Unix-like operating systems and on Microsoft Win32. sbd features AES-CBC-128 + HMAC-SHA1 encryption (by Christophe Devine), program execution (-e option), choosing source port, continuous reconnection with delay, and some other nice features. Only TCP/IP communication is supported. Source code and binaries are distributed under the GNU General Public License.
sbd can be used for any number of network-related things, e.g.:
- Secure file transfer
- Remote administration
- Simple (but secure) peer-to-peer chat
- Pen-test tool (crypto avoids NIDS detection and telnet-style traffic recording)
- Ferramenta PNETCAT:http://stromberg.dnsalias.org/~strombrg/pnetcat.html, não é distribuida via GPL. Similar ao NETCAT e ao SOCKET. Feita em linguagem Python
- Detalhes sobre o PNETCAT
9 - Ferramentas para análise de Rede TCP/IP
- www.linorg.cirp.usp.br/Guias_Conectiva/Guias_V.10.0/servidor/pt_BR/ch15s08.html
- Logs de arquivos relacionados a segurança: Apache, auth.log, e-mails, syslog, sulog, messages, etc.
- Softwares para seguraça, o diretorio /usr/ports/security.
- Instalação do FAKEBO.
- Instalação do chkrootkit e verificação do FAKEBO.
- Níveis de segurança do FreeBSD.
- Antivírus clamav. Instalação e utilização.
- Firewall IPTABLES, IPFW e PF.
- Criação de regras e utilização.
- Firewall para o Linux : Iptables
- www.linorg.cirp.usp.br/Guias_Conectiva/Guias_V.10.0/servidor/pt_BR/ch15s08.html
- Firewall para o FreeBSD : IPFW e PF
- granito2.cirp.usp.br/Handbook.FAQ.FreeBSD/handbook/firewalls.html
- www.rnp.br/newsgen/9901/ipfw-bsd.html
- Ferramentas para FreeBSD: sockstat, systat, fstat, ifstat, netstat, nfsstat, ps, iostat, pstat e vmstat . Instalação e utilização.
- Ferramentas para o Linux :dstat, ifstat (para Kernel 2.6), systat (sar, iostat e mpstat). Instalação e utilização.
- sockstat: Monitoração da Rede, identificação de serviços, portas, etc.
- socket: Permite se criar um socket e executar programas.
- systat: Monitoração do Sistema completo. Dados estatísticos do sistema:
icmp, icmp6, ifstat, iostat, ip, ip6, mbufs, netstat, pigs, swap, tcp, ou vmstat.
- fstat: Identificação de arquivos ativos, em uso.
- ifstat: Atividades das interfaces de rede.
- netstat: Serviços de Rede, protocolos, status de cada serviço, etc.
- nfsstat: Status do serviço NFS
- ps: Processos do servidor Unix
- iostat: Monitoração dos dispositivos de Entrada/Saída, discos, memória, etc.
- pstat: Arquivos em uso, utilização da área de Swap, estados dos terminais e estruturas dos VNODES
- vmstat: Monitoração da utilização de memória.
- dstat: Estatística de uso do Sistema Operacional Linux.
- sar: Coleta e relaciona as atividades do Sistema Operacional Linux.
- mpstat: Estatísticas de uso do Processador.
10 - Utilização de ferramentas - técnicas de invasão.
11 - Sistemas para IDS (Intrusion Detect System)
São sistemas e ferramentas para a detecção de intrusão, invasão e comprometimento de um servidor. Detecta pacotes que podem estar trafegando na rede, captura de dados, sniffers, etc.
- O que é e como funciona uma ferramenta IDS:www.clm.com.br/snort/comofuncionaids.asp
- Understanding IDS for Linux: www.linuxjournal.com/article/5616
- Sistemas de Detecção de Intrusão: www.lockabit.coppe.ufrj.br/downloads/academicos/IDS.pdf
- Sistemas de Detecção de Intrusão e Aspectos Legais: www.absoluta.org/seguranca/seg_ids.htm
- Introdução a Sistemas de Detecção de Intrusão: www.gta.ufrj.br/grad/03_1/sdi/
- SNORT: www.snort.org
- Manual do SNORT: www.bsbnet.com/snort/
- Utilização do SNORT em IDS: www.linuxjournal.com/article/4668
- Snort Brasil:www.clm.com.br/snort/snort.asp
O Snort é uma ferramenta NIDS utilizada para detectar incidentes de segurança na sua rede.
Ele pode analisar protocolos, procurar/casar conteúdos de pacotes, pode ser utilizado para detectar v7aacute;rios tipos de ataque, como, por exemplo, buffer overflow, port scan, ataques CGI e muitos outros.
O Snort utiliza uma linguagem de regras muito flexível para descrever o tráfego que ele deve analisar ou deixar passar, e também um mecanismo de detecção que utiliza uma arquitetura modular de plugins. Uma das características desse aplicativo é que ele pode registrar os ataques de diversas maneiras utilizando plugins:
- SQL (MySQL, PostgreSQL, Oracle, unixOdbc)
- arquivo no formato tcpdump (binário)
- arquivo texto
- XML
- syslog
- SMB (Winpopup)
O Snort pode ser considerado um sensor, podendo monitorar diferentes pontos da rede ao mesmo tempo.
Algumas das funcionalidades do Snort:
- Normalizar requisições http.
- Detectar ataques do tipo UNICODE.
- Detectar portscan (por taxa e por flags).
- Remontar os segmentos TCP.
- Ativar regras dinamicamente (regras podem ser ativadas por outras regras).
- Ferramenta Sguil
12 - Política de Segurança
Exercícios
1 - Instalar os programas socket, netcat e dfstat e verificar suas funcionalidades.
2 - Utilizar o comando socket para criar uma conexão e verificar através do nmap ou nmapfe a situação das portas TCP. Verificar também com o comando lsof.
3 - Utilizar o comando netcat para trabalhar como cliente e servidor. Verificar com um port scanner a presença do netcat.
4 - Utilizar o comando dfstat para verificar a situação do servidor Linux.
5 - Utilizar os comandos do pacote netdiag para fazer os diagnósticos na rede, nas conexões TCP, situação da rede, tráfego de dados, etc.
6 - Utilizar os comandos nmap e lsof para verificar as conexões TCP, portas em utilização e arquivos que estão sendo usados por determinados processos.
7 - Utilizar o software chkrootkit para examinar as conexões de rede, rootkits suspeitos, possíveis programas infectados por rootkits, etc.
8 - Como detectar um Sniffer na rede ?
9 - O que significa uma placa de rede trabalhando em modo Promíscuo ? Como fazer para que ela saia do modo Promíscuo ?
10 - Qual a função básica de um Firewall ? Como ele pode ser utilizado ?
11 - Instalar o SSH DropBear e o FTP server VSFTPD.
12 - Proteger as configurações dos dois serviços acima.
13 - Fazer varredura de portas com o NMAP e o STROBE (componente do netdiag) na própria máquina e em mais uma máquina.
14 - Desabilitar o TELNET e instalar o TELNETS (Telnet com SSL).
15 - Verificar as portas abertas e protegê-las. Usar os programas lsof, netstat, sockstat e nmap.
16 - Usar o /etc/inetd.conf e /etc/init.d/ para ver a lista de Daemons que podem ser inicializados. Fazer adaptações de modo a se colocar novos serviços.
17 - Usar o comando lsof para verificar serviços de rede/processos e arquivos usados por cada processo, etc.
18 - Verificar os arquivos de log od Servidor Web Apache e procurar por suspeitas de ataques CGI, execução de programas executáveis, etc. Usar o programa NESSUS para verificação mais detalhada e diversificada das vulnerabilidades existentes.
19 - Elabore um esquema de bloqueio de conexões ao seu servidor Debian Linux. Deve-se aceitar conexões SSH e FTP de poucos usuários e endereços IP.
20 - Um servidor Linux foi considerado HACKEADO e está comprometido. Os dados dos usuários devem ser preservados e o HACKER deve ser identificado.
Qual o procedimento que você adotaria considerando a seguinte situação:
- O servidor Linux não permite que o usuário root se conecte. A senha foi trocada.
- Alguns comandos (ps, df, pwd e ls) foram removidos e não há como verificar suas funcionalidades.
- Há uma denúncia de que o servidor está fazendo SCAN de portas em outro servidor, de outra Rede.
- Não é possível reinstalar o Sistema Operacional todo, tem que fazer o Backup antes. Como fazer o Backup nesta situação ?
- Que ferramentas são necessárias para se descobrir as vulnerabilidades e o causador deste transtorno ?
- Como recuperar os arquivos apagados (ps, df, pwd e ls) ?
- O que é necessário para que todo o servidor seja reestabelecido e seu funcionamento normalizado ?
21 - Na verificação de certos pacotes e serviços instalados num Unix, o que deve ser considerado em relação a possíveis vulnerabilidades dos serviços disponibilizados ? Como manter o servidor em funcionamento próximo do ideal ?
22 - Como estabelecer limites para os usuários dum S.O. Unix ? Quais tipos de limites julga necessários ?
23 - Como fazer para verificar constantemente a integridade dos arquivos e diretórios do Unix ?
24 - Como proteger o Kernel de um S.O. Unix, evitar a instalaçao de Rootkits ? Elabore um esquema de proteção.
25 - Como fazer um teste das possíveis vulnerabilidades que um S.O. Unix pode apresentar ? Quais ferramentas e metodologia você utilizaria ? Justifique.
Dicas de manipulação de pacotes no Linux Debian e no FreeBSD
Linux Debian:
- Verificação de conteúdo de um pacote: dpkg -L pacote
- Lista de pacotes com um dado nome ou palavra-chave: apt-cache search nome, apt-cache show pacote (descrição do pacote)
- Instalar/desinstalar pacotes: apt-get install pacote, apt-get remove pacote
- Start/Stop de daemons: /etc/init.d/inetd stop , /etc/init.d/inetd start
- Serviços de rede: netstat -nal
- Lista de pacotes instalados: dpkg -l
FreeBSD:
- Verificação de conteúdo de um pacote: pkg_info -xL pacote
- Lista de pacotes com um dado nome ou palavra-chave: cd /usr/ports && make search name=pacote ou key=pacote
- Instalar/desinstalar pacotes: pkg_add -r pacote, pkg_delete -f pacote. Apenas para pacotes compilados
- Start/Stop de daemons: /usr/local/etc/rc.d/servico.sh stop , /usr/local/etc/rc.d/servico.sh start
- Serviços de rede: netstat -nal
- Lista de pacotes instalados: pkg_info
Referências Bibliográficas:
Artigos e Revistas
UNIX Computer Security Checklist
linuxdevcenter.com/pub/a/linux/2001/12/14/rootkit.html
Documentos - Vulnerabilidades de segurança
Segurança em Unix/Redes
*** Apostilas Treinamento UNICAMP: www.ccuec.unicamp.br/treinamentos/index_html
Livros Unix / Linux: WWW.LINORG.CIRP.USP.BR/livros.html
*** Livro Linux 101 Hacks
Sistemas Operacionais - Aspectos de Segurança
Artigos do autor
Qual Unix usar ? Como escolher ?
Sistema Operacional FreeBSD
Autor : MSc.Eng. Ali Faiez Taha
/ Electronic Mail : aftaha ARROBA cirp.usp.br
/ SCREDE - CIRP