Securing Debian Manual
Notas Rápidas

1

Por um tempo ele foi substituído pelo "Linux Security Knowledge Base". Esta documentação era fornecida no Debian através do pacote lskb. Agora ela voltou ao pacote Lasg novamente.

2

Um bom exemplo deste tipo de ataque usando /tmp é detalhado em The mysteriously persistently exploitable program (contest) e The mysteriously persistently exploitable program explained (Observe que o incidente é um relato Debian) Ele é basicamente um ataque no qual um usuário local usa uma aplicação setuid vulnerável através de um hard link para ela analisando qualque atualização (ou remoção) do próprio binário feita pelo administrador do sistema. Dpkg foi recentemente corrigido para prevenir isto (veja 225692) mas outros binários setuid (não controlados pelo gerenciador de pacotes) correm o risco se as partições não estiverem configuradas corretamente.

3

Por exemplo, no Debian Woody ela gira em torno de 40Mbs, tente isto para ver quanto os pacotes necessários ocupam no sistema:

       $ size=0
       $ for i in `grep -A 1 -B 1 "^Section: base" /var/lib/dpkg/available |
       grep -A 2 "^Priority: required" |grep "^Installed-Size" |cut -d : -f 2
       `; do size=$(($size+$i)); done
       $ echo $size
       34234

4

Muitas invasões são feitas mais para acessar os recursos e executar atividades ilícitas (ataques denial of service, spam, rogue ftp servers, poluição dns...) do que para obter dados confidenciais dos sistemas comprometidos.

5

Você pode fazer (em outro sistema) um pacote dummy com o equivs

6

O arquivo /etc/securetty é um arquivo de configuração que pertence ao pacote login.

7

Ou ttyvX no GNU/FreeBSD, e ttyE0 no GNU/NetBSD.

8

Ou comX no GNU/Hurd, cuaaX no GNU/FreeBSD, e ttyXX no GNU/KNetBSD.

9

A configuração padrão na woody incluem 12 tty e consoles vc locais. Na sarge a configuração padrão oferece 64 consoles para consoles tty e vc. Você pode remover seguramente isto se não estiver usando mais do que estas consoles.

10

Procure pelas chamadas getty.

11

Alguns destes incluem o gerenciador de pacotes dpkg pois os scripts de instalação (post,pre) e remoção (post,pre) estão em /var/lib/dpkg/ e também o Smartlist

12

Esta dependência não foi corrigida, no pacote do Debian 3.0. Por favor veja Bug #112965.

13

Libpam-chroot ainda não foi ainda testado, ele funciona com o login mas ele não é fácil de ser configurado para funcionar com outros programas

14

A definição de HISTSIZE para um número elevado poderá causar problemas em algumas circunstâncias, pois o histórico é mantido em memória para cada sessão do usuário. Você estará mais seguro caso defina esta variável para um valor suficientemente grande e realizar o backup de arquivos de histórico de usuários (se precisar do histórico de todos os usuários por alguma razão).

15

Sem a opção append-only, os usuários poderão ser capazes de apagar o conteúdo do arquivo de histórico executando > .bash_history

16

Ttys são criados para logins locais e logins remotos durante seções do ssh e telnet

17

O chpasswd não trabalha com a geração de senhas em md5, assim ele precisa ser informado que forma de criptografia das senhas será utilizado, com a opção -e.

18

tenha certeza de usar maiúsculas, pois spawn não executará fork

19

existe um artigo muito bom, escrito por Lance Spitzner

20

Note que, dependendo do pacote de fonte do kernel 2.4 que você usar, você poderá encontrar problemas durante o patch de fontes de kernel. Se este for seu caso, você precisa usar o kernel vanilla. Você poderá fazer isto com os seguintes passos:

     # apt-get install kernel-source-2.4.22 kernel-patch-debian-2.4.22
     # tar xjf /usr/src/kernel-source-2.4.22.tar.bz2
     # cd kernel-source-2.4.22
     # /usr/src/kernel-patches/all/2.4.22/unpatch/debian

Para mais detalhes veja #194225, #199519, #206458, #203759, #204424, #210762, #211213, e discussion at debian-devel

21

Tão comum, de fato, que eles são a base de 20% de vulnerabilidades reportadas de segurança todo ano, como determinado pelas estatísticas do banco de dados dde vulnerabilidades ICAT's

22

No Debian o pacote kernel-image instala o fonte sob /usr/src/kernel-source-2.X.X, apenas subistitua linux com o tipo de kernel que está instalado

23

Para reproduzir isto (exemplo oferecido por Felix von Leitner na lista de discussão bugtraq):

        máquina A (eth0 conectada a eth0 da máquina B):
          ifconfig eth0 10.0.0.1
          ifconfig eth1 23.0.0.1
          tcpserver -RHl localhost 23.0.0.1 8000 echo fnord
     
        máquina B:
          ifconfig eth0 10.0.0.2
          route add 23.0.0.1 gw 10.0.0.1
          telnet 23.0.0.1 8000

Parece, no entanto, não funcionar com serviços funcionando na interface 127.0.0.1, você precisará fazer os testes usando soquetes simples.

24

O fato deste comportamento ser alterado através do roteamento foi descrito por Matthew G. Marsh na thread do bugtraq:

     eth0 = 1.1.1.1/24
     eth1 = 2.2.2.2/24
     
     ip rule add from 1.1.1.1/32 dev lo table 1 prio 15000
     ip rule add from 2.2.2.2/32 dev lo table 2 prio 16000
     
     ip route add default dev eth0 table 1
     ip route add default dev eth1 table 2

25

Existem alguns patches disponíveis para este comportamento como descrito na discussão do bugtraq em http://www.linuxvirtualserver.org/~julian/#hidden e http://www.fefe.de/linux-eth-forwarding.diff.

26

Um invasor pode ter muitos problemas para contornar o acesso através da escuta de endereços IP se ele não está no mesmo domínio de broadcast (mesma rede) que a máquina que será atacada. Se a invasão for através do roteador, será bastante difícil as repostas retornarem a algum lugar.

27

para obter uma lista de todos os daemons de mensagens disponíveis no Debian, execute o comando:

     $ apt-cache search mail-transport-agent

A lista não incluirá o qmail, que é distribuído somente como código fonte no pacote qmail-src.

28

Uma lista de servidores/daemons que suportam estes protocolos podem ser obtidos com:

     $ apt-cache search pop3-server
     $ apt-cache search imap-server

29

Note que dependendo de sua versão do BIND você pode não ter a opção -g, mais precisamente se estiver usando a woody e instalando o bind9 (9.2.1-2.woody).

30

a não ser que utilize a opção instdir quando executar o dpkg mas então a jaula chroot será um pouco mais complexa

31

Eles não tentarão ser executados sob mínimo privilégio que inclui a execução de daemons com seus próprios usuários ao invés de tê-los executando como root

32

De forma diferente de firewalls pessoais em outros sistemas operacionais, o Debian GNU/Linux (ainda) não fornece uma interface de geração de firewall que possa fazer regras de limitação por processo ou usuário. No entanto, o código do iptables pode fazer isto (veja o módulo owner na página de manual iptables(8))

33

Traduções estão disponíveis em dez idiomas

34

O completo capability questionnaire estava disponível para o CVE

35

Alguns sistemas operacionais já tiveram problemas com atualizações automáticas como Mac OS X Software Update vulnerabity.

FIXME: probably the Internet Explorer vulnerability handling certificate chains has an impact on security updates on Microsoft Windows.

36

Algumas delas são fornecidas na instalação do pacote harden-remoteaudit.

37

Se você usar este último pacote e estiver usando um Debian oficial, o banco de dados não será atualizado com as atualizações de segurança. Você poderá usar o clamav-freshclam e o clamav-getfiles para gerar novos pacotes clamav-data ou atualizar do repositório do mantenedor, através da localização:

       deb http://people.debian.org/~zugschlus/clamav-data/ /
       deb-src http://people.debian.org/~zugschlus/clamav-data/ /

38

Para mais exemplos de como configurar o gnupg, veja /usr/share/doc/mutt/examples/gpg.rc.

39

Você também pode optar por usar a opção --quiet (-q) para diminuir a quantidade de informações de saída do apt-get. Caso nenhum pacote esteja sendo instalado, nenhuma informação é mostrada na tela.

40

Note que alguns pacotes podem não usar o debconf e a atualizações irão parar para que o usuário entre com alguma configuração.

41

Isso é uma prática comum, já que muitos usuários preferem manter o sistema estável, podendo atualizar alguns pacotes para a versão unstable para obter novas funcionalidades. Esta necessidade surge devido ao desenvolvimento de alguns projetos ser mais rápido que o tempo gasto entre os lançamentos da versão stable do Debian.

42

Uma maneira fácil de fazer isso é utilizar um Live CD, tipo o Knoppix Std que inclue ambas as ferramentas de verificação de arquivos e a base de dados de integridade do seu sistema.

43

Existem mais de 28 funcionalidades incluídas: CAP_BSET, CAP_CHOWN, CAP_FOWNER, CAP_FSETID, CAP_FS_MASK, CAP_FULL_SET, CAP_INIT_EFF_SET, CAP_INIT_INH_SET, CAP_IPC_LOCK, CAP_IPC_OWNER, CAP_KILL, CAP_LEASE, CAP_LINUX_IMMUTABLE, CAP_MKNOD, CAP_NET_ADMIN, CAP_NET_BIND_SERVICE, CAP_NET_RAW, CAP_SETGID, CAP_SETPCAP, CAP_SETUID, CAP_SYS_ADMIN, CAP_SYS_BOOT, CAP_SYS_CHROOT, CAP_SYS_MODULE, CAP_SYS_NICE, CAP_SYS_PACCT, CAP_SYS_PTRACE, CAP_SYS_RAWIO, CAP_SYS_RESOURCE, CAP_SYS_TIME, and CAP_SYS_TTY_CONFIG. Todas elas podem ser desativadas para melhorar a segurança do seu kernel.

44

Você não precisa instalar o lcap para fazer isto, mas é melhor do que configurar o /proc/sys/kernel/cap-bound na mão.

45

Se você for aventureiro, você pode efetuar o logon no sistema e salvar as informações de todos os processos em execução (várias dessas informações estão em /proc/nnn/). É possível pegar todo código executável da memória, mesmo se o invasor tiver excluído os arquivos executáveis do disco. Então puxe o cabo de força.

46

. De fato, esta é a ferramenta usada para compilar os CDROMs para o projeto Gibraltar (um firewall em um live-CD baseado na distribuição Debian).

47

Esta é a lista de alguns CERTS, para uma lista completa veja o FIRST Member Team information (FIRST significa Forum of Incident Response and Security Teams): AusCERT (Austrália), UNAM-CERT (México) CERT-Funet (Finlândia), DFN-CERT (Alemanha), RUS-CERT (Alemanha), CERT-IT (Itália), JPCERT/CC (Japão), UNINETT CERT (Noruega), HR-CERT (Croácia) CERT Polskay (Polônia), RU-CERT (Rússia), SI-CERT (Eslovênia) IRIS-CERT (Espanha), SWITCH-CERT (Suiça), TWCERT/CC (Taiwan), e CERT/CC (US).

48

Neste exemplo, baseado nos dados da Securityfocus, pode ser visto que o Windows NT é mais seguro que o Linux, o que é uma afirmação questionável. Apesar de tudo, as distribuições do Linux geralmente oferecem mais aplicações comparadas ao Windows NT da Microsoft. Estas situações de contagem de vulnerabilidades são melhor descritas em Why Open Source Software / Free Software (OSS/FS)? Look at the Numbers! por David A. Wheeler

49

Sem mencionar o fato que algumas distribuições, tal como a Red Hat ou Mandrake, também estão permitindo que o usuário selecione perfis de segurança ou usando assistentes para ajudar na configuração de firewalls pessoais.

50

Note que isto é "segurança pela obscuridade" e provavelmente este esforço não valerá a pena em longo termo.

51

Observe que não existem arquivos SETUID. Isso torna mais difícil para usuários remotos fugir o ambiente chroot. Entretanto, isso também previne que os usuários alterem suas senhas, já que o programa passwd não pode modificar os arquivos /etc/passwd ou /etc/shadow.


Securing Debian Manual

v3.1,

Javier Fernández-Sanguino Peña mailto:jfs@debian.org
Autores, Seção 1.1