Para que um shell reverso possa ser usado, sua rede já deve estar quebrada.
-
Portanto, não instale um rootkit e você estará bem;) Atenha-se aos repositórios e se realmente precisar de PPAs do launchpad. Verifique se o que você instala é de uma fonte segura. Não instale software que não seja necessário, desabilite os serviços de que você não precisa, mantenha seu sistema atualizado. Fique de olho nos arquivos de log e fique de olho nos seus logs do seu roteador. E desligue a máquina quando não a estiver usando (não a mantenha durante a noite, por exemplo).
-
Resposta simples: Se você deixar seu sistema ser hackeado, não conseguirá impedir um shell reverso.
-
Resposta mais elaborada: Impedir a criação de conexões TCP de saída, com exceção de endereços confiáveis, é uma maneira de dificultar a criação de um shell invertido por alguém. Mas você limitará seriamente seu sistema: isso também impedirá a navegação na internet, correções instaladas via HTTP e se você usá-lo, atualizar antivírus é basicamente bom para um servidor, péssimo para um desktop.
Isso evitará tudo, exceto as pesquisas de DNS ( fonte ):
iptables -A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -j REJECT
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 23 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -p tcp --dport 445 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp --dport 5432 -j ACCEPT
iptables -A INPUT -p tcp --dport 8009 -j ACCEPT
iptables -A INPUT -p tcp --dport 8180 -j ACCEPT
iptables -A INPUT -p tcp --dport 21107 -j ACCEPT
iptables -A input -j REJECT
Mas a porta 53 ...
$ grep Domain /etc/services
domain 53/tcp # Domain Name Server
ainda permitirá um shell reverso sobre esta porta, basicamente, tornando impossível impedi-lo sem tornar seu sistema totalmente inutilizável.
Então, para voltar à primeira parte: deixe o sistema como está atualmente e não permita que um usuário mal-intencionado tenha acesso ao seu sistema. Então você não precisa se preocupar com shells reversos.