Parece que você tem um bom conjunto de verificação.
Proteger seus arquivos para que o servidor não possa escrevê-los interrompe uma série de ataques. Alterar a propriedade para um ID de usuário diferente de www-data
e limitar o acesso de gravação ao proprietário impedirá a maioria das tentativas de alterar seu conteúdo. Limite o acesso de gravação por www-data (o servidor da web) ao menor número de diretórios e arquivos possível.
Se o seu conteúdo for basicamente estático, você pode considerar um banco de dados de soma de verificação como o Tripwire.
Se o seu conteúdo estiver em um sistema de controle de revisão, você poderá usar um ID somente leitura para atualizar o site. Usando o utilitário diff do seu RCS encontrará quaisquer alterações.
Um scanner de log como logcheck
pode relatar alguns ataques.