É portfowarding para o meu localhost no meu computador pessoal Ubuntu seguro?

5

Após instalar o Lamp no meu computador Ubuntu, estou executando um aplicativo que requer conexão à web e envio de mensagens SMTP; por exemplo, o paypal precisa de um endereço www para notificar pagamentos bem-sucedidos ou com falha ...

Consegui corrigir o problema adquirindo um domínio .tk gratuito, alterando a preferência do meu roteador e o encaminhamento de porta para o IP do meu computador.

Isso é seguro? Eu tenho um firewall, restringindo apenas o acesso à porta: 80. É o meu computador pessoal, onde tenho arquivos pessoais (com exceção da minha pasta / var / www).

Existe uma opção ou otimização melhor?

Eu estava pensando em instalar um Ubuntu Server no Vmware Workstation, e porta de entrada para o servidor virtual, mas pode levar muitos recursos.

    
por Rick Rhodes 06.12.2011 / 01:40

2 respostas

7

Ele será tão seguro quanto a configuração do seu servidor Web e seu aplicativo da Web, assim como seria se fosse implantado em um servidor Web "real". Se o servidor da Web estiver sendo executado como o usuário do www-data, você poderá alterar as permissões do seu diretório pessoal para algo que o usuário do www-data não possa ler:

cd ~
chmod 750 .

Execute enquanto estiver logado como seu próprio nome de usuário. O resto não pode ser adivinhado sem muita informação sua, incluindo o próprio aplicativo da Web. Mas, pelo menos, isso pode oferecer um pouco mais de tranquilidade sabendo que seus arquivos em seu diretório pessoal não serão lidos.

Adicione outra camada criando um arquivo .htaccess no DOCUMENT_ROOT (/ var / www /?) para que qualquer pessoa que acesse o servidor Web precise fornecer um nome de usuário e senha primeiro. Isso sempre pode ser removido no momento da implantação.

Supondo que você esteja usando o Apache ... edite seu arquivo de configuração do Apache para certificar-se de que qualquer diretiva AuthConfig que você adicionar funcionará. Na diretiva "Diretório" que especifica a raiz do seu documento, certifique-se de ter o AuthConfig em sua instrução AllowOverride:

AllowOverride AuthConfig

Você também pode usar "Todos":

AllowOverride All

Isso nos permite colocar as diretivas do Apache em arquivos .htaccess. Agora crie um arquivo de senha em algum lugar fora da parte pública do site. Aqui eu crio (-c) um arquivo de senhas com o nome de senhas em / usr / local / etc / apache / com o usuário inicial, my_username. Ele solicitará a senha.

sudo mkdir -p /usr/local/etc/apache/
sudo htpasswd -c /usr/local/etc/apache/passwords my_username

Em seguida, coloque algumas diretivas do Apache AuthConfig na raiz do documento. Se a raiz do documento for / var / www /, use seu editor favorito para criar um novo nome de arquivo .htaccess ...

sudo vim /var/www/.htaccess

O conteúdo desse arquivo ...

AuthType Basic
AuthName "My Web App"
AuthUserFile /usr/local/etc/apache/passwords
Require user my_username

Salvar. Alterar proprietário e permissões, se estiver executando como www-data:

sudo chown www-data /var/www/.htaccess
sudo chmod 400 /var/www/.htaccess

Agora, ninguém pode usar o servidor da Web sem nome de usuário e senha, além de o servidor da Web não poder ler seus arquivos pessoais. Eu não sei como ou se esse método de senha poderia funcionar, no entanto, quando o PayPal está redirecionando de volta para você.

Suponho que você poderia mover o .htaccess para dentro e para fora do diretório / var / www, conforme necessário, enquanto você está desenvolvendo a parte de retorno do PayPal do seu aplicativo da Web.

    
por user8290 06.12.2011 / 02:43
4

Acho melhor entender as implicações do encaminhamento de porta.

Normalmente, o seu roteador está agindo como um firewall e, normalmente, ele bloqueia todas as conexões NOVAS que tentam acessar seu servidor, no seu caso o apache.

Portanto, se você NÃO encaminhar a porta 80 do roteador para o servidor da Web local, ela poderá ser acessada somente de dentro, de outros usuários da sua LAN.

Quando você encaminha a porta 80 e registra um FQDN, outros, de fora de sua LAN, também podem acessar seu servidor.

FQDN = Nome de Domínio Totalmente Qualificado, no seu caso = seu nome .tk.

Isso traz benefícios, você pode executar seu servidor de e-mail e compartilhar seus arquivos pessoais, mas também expõe seu servidor a crackers.

Então, sim, é um buraco de segurança (potencial). Você deve procurar proteger o apache e monitorar os registros em busca de atividades suspeitas.

Eu não seria excessivamente paranóico, mas não avançaria sem entender como proteger seu servidor de e-mail e o apache e aprender a observar os logs (é necessário um pouco de tempo para entender o que é atividade "normal" nos registros ).

Trabalhe com a documentação de segurança do Apache, não se sinta sobrecarregado, é uma tonelada de informações, mas também não a ignore.

Em geral, a necessidade de proteger um servidor da Web é proporcional ao valor dos dados no servidor, portanto, você não é um alvo tão grande quanto uma instituição financeira.

    
por Panther 06.12.2011 / 02:19