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.664 ]
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
Esgotando os recursos
Alta disponibilidade com CARP
Fingerprint: Conhecimento TCP
Um dia depois da inundação
Varredura bruta com NMAP
Leitura recomendada
Proxy reverso com ModSecurity no Debian Etch
VPN em Linux com OpenVPN
Resetando senha de usuário root em sistemas Debian e Red Hat
Monitorando máquinas Windows com o Nagios
Intrusão simples com Metasploit
Comentários
Nenhum comentário foi encontrado.