Desvantagens de ter o www-data capaz de efetuar login

4

Eu corro um pequeno servidor web basicamente apenas para hospedar pequenos projetos e arquivos de dados. Este servidor tem um endereço IP público.

Eu gostaria de poder fazer o FTP e fazer upload de arquivos diretamente para /var/www/* e, portanto, estou pensando em permitir que o usuário www-data tenha uma senha e faça o login diretamente. Isso também evitaria que eu precisasse alterar a propriedade de arquivos toda vez que fizesse alguma coisa em um diretório da web (que atualmente estou fazendo como root, então também há um risco de segurança).

Existe algum risco de segurança para permitir que o usuário do www-data efetue login? Se sim, qual a melhor alternativa?

    
por Ari B. Friedman 25.05.2013 / 12:55

2 respostas

7

Um risco de segurança é que você pode possivelmente matar ou atacar o próprio servidor da Web (porque você está usando o mesmo usuário.) Isso provavelmente não é o que você deseja. Mesmo provavelmente quando você usa root, certo.

Duas soluções:

  1. Crie um subdiretório abaixo de /var/www para você mesmo, aplique-o a você mesmo e use seu próprio usuário. (ou crie um novo)

    Exemplo:

    root@box# mkdir /var/www/joes-toys
    root@box# chown joeuser:joegroup /var/www/toys
    root@box# chmod u=rwx,g=rx,o=rx
    
  2. Coloque seu usuário (seu próprio usuário ou um novo) no grupo www-data e verifique se o grupo tem permissão de gravação em /var/www

    Exemplo:

    root@box# adduser joeuser www-data
    root@box# chgrp -R www-data /var/www
    root@box# chmod -R g+w /var/www
    

P.S .: Não use FTP sem criptografia nos dias de hoje! Use sftp (do pacote ssh) ou pelo menos ftps (ftp over ssl).

    
por 25.05.2013 / 12:59
4

Os processos do daemon geralmente não conseguem efetuar login por vários motivos. Entre outros, a segurança é um problema significativo. Assume-se que www-data esteja disponível em seu sistema se você estiver executando servidores da Web em várias plataformas. Se eu conseguir fazer logon nesse ID de usuário, posso facilmente comprometer seu servidor da Web e / ou seu conteúdo. (Pense em fornecer malware.)

É melhor não ter o www-data dos arquivos. O importante é que www-data seja capaz de ler os arquivos. Considere criar um ID do usuário com o mesmo grupo e permitir que o usuário faça o FTP. Para melhorar a segurança, forneça o menor número possível de diretórios que o servidor da Web pode gravar.

    
por 25.05.2013 / 23:31