Safle NGINX ar gyfer VPN yn unig: gwrandäwr, mur gwarchod a rhestr caniatâd HTTP
Mae safle NGINX preifat angen soced VPN rhwym, rheol mewnbwn gwesteiwr wedi'i chwmpasu a rhestr mynediad HTTP gyfan. Profwch y tri, nid un bloc gweinydd.
Mae tri phenderfyniad annibynnol rhwng safle preifat a'r rhyngrwyd: pa soced sy'n derbyn y cysylltiad, pa lwybr all ei ddanfon, a pha gleientiaid HTTP y mae'r gweinydd a ddewiswyd yn eu hateb. Mae bloc gweinydd yn gwneud y penderfyniad cyntaf yn unig. Triniwch y ddau arall fel rheolyddion ar wahân, neu bydd y safle'n edrych yn breifat tra bo hen fynedfa'n parhau ar agor. Daw'r rhan fwyaf o fethiannau NGINX ar gyfer VPN yn unig o brofi'r haen gyntaf yn unig.
Mae'r enghraifft wedi'i gweithio'n defnyddio porth OpenVPN Linux yn 10.90.0.1 ar tun0, cleientiaid yn 10.90.0.0/24, ffynonellau wedi'u cadw a TCP 8443 wedi'i gadw ar gyfer y fynedfa hon. Addaswch y gwerthoedd, cadwch yr haenau.
Dechreuwch gyda'r soced, nid enw'r gwesteiwr
Rhwymwch y gwrandäwr HTTPS i gyfeiriad y twnnel a phorth penodol. Mae cyfeiriad penodol yn haws i resymu amdano na soced byd-eang ynghyd â gwiriad enw, oherwydd ni fydd y cnewyllyn yn rhoi'r porth i gyfeiriad lleol arall.
server {
listen 10.90.0.1:8443 ssl;
server_name admin.corp.example;
ssl_certificate /etc/nginx/tls/admin-fullchain.pem;
ssl_certificate_key /etc/nginx/tls/admin-key.pem;
root /srv/private-site;
allow 10.90.0.0/24;
deny all;
location / {
try_files $uri $uri/ =404;
}
}
Rhaid i'r dystysgrif enwi gwesteiwr y gwasanaeth y mae cleientiaid yn ei deipio, a rhaid i'r wedd DNS breifat ddatrys y gwesteiwr hwnnw i'r cyfeiriad rhwym. Mae server_name ond yn dewis gwesteiwr rhithwir; nid yw'n dilysu neb. Mae cofnod DNS ar goll yn cynhyrchu gwall tystysgrif sy'n edrych fel nam TLS. Gwiriwch yr enw cyn disodli'r dystysgrif.
Darllenwch y ffurfwedd effeithiol cyn ychwanegu'r ffeil. Gall cynhwysion a gwrandawyr byd-eang wasanaethu'r un gwreiddyn mewn man arall, a gall gweinydd diofyn ateb ceisiadau na wel y bloc newydd byth.
Caewch bob gwrandäwr arall ar gyfer y cynnwys hwnnw
Rhestrwch y cyfarwyddiadau listen a chymharu'r gwreiddiau maen nhw'n eu gwasanaethu. Gall bloc a ychwanegwyd ar gyfer cymhwysiad arall ddirprwyo i'r un upstream, a gall hen weinydd diofyn barhau i ateb ar ôl i'r newydd fod yn ei le. Yr allbwn hwnnw yw'r rhestr wirioneddol, nid y ffeil yr ydych newydd ei golygu. Cymharwch bob gwreiddyn sy'n gwasanaethu'r un cynnwys.
sudo nginx -T | grep -n "listen\|server_name\|root\|proxy_pass"
Gwiriwch y ddau deulu cyfeiriad. Mae rhwymiad IPv4 yn gadael soced IPv6 heb ei gyffwrdd, ac nid yw cofnod A newydd yn dileu hen ateb AAAA sy'n dal i bwyntio at lwybr cyhoeddus.
Ymdeolwch yr hen westeiwr rhithwir fel newid ar wahân. Tynnu efell cyhoeddus y bloc newydd yw'r cam sy'n cau'r fynedfa mewn gwirionedd fel arfer; dim ond ychwanegu'r un bwriadedig y mae'r gwrandäwr preifat yn ei wneud.
Cwmpaswch y llwybr sy'n dod i mewn yn y gwesteiwr
Mae'r cyfeiriad gwrando'n cyfyngu'r soced, nid y rhyngwyneb mynediad. Mae pecyn a lwybrwyd i'r cyfeiriad hwnnw o rywle arall yn cyrraedd fel mewnbwn lleol o hyd, felly mae ar fur gwarchod y gwesteiwr angen ei ddatganiad ei hun o ble y caiff y cysylltiad ddod. Dyna pam mai anaml y mae rhwymiad yn unig yn bodloni archwiliad.
Gyda pholisi mewnbwn gwrthod-wrth-ragos a heb ganiatâd ehangach ar gyfer y gwasanaeth hwn, mae rheol wedi'i chwmpasu'n enwi'r twnnel, yr ystod ffynhonnell, y gyrchfan a'r porth gyda'i gilydd:
sudo ufw allow in on tun0 proto tcp from 10.90.0.0/24 to 10.90.0.1 port 8443
Darllenwch drefn effeithiol y mur gwarchod cyn ei chymhwyso. Gall derbyniad eang cynharach drechu'r cyfyngiad, a gall gollyngiad terfynol cynharach atal y caniatâd hwn rhag cael ei gyrraedd o gwbl. Peidiwch â fflysio rheolau digyswllt na diffodd y mur gwarchod i wneud i'r enghraifft gyd-fynd.
Mewnbwn gwesteiwr yw'r rheol honno, nid llwybr i beiriant LAN arall, ac mae gwrandäwr OpenVPN allanol y porth yn parhau'n wasanaeth ar wahân. Os oedd y safle'n gyhoeddus o'r blaen, cynlluniwch sut y mae'r hen fynedfa'n cael ei hymdeol a sut y caiff sesiynau presennol eu trin.
Cadwch y rhestr HTTP yn gyfan wrth i leoliadau newid
Mae NGINX yn gwerthuso cofnodion allow a deny yn eu trefn, ac mae'r rhestr ar lefel gweinydd uchod yn derbyn y pwll a ddatganwyd cyn y deny terfynol. Mae'r modiwl mynediad hefyd yn cofnodi bod lleoliad sy'n diffinio unrhyw gofnod mynediad yn defnyddio ei restr ei hun yn hytrach na'r rhestr riant. Mae trefn yr un mor bwysig â'r cofnodion eu hunain.
Yr ailosodiad hwnnw yw'r cwymp arferol. Mae lleoliad uwchlwytho, API neu iechyd newydd sy'n ychwanegu un cofnod yn disodli'r cyfyngiad ar lefel gweinydd yn dawel, ac mae'r safle'n dod yn ehangach ar y llwybr a ychwanegwyd fwyaf diweddar.
Adolygwch bob lleoliad, alias a bloc arall fel rhan o'r un polisi. Os cyfunir gwiriadau IP ag ardystiad NGINX, deallwch satisfy: gall gosodiad any dderbyn cleient drwy un mecanwaith tra nad yw'r llall wedi pasio. Rhowch y rhestr mynediad yn y rhestr wirio ar gyfer lleoliadau.
Mae gwadiad HTTP yn digwydd ar ôl i'r cysylltiad TCP gyrraedd NGINX. Mae'n ategu'r cyfyngiad rhwydwaith, ac mae awdurdodiad y cymhwysiad ei hun yn dal i fod yn berthnasol i bob defnyddiwr.
Gwiriwch y llwybr byw a'r achos methiant
Rhedwch y dadansoddwr ffurfwedd, archwiliwch y socedi sy'n gwrando, yna gwnewch gais enw newydd o gleient bwriadedig. Cadarnhewch fod y dystysgrif yn dilysu, bod yr enw DNS yn datrys i'r cyfeiriad rhwym ac bod yr ymateb yn dod o'r gwreiddyn disgwyliedig.
Profwch ffynhonnell wedi'i heithrio a mynedfa arall nesaf. Nid yw cais caniataol sy'n gweithio'n dweud dim am y llwybrau yr oeddech am eu cau, a'r prawf wedi'i eithrio yw lle mae gwrandäwr dros ben neu dderbyniad eang gan y mur gwarchod yn ymddangos.
Ailadroddwch yr achos cychwyn neu adferiad VPN. Os yw NGINX yn cychwyn cyn bod cyfeiriad y twnnel yn bodoli, gall y rhwymiad fethu hyd yn oed gyda ffeil berffaith. Cydlynwch barodrwydd cyfeiriad a chadwch lwybr adfer lleol cyn newid gweinydd gwe a rennir.
Cofnodwch y soced, y porth, yr ystod ffynhonnell a'r rhestr HTTP a basiodd. Gall y newid VPN neu DNS nesaf symud unrhyw un ohonynt, ac mae pedwar gwerth a enwyd yn haws i'w cymharu na thab porwr sy'n gweithio.