Segurança extrema com LIDS: novos recursos

Quem leu o primeiro artigo sobre LIDS que postei aqui não deve perder esta segunda parte, onde são tratados os novos recursos de sua versão 1.2 e apresentadas as evoluções desse formidável sistema.

[ Hits: 40.581 ]

Por: Anderson L Tamborim em 29/05/2004 | Blog: http://y2h4ck.wordpress.com


Trusted Path - Trusted ACL - Regras



Para melhorar a proteção que o LIDS oferece a nossa máquina, o TPE foi dividido em 3 componentes e veremos eles abaixo:

Trusted Path


Não é muito usual devido que, para que o diretório seja protegido, deve ser do root e do grupo dele, já que a verdadeira função e essência do LIDS é proteger o sistema e tirar do usuário root o poder absoluto. Então as melhores opções que temos para proteger determinados diretórios é a proteção mínima de marcá-los como READONLY. Vamos ver alguns exemplos logo abaixo:

# lidsconf -A -o /sbin -j READONLY
Executáveis abaixo do /sbin estão como "Trusted".

# lidsconf -A -o /lib -j READONLY
Libraries abaixo do /lib estão como "Trusted".

# lidsconf -A -o /lib/modules -j READONLY
Módulos abaixo do /lib/modules estão como "trusted".

# lidsconf -A -o /var/workdir -j READONLY
# lidsconf -A -o /sbin/application_a -j READONLY
# lidsconf -A -s /sbin/application_a -o /var/workdir -j WRITE


Como application_a está protegido como READONLY e tem permissão de WRITE em workdir, então arquivos que estão dentro do /var/workdir serão considerados confiáveis.

Trusted ACLs


Não é muito interessante do ponto de vista que teremos que definir quais binários podem ser executados e tudo mais no sistema. O foco do LIDS está mais voltado para os binários/programas do que os usuários que irão executá-los, isso já pode ser considerado nosso LIDS ACL :)

Regras


Podemos definir uma regra básica que nos tiraria muitas dores de cabeça, como por exemplo: somente binários confiáveis podem rodar e apenas libraries e módulos confiáveis podem ser carregados no sistema.

Mataríamos possibilidades múltiplas de comprometimento :)

Mas vamos parar para pensar um momento, se formos realmente analisar o conceito do TPE veremos que ele já existe na versão current do LIDS. Quando nós setamos CONFIG_LIDS_NO_EXEC_UP como Y na hora da instalação do kernel com o LIDS, ele não irá executar programas depois que o kernel for selado (lidsadm -I). O que foi feito é apenas uma pequena melhoria no código para que possamos fazer isso antes de selar a kernel e que certos arquivos sejam executados mesmo com o kernel selado.

Página anterior     Próxima página

Páginas do artigo
   1. LIDS: Para os que chegaram de pára-quedas
   2. LIDS TPE (Trusted Path Execution)
   3. Trusted Path - Trusted ACL - Regras
   4. User space
   5. Kernel space
   6. Referências e links
Outros artigos deste autor

Libsafe: Protegendo Linux contra Smashing Overflow

Race condition - vulnerabilidades em suids

SECtool - Análise Local para Linux

Security Hacks: Linux & BSD

PaX: Solução eficiente para segurança em Linux

Leitura recomendada

Instalando e configurando o BackupPC

Elaborando uma política de segurança para a empresa

Entrevista com um hacker, via Internet

Nikto - Tutorial básico e avançado

PHLAK :: [P]rofessional [H]acker's [L]inux [A]ssault [K]it

  
Comentários
[1] Comentário enviado por vdiago em 29/05/2004 - 09:12h

isso sim é artigo de qualidade.

estou pensando em postar um bom sobre snort.

[2] Comentário enviado por naoexistemais em 30/05/2004 - 03:09h

Caro Vdiago,

Com certeza mais uma artigo com qualidade, enquanto isso tem as pessoas alheias que criticam. Dor de cotovelo...

Spawn parabéns...

Falou

[3] Comentário enviado por cvs em 30/05/2004 - 10:07h

Eu não to vendo nenhum critica aqui... kd as criticas? duh -_-

Muito bom mesmo esse artigo... fazendo do jeito que ensinei hein Spawn... heheheheh :D _o/

[4] Comentário enviado por naoexistemais em 30/05/2004 - 21:44h

Caro CVS,

O Spawn sabe do que estou falando, que excepcionalmente esse aqui não criticaram..(risos)

Os incompetentes.. sabe criticar..

[5] Comentário enviado por y2h4ck em 30/05/2004 - 22:28h

nem me fala wrochal rsrs...

Bom por enquanto ta tudo tranquilo,
eheheh vamos ver quanto tempo dura !!

;)

Espero que o pessoal esteja curtindo o Artigo.

[]s a todos

Spawn Locoust

[6] Comentário enviado por mpsnet em 01/06/2004 - 09:38h

Li recentemente seu primeiro artigo sobre o LIDS, e vi uma observação interessante. Pelo que percebi não é muito viável instalar o LIDS em desktop's. A pergunta é !
Não é viavel somente devido as configuraçoes ?
Se for configurado adquadamente ele roda (leve e normalmente) ?

Grato !
Abraço

[7] Comentário enviado por y2h4ck em 01/06/2004 - 11:23h

Bom como disse o problema na viabilidade dele e o seguinte ... pense comigo em um cenario:
Voce tem um servidor de emails, so voce tem acesso a ele, oq vc faz
instala o LIDS, configura ele robustamente, e modifica as capacidades do sistema para que somenete determinados binarios possam ter capacidade de SETUID e SETGID... trava o kernel dele e pronto vc estara seguro e podera ter certeza que mesmo um atacante ganhando acesso shell ao seu sistema, ele nao conseguiria elevar os priviegios dele ( a menos que o sistema explorado seja oq tem permissao para essa capacidade ).

Agora esse tipo de proteção vc nao conseguiria na sua estação pq imagine os transtornos que vc teria com os seus programas.

Agora eu uso o lids no meu destop sim ele roda leve e normalmente,
oq vc pode fazer e proteger seus binarios, logs e tudo mais :)

assim alguma miguinho seu que tem acesso na maquina nao vai zuar suas coisas e adicionar usuarios novos ..

Mas vale a pena sentar e deixar ele rodando legal mesmo em seu Desktop.

valew :) []s

[8] Comentário enviado por mpsnet em 01/06/2004 - 15:38h

Valew pela dica !!!!

os: Se vc puder me enviar um .conf do LIDS eu agradeço
("não sou preguiçoso, vou tentar configurar sozinho, é só pra ter
um suporte")

[]s

[9] Comentário enviado por y2h4ck em 01/06/2004 - 17:52h

Bom vc lendo o primeiro artigo vc vai ter o suporte necessario para realizar a configuracao que vc precisa :)

boa sorte []s

[10] Comentário enviado por mpsnet em 06/06/2004 - 23:12h

pq qdo tendo usa o comando :
# lidsadm -S -- +LIDS_GLOBAL
retorna um erro dizendo que nao encontrou o diretório ou arquivo
/proc/sys/lids/lock

valew!

[11] Comentário enviado por peregrino em 20/12/2004 - 17:49h

Tive alguns problemas para instalar o LidsTools no slackware 10.0, sempre quando tentava compilar o lidstool dava uma mensagem de erro.

cd . && /bin/sh /sistema/source/lids-1.2.2-2.4.28/lidstools-0.5.6/missing --run aclocal-1.6
/sistema/source/lids-1.2.2-2.4.28/lidstools-0.5.6/missing: line 46: aclocal-1.6: command not found
WARNING: `aclocal-1.6' is needed, and you do not seem to have it handy on your
system. You might have modified some files without having the
proper tools for further handling them. Check the `README' file,
it often tells you about the needed prerequirements for installing
this package. You may also peek at any GNU archive site, in case
some other package would contain this missing `aclocal-1.6' program.
make: *** [aclocal.m4] Error 1

Resolvemos esse problema com a seguinte solução, na pasta do lidstools digete os seguintes comandos.

ln -s /usr/bin/autoconf /usr/bin/autoconf-1.6
ln -s /usr/bin/automake /usr/bin/automake-1.6
./configure --prefix=/usr --sysconfdir=/etc/lids
./missing --run aclocal
make
make install

Achamos que seria interessante colocar essa dica no tutorial, falow

Peregrino - peregrino_273@hotmail.com
K0r34 - k0r34@hotmail.com


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts