Melhorando o nível de segurança com chflags
FreeBSD é um sistema bastante seguro na sua concepção. Foi escrito e auditado com base em parâmetros de segurança mundiais. O administrador de rede pode implementar perspectivas de segurança desde de sua instalação. Para teste foi utilizado o FreeBSD 7.2-RELEASE.
[ Hits: 14.648 ]
Por: cristofe coelho lopes da rocha em 18/01/2010
CHFLAGS(1)
FreeBSD é um sistema bastante seguro na sua concepção. Foi escrito e auditado com base em parâmetros de segurança mundiais. O administrador de rede pode implementar perspectivas de segurança desde de sua instalação. Contudo, algumas aplicações portadas não seguem os mesmos padrões ficando a responsabilidade para o administrador.
A segurança em arquivos do sistema é comumente implementado ajustando o modo ou permissões as quais são aplicadas em nível de usuário, grupo e other (outros). Como a maioria dos administradores de sistemas conhecem.
Desta forma por padrão o usuário root e/ou dono do arquivo poderão alterar estas permissões e manipular os arquivos, o que torna vulnerável o sistema mediante a uma possível intrusão no sistema com ganho de privilégios.
Baseadas nestas vulnerabilidades foram escritas algumas UserLands para facilitar a vida do administrador.
Utilizando CHFLAGS(1)
CHFLAGS - Change file Flags.
É um utilitário nativo do FreeBSD desde a versão 4.4. A finalidade é marcar o arquivo para diversas finalidades. Abordaremos aqui as marcações com foco em segurança de sistemas.
Sintaxe:
chflags <flags> <arquivo_alvo>
Flags utilizadas:
1) nodump - Marca o arquivo como nodump. Não permite backup com o utilitário dump. Todavia o dump 0 executa backup de arquivos com flags nodump. Esta marca só tem efeito para dump incremental - dump(8).
As marcas abaixo são ajustadas somente pelo usuário root, não podendo ser reajustada caso o nível de execução do sistema seja =1 ou superior.
2) schg, schange - System-level imutable. O arquivo se torna imutável e seu conteúdo não pode ser alterado, incrementado e não ele pode ser apagado.
3) sappnd, sappend - System-level append only. O arquivo com esta marca pode ter conteúdo adicionado, mas não pode ser removido e nem editado. Caso seja feito, a permissão será negada.
4) sunlink - Undeletable. Arquivo não pode ser apagado pelo proprietário.
As marcas abaixo são ajustadas pelo usuário proprietário ou root, podendo ser ajustada em qualquer nível de execução do sistema.
5) uchg, uchange - System-level imutable. Previne erros, mas não é muito interessante para segurança, pois é ajustada pelo usuário proprietário ou root podendo ser modificada em qualquer nível do sistema. Ou seja, em uma possível intrusão com ganho de privilégios o invasor poderá alterar a marcação.
6) uappnd, uappend - System-level append only. Arquivos com esta marca podem ter conteúdo adicionado, mas não pode ser removido e nem editado. Caso seja feito, a permissão será negada.
6) uunlink - Undeletable. Arquivo não pode ser apagado pelo proprietário. Contudo pode ser ajustado pelo usuário proprietário ou root em qualquer nível de execução do sistema.
Para remover as flags ajustadas adicionar "no" + flag.
Ex.: Flag -> uchange, comando: chflags nouchange <arquivo>
Para inserir marcas em diretórios utilizar parâmetro <-R> (recursivo):
Ex.: Flag -> uchange, comando: chflags -R uchange /diretório
Para listar arquivos com suas respectivas marcas:
# ls -lo
Próxima página
Páginas do artigo
1. CHFLAGS(1)
2.
Níveis de segurança
Outros artigos deste autor
Alta disponibilidade com CARP
Festa com SQL injection
Backups com TAR e DUMP
Esgotando os recursos
Redes definidas por Software com Mininet e POX - Criando meu primeiro Controlador
Leitura recomendada
Configurando um servidor Freeradius + openLDAP
Defesa pessoal com o GPG, Nautilus Scripts, partições encriptadas e leves doses de paranoia
Seu maior inimigo é você mesmo!
Linux - Permissões de acesso especiais
Lynis: Sistema de auditoria e segurança para Linux
Comentários
Nenhum comentário foi encontrado.