Posso simular um bucket do S3 descendo quando ele é acessível ao usuário root?

5

Estou tentando testar o novo código de monitoramento de rede para um aplicativo executado em um dispositivo Debian. No momento estou encarregado de garantir que uma interceptação SNMP seja lançada quando compartilhamentos de rede externos (como buckets S3) são montados com o FUSE e a conexão está quebrada.

O problema é que, para tornar o compartilhamento inacessível, aparentemente teria que tornar os arquivos não-graváveis (ou bloquear todos os IPs relacionados ao S3 possíveis com o iptables) e não posso bloquear o acesso de gravação se o intervalo for destinado a ser lido e gravado pelo usuário root e é monitorado pelo usuário root.

Existe alguma maneira de fazer esse programa, executado como root, achar que o balde caiu?

P.S. Eu não posso fazer esses buckets usando o chattr porque, afaik, o S3 não suporta o conceito de atributos como imutabilidade.

    
por jajavoli 03.02.2016 / 19:36

3 respostas

3

Existem muitas maneiras de simular algo. Você já disse um que é usar as regras de bloqueio do iptables.

Outra maneira muito simples - desconecte o roteador de rede para que o software de monitoramento ainda possa ver o host, mas o host não pode falar com o S3 (ou qualquer outra coisa). Para mim, isso é o mais simples, mas em alguns casos pode não ser apropriado.

Outra opção é editar o arquivo de hosts no servidor e adicionar alguns IPs fictícios para os nomes de host do S3 para que eles sejam resolvidos no lugar errado. ou seja, use um IP que não seja atribuído a nada. Portanto, todas as solicitações S3 do host tentarão ir até lá, mas não poderão. Quando terminar, basta excluir o IP do arquivo hosts e tudo voltará à vida sem reiniciar.

    
por 03.02.2016 / 20:25
1

Por que não apenas verificar a existência de um arquivo específico no bucket S3. Se não estiver lá, jogue sua armadilha SNMP.

Criar / excluir este arquivo tornará muito simples a verificação de que seu script está funcionando corretamente.

    
por 03.02.2016 / 19:39
1

I cannot block write access if the bucket is meant to be read from and written to by the root user, and is monitored by the root user.

Esta história começa e termina com o facto de este intervalo precisar de ser acedido através do IAM. Sua conta root no AWS existe apenas para configurar as funções do IAM. Assim que tiver essa configuração, você poderá alterar os privilégios do IAM para testar.

    
por 03.02.2016 / 19:51