Anonim

És el 2017 i l'ús d'una VPN s'ha convertit en una idea que no és capaç. Entre un munt de preocupacions externes sobre privadesa i el vostre propi ISP que pugueu vendre el vostre historial de navegació, no hi ha cap justificació per no utilitzar-ne un.

Per descomptat, podeu pagar un dels centenars de serveis VPN que hi ha, però, un cop més, confieu en una altra persona amb les vostres dades. La majoria són fantàstiques, en realitat, però si voleu un control complet, podeu crear la vostra pròpia VPN en un punt de sortida (VPS) rival o llogar el vostre propi servidor privat, si voleu ser realment dur.

Tot el que necessiteu per crear una VPN és el programari OpenVPN i Linux (o BSD) de codi obert. La configuració es pot implicar, però algú que tingui habilitats bàsiques de Linux no sigui impossible tirar endavant una distribució com Ubuntu.

Per a aquesta guia, necessitareu un VPS amb Ubuntu. Podeu recollir-lo molt fàcilment a algú com DigitalOcean o Linode . Seguiu les seves guies bàsiques de seguretat per configurar-vos. Assegureu-vos que no cometeu errors bàsics com permetre l'accés root a través de SSH.

Tingueu en compte que, també, realitzareu tota la configuració a la línia de comandes de SSH al vostre VPS. No hi ha res que requereixi una quantitat esbojarrada del coneixement de Linux, però prepareu-vos per escriure en lloc de fer clic.

Obtenir el que necessita

Links ràpids

  • Obtenir el que necessita
  • Configuració del tallafoc
    • Cerqueu la interfície
    • Fonaments bàsics d’Iptables
    • Configura les teves regles
      • Loopback
      • Ping
      • SSH
      • OpenVPN
      • DNS
      • HTTP / S
      • NTP
      • TUN
      • Explotació forestal
      • Rebutja tot el que sigui
      • Masquerading NAT
    • Trànsit Força IPv4
    • Atureu totes les connexions IPv6
    • Importa i desa a Iptables

Ubuntu fa un paquet i distribueix OpenVPN als seus dipòsits. Només heu d'utilitzar aptes per instal·lar-lo. També necessitareu l'eina per generar claus de xifratge. Instal·leu-los tots dos.

$ sudo apt instal·lar openvpn easy-rsa

Configuració del tallafoc

A continuació, heu de tenir cura del tallafoc. És una peça important per mantenir la vostra VPN segura i evitar tant les fuites de dades com l’accés no desitjat.

Iptables és el tallafoc principal de Linux i és la vostra millor opció per controlar l’accés als ports d’Ubuntu. Ja ho tindreu instal·lat perquè pugueu començar a configurar les regles del tallafoc.

Cerqueu la interfície

Abans de començar a escriure regles en iptables, esbrineu amb quina interfície està connectat el vostre servidor a Internet. Executeu ifconfig per mostrar les vostres interfícies de xarxa. La que té un addr inet: coincidir amb l’adreça IP a la qual esteu connectats és la interfície adequada.

Fonaments bàsics d’Iptables

No sol ser una bona idea copiar i enganxar aleatòriament coses al terminal des d'Internet. Això és especialment cert quan es tracta de temes de seguretat. Per tant, trigueu un temps aquí per conèixer una mica les regles iptables abans de començar a entrar-hi.

Mireu aquest exemple de regla iptables.

-E INPUT -i et0 -p tcp -m estat -estat ESTABLECAT -sport 443 -j ACCEPTE

Molt bé, així que -A vol dir que aneu a aplicar una nova regla. Aleshores INPUT vol dir que afectarà l'entrada al vostre servidor. També hi ha una sortida. El senyalador -i indica a iptables la interfície d'aquesta regla. Podeu especificar quin protocol és la regla amb -p. Aquesta regla tracta tcp. -m especifica una condició que ha de complir una connexió. En aquest cas, ha de coincidir amb l'estat especificat. Per descomptat, llavors -estat especifica un estat, en aquest cas, una connexió ESTABLIT. La següent part indica a iptables el port per a què serveix aquesta regla. És el port 443, el port HTTPS, aquí. L’última bandera és -j. Significa "saltar" i indica a iptables què cal fer amb la connexió. Si aquesta connexió compleix tots els requisits de la regla, els iptables l’acceptarien.

Configura les teves regles

Per tant, haureu de tenir una idea general de com funcionen les regles iptables ara. La resta d'aquesta secció us explicarà com configurar les regles peça a peça.

La millor manera de crear un conjunt de regles iptables és crear un fitxer que les contingui. Aleshores, podeu importar-ho tot a iptables alhora. Definir regles un per un pot resultar confús, sobretot si esteu iniciant un nou conjunt de regles des de zero.

Creeu un fitxer al directori / tmp per crear les vostres regles.

$ vim / tmp / ipv4

Inicieu aquest fitxer amb * filter. Això indica a iptables que el que segueix serà regles per al filtratge de paquets.

Loopback

La primera secció de regles bloqueja la interfície del loopback. Diuen a iptables que el servidor hauria d’acceptar el trànsit des de si mateix a la interfície de loopback. També hauria de rebutjar el trànsit que no prové de loopback.

-A INPUT -i lo -j ACCEPTE-UNA ENTRADA! -i lo -s 127.0.0.0/8 -j REJECTE -A SORTIDA -o lo -j ACCEPTE

Ping

A continuació, permeti fer ping. Hauríeu de fer el ping al vostre servidor per assegurar-vos que estigui en línia en cas que no s’arribi d’altra manera. En aquest cas, només es permeten peticions de ressò i el servidor es permetrà enviar la sortida ICMP.

-Un estat INPUT -p icmp -m - estat NOU - tipus 8mp -ic ACCEPT -A INPUT -p estat -p icmp -m estat - ESTABLECAT, RELACIONAT -j ACCEPTAR -A OUTPUT -p icmp -j ACCEPT

SSH

Necessiteu SSH. Aquesta és l’única manera d’accedir al vostre servidor. Les regles SSH són específiques a la vostra interfície d’internet, així que assegureu-vos que substituïu eth0 per la interfície que utilitzeu el vostre servidor.

També pot ser una bona idea canviar les connexions SSH fora del port 22, ja que és el valor predeterminat que provarien els atacants. Si ho feu, assegureu-vos de canviar-lo també en les vostres regles iptables.

-Un Estat -i Et0 -p tcp -m estat --estat NOU, ESTABLIT --dport 22 -j ACCEPTE -A SALUT -o Et0 -p tcp -m estat - estat establert --port 22 -j ACCEPTE

OpenVPN

Aquesta següent peça permet el trànsit cap a i des del servidor OpenVPN sobre UDP.

-Estat INPUT -i Et0 -p udp -m estat --estat NOU, ESTABLIMENT --dport 1194 -j ACCEPTAR -A OUTPUT -o Et0 -p udp -m estat - estat establert --port 1194 -j ACCEPTAR

DNS

Ara, permeti connexions DNS mitjançant UDP i TCP. Voleu que la vostra VPN pugui gestionar el DNS, no el vostre fabricant de serveis. Això és part de la raó per la qual configureu una VPN en primer lloc.

-Estat INPUT -i Et0 -p udp -m estat - estat ESTABLECAT --sport 53 -j ACCEPTAR -A OUTPUT -o Et0 -p udp -m estat - estat NOU, ESTABLIMENT --port 53 -j ACCEPTAR -A INPUT -i Et0 -p tcp -m estat - estat establert --sport 53 -j ACCEPTAR -A OUTPUT -o Et0 -p estat tcp -m - estat NOU, ESTABLIMENT --port 53 -j ACCEPTAR

HTTP / S

Per tal que Ubuntu pugui actualitzar-se, cal afegir un conjunt de regles per permetre la connexió sortint d’HTTP i HTTPS. Tingueu en compte que aquestes regles només permeten al servidor iniciar connexions HTTP, de manera que no es pot utilitzar com a servidor web ni connectar-se a ell mitjançant el port 80 o el port 443

-Un estat INPUT -i et0 -p tcp -m - estat ESTABLECAT --sport 80 -j ACCEPTE -A INPUT -i ét0 -p tcp -m estat - estat establert --port 443 -j ACCEPTAR-UNA OUTPUT - o estat0 -p tcp -m estat - estat NOU, ESTABLIMENT --port 80 -j ACCEPTAR -A OUTPUT -o estat0 -p tcp -m estat - estat NOU, ESTABLIMENT --port 443 -j ACCEPTAR

NTP

Perquè el vostre rellotge del servidor funcioni correctament, necessitareu NTP. NTP permet al vostre servidor sincronitzar-se amb cronòmetres de tot el món. Tenir un rellotge incorrecte al servidor pot causar problemes de connexió, per tant és una bona idea executar NTP. Una vegada més, només haureu d’acceptar les connexions sortints i ja establertes.

-Estat INPUT -i et0 -p udp -m estat - estat establert --sport 123 -j ACCEPTAR -A OUTPUT -o et0 -p udp -m estat - estat NOU, ESTABLIMENT --port 123 -j ACCEPTAR

TUN

Desbloqueu la interfície TUN que OpenVPN utilitza per al trànsit de túnels.

-A INPUT -i tun0 -j ACCEPTAR -A FORWARD -i tun0 -j ACCEPTAR -A OUTPUT -o tun0 -j ACCEPT

Heu de permetre que TUN reenvia el trànsit a la vostra interfície regular per la VPN. Trobareu aquesta adreça IP a la configuració d'OpenVPN. Si el canvieu en la configuració, també canvieu-lo a les vostres regles.

-Un FORWARD -i tun0 -o eth0 -s 10.8.0.0/24 -j ACCEPTAR -A FORWARD -M estat - estat establert, RELACIONAT -j ACCEPTAT

Explotació forestal

És una bona idea guardar els registres de tot allò que sigui rebutjat per iptables. En aquest cas, vol dir qualsevol cosa que no s'ajusti a cap d'aquestes regles. Els registres us permeten veure si hi ha alguna activitat maliciosa o qualsevol intent de fer alguna cosa nefast contra el vostre servidor.

-Un límit INPUT -m límit –limitat 3 / min -j LOG –log-prefix “iptables_INPUT_denied:” –log-level 4
-Un límit FORWARD -límit -límit 3 / min -j LOG -log-prefix "iptables_FORWARD_denied:" –log 4-level
-Un límit de sortida -m límit –limitar 3 / min -j LOG –log-prefix “iptables_OUTPUT_denied:” –log 4-level

Rebutja tot el que sigui

Finalment, heu de bloquejar qualsevol cosa que no s'ajusti a les vostres regles. Aquest és realment el propòsit de tenir un tallafoc en primer lloc.

-A INPUT -j REJECT -A FORWARD -j REJECT -A OUTPUT -j REJECT

Tanqueu el fitxer amb COMMIT per comunicar-li a iptables totes les regles.

Masquerading NAT

Cal que les connexions de la VPN semblin que provenen del servidor mateix. Aquesta peça no es pot incloure al fitxer iptables habituals perquè utilitza una taula diferent. No està bé, però és una línia.

$ sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Trànsit Força IPv4

Haureu d’habilitar el desviament del trànsit IPv4, de manera que es pugui passar entre la VPN i la interfície de xarxa real del vostre servidor. Obriu /etc/sysctl.d/99-sysctl.conf amb sudo.

Cerqueu la línia següent i descomprimeix-la traient el número #.

net.ipv4.ip_forward = 1

Atureu totes les connexions IPv6

Ho sentim, encara no heu acabat amb iptables. Heu de bloquejar tot el trànsit IPv6. Aquest servidor OpenVPN només admet IPv4, cosa que està bé, ja que no podreu trobar una situació en què necessiteu IPv6. Com a resultat, qualsevol connexió IPv6 pot filtrar informació, que és al contrari del que es vol quan s’utilitza una VPN.

Abans de definir les regles per a iptables, heu de desactivar IPv6 en qualsevol altre lloc del sistema.

Afegiu les línies següents a /etc/sysctl.d/99-sysctl.conf. Si el vau tancar de la secció anterior, torneu-lo a obrir amb sudo.

net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 net.ipv6.conf.eth0.disable_ipv6 = 1

Activa els canvis.

$ sudo sysctl -p

Comenteu totes les línies IPv6 a / etc / hosts. També necessitareu sudo aquí.

# :: 1 ip6-localhost ip6-loopback # fe00 :: 0 ip6-localnet # ff00 :: 0 ip6-mcastprefix # ff02 :: 1 ip6-allnodes # ff02 :: 2 ip6-allrouters

Per fi, podeu escriure les regles d'iptables IPv6. Creeu-hi un fitxer a / tmp / ipv6.

* filtre -A INPUT -j REJECTE-UN AVANÇAT -J REJECTE -A OUTPUT -j COMISSIÓ DE REJECTE

Mireu, són senzills. Rebutja-ho tot.

Importa i desa a Iptables

Heu d’importar aquestes regles perquè puguin fer qualsevol cosa. Per tant, ara és el moment de fer-ho.

Comença per esborrar tot el que hi ha. No voldreu que hi hagi unes antigues regles.

$ sudo iptables -F && sudo iptables -X

Importeu tant les vostres regles IPv4 com IPv6.

$ sudo iptables-restaurar </ tmp / ipv4 $ sudo ip6tables-restaurar </ tmp / ipv6

Probablement mai no voldreu tornar a fer-ho. Per tant, haureu de necessitar un paquet nou per desar les vostres regles de manera permanent.

$ sudo apt install iptables-persistent

Durant la instal·lació, el paquet us demanarà que deseu les normes existents. Respon “Sí”.

Si feu canvis més endavant, també podeu actualitzar les configuracions desades.

$ sudo servei estalvi persistent netfilter

Va trigar un temps, però el tallafoc és a punt per començar. A la pàgina següent, tractarem de crear les claus de xifrat necessàries.

Feu clic aquí: Pàgina següent

Tot sobre vpns: com configurar el vostre propi vpn amb openvpn (part 3)