Qualquer superusuário que tenha acesso ao Jenkins em execução em um servidor Linux pode facilmente desabilitar a autenticação de segurança do arquivo config.xml; em seguida, faça login e também poderá descriptografar senhas confidenciais do console.
Como um desenvolvedor de aplicativos pode proteger o Jenkins (ou qualquer software) dos administradores do servidor onde o aplicativo está hospedado.
Existe alguma maneira de monitorar alterações em um arquivo para protegê-lo de superusuários?
Responder1
Resposta curta - você não pode. Eles têm acesso ao console, discos físicos, etc.
Resposta longa: você precisa limitar o acesso dos administradores nessas máquinas, políticas mais granulares, auditoria. O que isto significa? Você concede acesso root apenas aos administradores que assinam um NDA, permite alguns deles apenas determinadas operações na máquina via sudo, registra todos os acessos a uma syslog
máquina remota. Você limita o que está instalado. Você pode auditar o acesso a arquivos com auditd
e auditctl
. No ext4 você pode tornar o arquivo imutável comchattr +i <filename>
Outra alternativa é usar um sistema operacional muito enxuto e que tenha apenas o aplicativo e nenhum acesso SSH ou console.