Anonim

2017-es év, és a VPN használata nem bátor. A külső adatvédelmi aggályok és az a tény, hogy a saját internetszolgáltatója képes eladni böngészési előzményeit, valójában nem indokolja annak használatát.

Bizonyára fizethet a VPN-szolgáltatások százai közül az egyikben, de ismét az Ön adataival valaki másra támaszkodik. A legtöbb a valóságban nagyszerű, de ha teljes ellenőrzést szeretne, akkor saját VPN-t építhet fel egy V irtual P rivate Sververre (VPS), vagy bérelheti saját privát szerverét, ha úgy érzi, hogy valóban kemény vagy vele.

A VPN létrehozásához csak a nyílt forráskódú OpenVPN szoftver és a Linux (vagy BSD) szükséges. A konfiguráció részt vehet, de még az alapvető Linux ismeretekkel rendelkezőknél sem lehetetlen elindítani az Ubuntu-hoz hasonló disztribúciókat.

Ehhez az útmutatóhoz szüksége lesz egy Ubuntu futtató VPS-re. Nagyon könnyedén felveheti azt, olyanoktól, mint a DigitalOcean vagy a Linode . A telepítéshez kövesse az alapvető biztonsági útmutatásaikat. Ügyeljen arra, hogy ne kövessen alapvető hibákat, például engedélyezze a root hozzáférést az SSH-n keresztül.

Ezenkívül ne feledje, hogy ezt a teljes beállítást a parancssorban, az SSH-n keresztül a VPS-re fogod tenni. Nincs olyan, ami őrült összeget igényel a Linux ismereteinél, de készülj fel arra, hogy gépelés közben kattintás helyett.

Megszerzése, amire szüksége van

Gyors linkek

  • Megszerzése, amire szüksége van
  • Állítsa be a tűzfalat
    • Keresse meg a felületet
    • Iptables alapjai
    • Állítsa be a szabályokat
      • visszacsatoló
      • fütyülés
      • SSH
      • OpenVPN
      • DNS
      • HTTP / S
      • NTP
      • TUN
      • Fakitermelés
      • Mindent elutasít
      • NAT Masquerading
    • Előre IPv4 forgalom
    • Állítsa le az összes IPv6-kapcsolatot
    • Importálás és mentés az Iptables-be

Az Ubuntu csomagolja és terjeszti az OpenVPN-t az adattárakban. Csak az apt programot kell telepítenie. Szükség lesz az eszközre a titkosítási kulcsok előállításához is. Telepítse mindkettőt.

$ sudo apt install openvpn easy-rsa

Állítsa be a tűzfalat

Ezután vigyáznia kell a tűzfalakra. Fontos feladat a VPN biztonságának megőrzésében, valamint az adatszivárgás és a nem kívánt hozzáférés megakadályozásában.

Az Iptable a Linux fő tűzfala, és ez a legjobb lehetőség az Ubuntu portjaihoz való hozzáférés ellenőrzésére. A telepítés már megtörtént, így elkezdheti a tűzfalszabályok beállítását.

Keresse meg a felületet

Mielőtt elkezdené szabályokat írni az iptable-kbe, megtudhatja, hogy milyen felülettel kapcsolódik a szerver az internethez. Futtassa az ifconfig fájlt a hálózati interfészek megjelenítéséhez. Az, amely rendelkezik egy inet-kiegészítővel: megegyezik azzal a IP-címmel, amelyhez csatlakozik, a megfelelő felület.

Iptables alapjai

Általában nem jó ötlet véletlenszerűen lemásolni és beilleszteni a dolgokat a terminálra az internetről. Ez különösen igaz, ha biztonsági témákkal foglalkozik. Tehát szánjon idere itt egy kicsit többet az iptable-szabályok megismeréséről, mielőtt elkezdené őket.

Vessen egy pillantást az iptable-szabályok példájára.

-NEM BEMENET -i eth0 -p tcp -m állapot - LÉTREHOZOTT állam - sport 443 -j ELFOGADÁS

Rendben, tehát -A azt jelenti, hogy új szabályt fogsz csatolni. Az INPUT azt jelenti, hogy a kiszolgálóra történő bevitelre vonatkozik. Van is KIMENET. A -i zászló megmondja az iptable-eknek, hogy melyik felületre vonatkozik ez a szabály. Megadhatja, hogy a -p kapcsolóval melyik protokollra vonatkozik a szabály. Ez a szabály a TCP-t kezeli. -m meghatározza azt a feltételt, amelynek a kapcsolatnak teljesülnie kell. Ebben az esetben meg kell egyeznie a megadott állapottal. Természetesen akkor - az állam meghatároz egy állapotot, ebben az esetben LÉTREHOZOTT kapcsolatot. A következő rész megmutatja az iptable-knek, hogy melyik portra vonatkozik ez a szabály. Itt van a 443-as port, a HTTPS-port. Az utolsó zászló -j. Ez az „ugrás” kifejezést jelenti, és megmondja az iptable-knek, hogy mi a kapcsolat. Ha ez a kapcsolat teljesíti a szabály összes követelményét, az iptables elfogadja azt.

Állítsa be a szabályokat

Tehát, általános elképzeléssel kell rendelkeznie az iptable szabályok működéséről. Ez a szakasz a többi részben bemutatja, hogyan állíthatja be a szabályokat darabonként.

Az iptable-szabályok halmazának létrehozásának legjobb módja az összes fájlt tartalmazó fájl létrehozása. Ezután mindezt egyszerre importálhatja az iptable-kbe. A szabályok egyenkénti beállítása zavaros lehet, különösen akkor, ha egy új szabálykészletet kezd a kezdetektől.

Hozzon létre egy fájlt a / tmp könyvtárban a szabályok felépítéséhez.

$ vim / tmp / ipv4

Indítsa el a fájlt a * szűrővel. Ez megmondja az iptable-nak, hogy az alábbiakban a csomagszűrés szabályai lesznek.

visszacsatoló

A szabályok első szakasza lezárja a visszacsatolási felületet. Azt mondják az iptable-nek, hogy a szervernek el kell fogadnia a forgalmat magától a visszacsatoló felületen. Ezenkívül el kell utasítania az önmagából származó forgalmat, amely nem a visszacsatolásból származik.

-A INPUT -i lo -j ACCEPT -A INPUT! -i lo -s 127.0.0.0/8 -j REJECT -A Kimenet -o lo -j ACCEPT

fütyülés

Ezután engedje meg a ping-ot. Pingolni kell a kiszolgálót, hogy megbizonyosodjon arról, hogy online van-e, ha egyébként nem érhető el. Ebben az esetben csak visszhang kérések megengedettek, és a szerver megengedi magának, hogy ICMP kimenetet küldjön.

-A INPUT -p icmp -m állapot - state ÚJ --icmp-type 8 -j ACCEPT -A INPUT -p icmp -m állapot - state LÉTREHOZOTT, KAPCSOLÓDÓ -J ACCEPT -A Kimenet -p icmp -j ACCEPT

SSH

Szüksége van SSH-ra. Csak így érheti el a szervert. Az SSH szabályok az internet interfészére vonatkoznak, ezért ügyeljen arra, hogy az eth0-et cserélje ki a szerver által használt interfészre.

Az is jó ötlet, ha megváltoztatja az SSH kapcsolatait a 22. porttól, mivel ez az alapértelmezés, amelyet a potenciális támadók megpróbálnak. Ha így tesz, ne felejtse el módosítani az iptables szabályaiban sem.

-A INPUT -i eth0 -p tcp -m állapot - állam ÚJ, LÉTREHOZOTT - 22-es jelentés -j ELFOGADTA -KIMENET -o eth0 -p tcp -m állapot - LÉTREHOZOTT állapot - 22-es sport

OpenVPN

Ez a következő rész lehetővé teszi az OpenVPN szerverre és onnan történő forgalmat UDP-n keresztül.

-A INPUT -i eth0 -p udp -m állapot - állam ÚJ, LÉTREHOZOTT --dport 1194 -j ELFOGADTA -A KIMENET -o eth0 -p udp -m állapot - állam létrehozása --sport 1194 -j elfogadás

DNS

Most engedélyezze a DNS-kapcsolatokat az UDP-n és a TCP-n keresztül. Azt akarja, hogy a VPN kezelje a DNS-t, és ne az ISP-t. Ez annak az oka, hogy először VPN-t állít be.

-A INPUT -i eth0 -p udp -m állapot - állam LÉTREHOZOTT --sport 53 -j AKCEPT -A KIMENET -o eth0 -p udp -m állapot - állapot ÚJ, LÉTREHOZOTT --dport 53 -j ELFOGADÁS -A INPUT -i eth0 -p tcp -m állapot - állam LÉTREHOZOTT --sport 53 -j ELFOGADT -A KIMENET -o eth0 -p tcp -m állapot - állam ÚJ, LÉTREHOZOTT --dport 53 -j ELFOGADÁS

HTTP / S

Annak érdekében, hogy az Ubuntu képes legyen frissíteni magát, hozzá kell adnia egy szabálykészletet, hogy engedélyezze a kimenő HTTP és HTTPS kapcsolatot. Vegye figyelembe, hogy ezek a szabályok csak a szerver számára teszik lehetővé a HTTP-kapcsolatok kezdeményezését, ezért nem használhatja webszerverként, és nem csatlakozhat hozzá a 80-as vagy a 443-as porton keresztül.

-A INPUT -i eth0 -p tcp -m állapot - állapota LÉTREHOZOTT --sport 80 -j ACCEPT -A INPUT -i eth0 -p tcp -m állapot - állapot létrehozása --sport 443 -j elfogadása -KIMENET - o eth0 -p tcp -m állapot - állam ÚJ, LÉTREHOZOTT --dport 80 -j ELFOGADTA -KIMENET -o eth0 -p tcp -m állapot - állam ÚJ, LÉTREHOZOTT --dport 443 -j elfogadás

NTP

A szerver órájának megfelelő működése érdekében NTP-re lesz szüksége. Az NTP lehetővé teszi a szerver számára, hogy szinkronizáljon a világszerte működő időkiszolgálókkal. Ha helytelen óra van a szerveren, kapcsolatproblémákat okozhat, ezért jó az NTP futtatása. Ismét csak a kimenő és a már létrehozott kapcsolatokat kell elfogadnia.

-A INPUT -i eth0 -p udp -m állapot - állam létrehozva --sport 123 -j ELFOGADÁS -KIMENET -o eth0 -p udp -m állapot - állapot ÚJ, LÉTREHOZOTT --dport 123 -j ELFOGADÁS

TUN

Oldja fel a TUN felületet, amelyet az OpenVPN használ a forgalom alagútjához.

-A INPUT -i tun0 -j ACCEPT -A FORWARD -i tun0 -j ACCEPT -A KIMENET -o tun0 -j ACCEPT

Engedélyeznie kell a TUN számára, hogy továbbítsa a forgalmat a VPN számára a szokásos felületre. Az IP-címet az OpenVPN konfigurációban találja meg. Ha módosítja a konfigurációban, akkor változtassa meg a szabályokban is.

-E FORWARD -i tun0 -o eth0 -s 10.8.0.0/24 -j ELFOGADTA -A FORWARD -m állapot - állam LÉTREHOZOTT, KAPCSOLATOS -j ELFOGADÁS

Fakitermelés

Jó ötlet naplózni mindent, amit az iptables elutasít. Ebben az esetben bármit jelent, ami nem illeszkedik e szabályok egyikébe sem. A naplók lehetővé teszik, hogy rosszindulatú tevékenységek történjenek-e, vagy megpróbálnak bármi rosszat tenni a szerver ellen.

-A BEJELENTÉS -m határ –határ 3 / perc –j LOG –log-előtag „iptables_INPUT_denied:” –log 4. szint
-E FORWARD -m határ –határ 3 / perc –j LOG –log-előtag „iptables_FORWARD_denied:” –log 4. szint
-KIMENET -m határ –határ 3 / perc –j LOG –log-előtag „iptables_OUTPUT_denied:” –log 4. szint

Mindent elutasít

Végül blokkolnia kell mindazt, ami nem illeszkedik a szabályaiba. Valójában ez az a cél, hogy tűzfala legyen.

-A BEMENET -j ELJÁRÁS -A FORWARD -j REJECT -A KIMENET -j REJECT

Zárja be a fájlt a COMMIT segítségével, hogy megmondja az iptable-nak, hogy kötelezzék el az összes szabályt.

NAT Masquerading

Szüksége van a VPN-kapcsolatokra, hogy úgy néz ki, mintha maga a szerver jönnének. Ezt a darabot nem lehet beilleszteni a szokásos iptables fájlba, mert más táblát használ. Rendben, de ez csak egy sor.

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

Előre IPv4 forgalom

Engedélyeznie kell az IPv4 forgalom továbbítását, így ez átjuthat a VPN és a szerver aktuális hálózati interfésze között. Nyissa meg az /etc/sysctl.d/99-sysctl.conf fájlt a sudo-val.

Keresse meg az alábbi sort, és szüntesse meg a # eltávolításával.

net.ipv4.ip_forward = 1

Állítsa le az összes IPv6-kapcsolatot

Sajnáljuk, még nem végeztél az iptable-kel. Az összes IPv6-forgalmat blokkolni kell. Ez az OpenVPN szerver csak az IPv4-et támogatja, ami rendben van, mivel nem fog olyan helyzetbe kerülni, ahol IPv6-ra van szüksége. Ennek eredményeként bármilyen IPv6-kapcsolat potenciálisan kiszivárogtathat információt, ami ellentétes azzal, amit VPN használatakor szeretne.

Az iptables szabályainak meghatározása előtt le kell tiltania az IPv6-ot a rendszer minden más részén.

Adja hozzá a következő sorokat az /etc/sysctl.d/99-sysctl.conf fájlhoz. Ha bezárta az előző szakaszból, nyissa meg újra a sudo programmal.

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

Aktiválja a változtatásokat.

$ sudo sysctl -p

Kommentáld az IPv6 összes sorát az / etc / hosts mappában. Itt is sudo-ra lesz szükséged.

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

Végül megírhatja az IPv6 iptables szabályait. Hozzon létre egy fájlt a / tmp / ipv6 címen.

* szűrő -A INPUT -j -J ELJÁRÁS -A FORWARD -j REJECT -A-KIMENET -j REJECT COMMIT

Lásd, egyszerűek. Mindent elutasít.

Importálás és mentés az Iptables-be

Importálnia kell ezeket a szabályokat, hogy bármit megtehessenek. Szóval, itt az ideje erre.

Kezdje azzal, hogy kitisztít mindent, ami ott van. Nem akarja, hogy a régi szabályok akadályba lépjenek.

$ sudo iptables -F && sudo iptables -X

Importálja mind az IPv4, mind az IPv6 szabályokat.

$ sudo iptables-visszaállítás </ tmp / ipv4 $ sudo iptables-visszaállítás </ tmp / ipv6

Valószínűleg soha többé nem akarja ezt megtenni. Tehát új szabályra lesz szüksége a szabályok végleges mentéséhez.

$ sudo apt install iptables-persistent

A telepítés során a csomag megkérdezi a meglévő szabályok mentésére. Válasz: „Igen”.

Ha később módosít, akkor a mentett konfigurációkat is frissítheti.

$ sudo service netfilter tartós mentés

Beletelt egy ideig, de a tűzfal készen áll a használatra. A következő oldalon foglalkozunk a szükséges titkosítási kulcsok létrehozásával.

Kattintson ide: Következő oldal

Minden a vpns-ről: hogyan állíthatja be saját vpn-jét az openvpn-vel (3. rész)