VPN, bridge, roteador ou firewall?

1

Por favor, ajude-me a descobrir qual caminho de implementação seguir para a seguinte tarefa:

Eu tenho um dispositivo blackbox que funciona como um servidor da Web (posso conectar-me localmente digitando seu endereço IP no campo de endereço do navegador.) A caixa não implementa nenhuma medida de segurança, exceto o nome de usuário simples e uma senha. Isso certamente é bom quando esse servidor está em uma rede isolada, mas eu desejo ter acesso a ele da Internet - isso é de qualquer lugar do mundo. Com isso, desejo usar a segurança TLS para criptografia de dados.

Tendo disponível um Rasbperry PI (e o software openVPN), achei que ele se encaixaria nessa aplicação. Há muitos tutoriais diferentes sobre como implementar VPN, bridge, roteador e firewall usando o Raspberry PI, mas não consigo descobrir qual das quatro funcionalidades é adequada para o meu aplicativo. O diagrama conceitual é mostrado abaixo:

ORaspberryPiteráduasinterfacesderedeparaacessoàinternet:umaatravésdeethernetdeaterramento(eth0),aoutra-usandointernetdecelular(eth1)-quejáestádisponível,favorecendoaconexãoàinternetemterra.OsendereçosIPdasduasinterfacesserãoconhecidos.Aterceirainterfaceethernet(eth2)seráconectadaàredelocalatravésdoswitch.Oservidortambémseráconectadoaoswitch.Eunãotenhocontrolesobreoservidor(éumacaixapreta)-eusóseiseuendereçoIP.

AidéiaéqueoPIdeframboesafuncionecomoumintermediárioentremimeoservidor,paraqueeupossaconectarcomsegurançaaoseuaplicativodawebusandomeunavegadordaweb.MasqualfuncionalidadeoRaspberryPideveimplementar:VPN,roteador,bridgeoufirewall?

EDITAR:

Atarefaqueafirmeiacimaeramuitodifícilparamim(faltadecompetência)edecidisimplificaraconfiguraçãoparacomeçar.Eunãoqueriaremoverapartesuperiordaquestãoapenasparaocasodealguémaencontraresuasrespostascorrespondentesseremúteis.Emvezdisso,minhanovaconfiguração(simplificada)teriaaseguinteaparência:

ORPseriaconectadoàInternetpormeiodainterfaceppp0edirecionariatodootráfegoparaainterfaceeth0queseriadiretamenteconectadaoservidor:

1.dynamicppp0IPaddress(givenbycellserviceprovider)2.staticeth0IPaddress(assignedbyme)3.non-secureinternetconnection4.RPisconnectedtotheserverdirectly(noswitchneeded)

Encontreiváriassoluções,como this e isto , mas eles não explicam claramente porque as coisas são feitas dessa maneira. Eles também fornecem diretivas de linha de comando que eu não sei como desfazer . Em vez disso, gostaria que alguém fizesse referência aos arquivos de sistema / configuração reais que eu poderia editar e reverter, se necessário.

Atualmente, quando conecto o RPi ao servidor da web, posso navegar pelo navegador da web. O objetivo é poder acessar o servidor web da internet através do RPi. Alguém poderia fornecer um tutorial educacional sobre como configurar corretamente o roteamento, levando em consideração que a interface ppp0 iria para CIMA e PARA BAIXO dependendo da conectividade celular, bem como seu endereço IP seria diferente e desconhecido todas as vezes.

    
por Nazar 09.06.2018 / 01:43

2 respostas

3

TLDR;

Você precisa de um firewall para proteger seu servidor da Web, e seu roteador provavelmente já fornece essa funcionalidade.

DETALHES

Tudo o que você realmente precisa é de um firewall & SSL para proteger seu servidor da web. Se o seu roteador doméstico já fornece isso, o Raspberry Pi não lhe dará mais segurança.

Você deve usar o SSL para proteger a comunicação com seu servidor da web. Você poderia usar o Raspberry Pi como um proxy reverso para fornecer a funcionalidade SSL, mas os proxies reversos existem porque a criptografia SSL é pesada e o proxy retira a carga SSL do servidor da web. O Pi provavelmente tem muito menos computação do que o seu servidor web. Mas se você está procurando por um projeto Pi, isso pode ser divertido.

Um equívoco comum é que a VPN é "mais segura" do que sem. Uma VPN é simplesmente criptografia + encapsulamento. O tunelamento é o que permite que ambas as redes acreditem que estão na mesma rede. A menos que você esteja tentando "casar" duas redes, não precisa de VPN. SSL + firewall deve estar bem.

    
por 09.06.2018 / 02:07
1

A solução mais simples seria configurar seu Pi como um dispositivo de roteador / firewall - ou seja, você desejaria solicitações de firewall para o servidor da Web para que eles percorressem o PI apenas se passassem pela interface VPN que termina nele. mas não irá isolar o Pi de outros dispositivos na sua LAN. Isso significa que só funcionará todas as conexões da Internet são forçadas através do Pi conforme o seu diagrama. Se outro dispositivo na LAN for comprometido, o acesso ao servidor da web poderá ser adquirido por meio dele.

(Se você está procurando uma solução simples e uma solução moderadamente segura, você pode ignorar tudo abaixo)

Existem cenários mais complexos e caros que você pode usar. Em vez de usar um switch regular, você poderia usar um switch gerenciado e configurar o servidor da web em sua própria VLAN, que é visível apenas para o Pi (ou seja, o Pi falará em várias VLANs). Você também colocaria o servidor web em seu próprio endereço IP, permitindo que outros dispositivos na LAN falassem com ele, mas somente através do Pi.

Você pode expandir ainda mais a ideia de switch acima, fazendo o firewall da VLAN em que o servidor Web está, de modo que somente pacotes originados na interface VLAN do PI possam falar na porta 80. Você pode adicionar um proxy reverso exemplo usando Apache) para o Pi, que pode responder na porta 443 e, em seguida, buscar solicitações do servidor na porta 80. Usando um certificado do lado do cliente e regular você pode garantir que apenas pessoas que podem obter acesso ao roteador e pessoas com um certificado de cliente poderá se conectar.

    
por 09.06.2018 / 03:02