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.
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.
[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) ?
[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.
[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