É mais perigoso se conectar à rede como root?

5

Se eu fizer algum tipo de conexão tcp com a rede como root, isso é menos seguro do que fazer a mesma conexão tcp de um usuário normal?

Eu tenho suspeitado por um tempo que fazendo uma conexão como root, isso abre a possibilidade de um hacker do outro lado entrar em meu sistema como root.

Mas se eu me conectar como um usuário normal, eles poderão entrar como um usuário, o que seria um risco de segurança menor, já que eles não têm privilégios de root.

Estou certo?

    
por PROXY NINJA 23.01.2013 / 16:30

2 respostas

8

Isso não importa se você cria a conexão tcp como root ou usuário regular. A criação de soquetes é um negócio de kernel e as conexões TCP são um nível de transporte do modelo OSI

Mas o software que você usa (nível de aplicativo) pode conter vulnerabilidades de software e o hacker pode explorá-las. Portanto, a recomendação básica é não executar o aplicativo com privilégios de root.

    
por 23.01.2013 / 16:56
2

Raiz ou não raiz, este é um assunto local para sua máquina. Não altera o que o par recebe no outro lado da conexão.

Se o software que você usa para a conexão tiver uma vulnerabilidade séria que permita ao servidor remoto seqüestrar seu aplicativo, abrir a conexão como root significa que o invasor obterá uma raiz processo na sua máquina. Por outro lado, se você abrir a conexão como um usuário não-root, o invasor obterá um processo não-raiz. Não importa muito na prática: se o invasor puder executar código arbitrário sob seu UID (que você usa para fazer tudo na sua máquina), então você está condenado de qualquer maneira.

O mantra usual de "não rodar como root" é parcialmente um recurso de contenção de danos, mas na maior parte é antigo conhecimento de tempos em que um sistema Unix típico era usado por dezenas de usuários simultâneos; esse era o modelo de mainframe . Este modelo é de aplicabilidade limitada ao que fazemos hoje em dia, com máquinas que são sistemas de usuário único de fato. Você ainda deve executar seu processo como não-raiz, mesmo que apenas por uma questão de Tradição (a tradição é importante no mundo Unix).

Se você realmente deseja uma camada de isolamento eficaz, execute o processo de rede em um sandbox : chroot environment, possivelmente uma máquina virtual (é o que Qubes ).

    
por 24.01.2013 / 03:13

Tags