Mae Apache yn stopio ateb ar 443 y prynhawn y mae rhywun yn galluogi cysylltiadau VPN sy’n dod i mewn, ac mae ei gofnod gwallau yn beio’r bind yn lle’r gadwfa sydd y tu ôl iddo. Mae Windows Routing and Remote Access yn galluogi SSTP ar y foment honno, ac mae’r gwrandawr SSTP yn hawlio TCP 443 drwy’r pentwr HTTP cyn i unrhyw gleient ddilysu. Mae’r hawliad yn dal hyd yn oed pan fo’r dystysgrif ar goll, yr enw’n anghywir, neu bob handshake yn cael ei wrthod, felly mae VPN na all neb fewngofnodi iddo yn parhau ar y porth. Darllenwch y tabl gwrando yn gyntaf; y PID sy’n berchen ar 443 sy’n penderfynu pa un o’r atebion isod sydd hyd yn oed ar agor i chi.

Mae’r gadwfa yn goroesi tystysgrif wedi torri

Mae SSTP yn lapio PPP y tu mewn i sesiwn TLS, a dyna pam mae angen 443 arno a pham mae’n teithio drwy ddirprwyon sy’n gollwng tuneli eraill. Nid soced y mae’r gwasanaeth VPN yn ei agor iddo’i hun yw’r gwrandawr: mae SstpSvc yn ei gofrestru gyda gyrrwr HTTP y cnewyllyn, felly mae’r porth yn aros wedi’i gadw cyhyd ag y bydd y gwasanaeth yn rhedeg. Nid yw’r gofrestriad hwnnw byth yn ymgynghori â’r dystysgrif, sy’n golygu bod enw wedi dod i ben, subject anghytunol, neu ddim tystysgrif o gwbl yn gadael 443 yn feddiannol. Yna mae methiannau’n hollti i ddau gyfeiriad: mae handshakes wedi’u gwrthod yn glanio yng nghofnod System o dan RasSstp, tra na all y gweinydd gwe ond adrodd na allai rwymo.

netstat -aon | findstr :443
tasklist /svc /fi "PID eq <pid>"

Mae’r llinell gyntaf yn dychwelyd y PID sy’n berchen; mae’r ail yn enwi’r gwasanaeth y tu ôl iddo, a’r ateb fel arfer yw’r gwasanaeth HTTP neu bentwr RRAS. Pan fydd tasklist yn ateb â phroses westeiwr a rennir, darllenwch golofn y gwasanaeth yn hytrach na dyfalu o enw’r broses.

Mae rhybuddion RasSstp yn werth eu darllen dim ond ar ôl hynny, oherwydd maent yn disgrifio handshake a fethodd ac nid ydynt yn dweud dim am y gadwfa a achosodd y gwrthdrawiad. Mae pen draw VPN sy’n gwrthod pob cleient yn dal i berchen ar y porth. Triniwch y cofnod fel yr ail gwestiwn, nid y cyntaf.

Mae IIS yn rhannu’r gyrrwr, mae Apache yn agor soced

Mae IIS yn rhoi ei bindings i’r un gyrrwr cnewyllyn ag y mae SSTP yn ei ddefnyddio, ac mae’r gyrrwr hwnnw’n datgymysgu cysylltiadau sy’n dod i mewn yn ôl enw gwesteiwr a rhagddodiad URL, felly gellir dweud wrth y ddau wasanaeth i fod eisiau 443 heb i’r naill na’r llall fethu. Mae Apache a nginx yn gwneud y gwrthwyneb: maent yn galw bind ar eu soced eu hunain, ac mae’r system weithredu yn gwrthod oherwydd bod y cyfeiriad eisoes yn feddiannol. Nid oes dim o’i le yn y naill gyfluniad na’r llall; mae’r gwahaniaeth yn gorwedd yn pa API sy’n berchen ar y porth. Dyna hefyd pam mae galluogi’r VPN yn cwympo un wefan ar un gwesteiwr ac yn gadael gwefan unfath ar westeiwr arall yn ddianaf.

Mae’r anghymesuredd hwn yn penderfynu siâp y trwsio. Os yw IIS eisoes yn ddrws y ffrynt, mae’r gwrthdrawiad yn dod yn gwestiwn am ragddodiaid, bindings a thystysgrifau. Os Apache yw drws y ffrynt, naill ai mae’n symud oddi ar 443 neu mae’r gwrandawr SSTP yn gwneud hynny, ac mae’r adran nesaf yn ymdrin â’r ddau symudiad.

Dewiswch pa wasanaeth sy’n cadw 443

Mae porth y gwrandawr yn byw mewn un gwerth cofrestru, DWORD degol o dan allwedd paramedrau Sstpsvc. Newidiwch y gwerth, ailgychwynnwch Routing and Remote Access, a chadarnhewch o’r tabl gwrando fod yr hen borth yn rhydd.

reg query "HKLM\SYSTEM\CurrentControlSet\Services\Sstpsvc\Parameters" /v ListenerPort
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Sstpsvc\Parameters" /v ListenerPort /t REG_DWORD /d 4443 /f
Restart-Service RemoteAccess

Dewiswch borth nad oes ar neb arall ar y gwesteiwr ei eisiau, a theipiwch ef yn ddegol: reg add yn storio’r DWORD yn union fel y’i hysgrifennwyd, felly mae gwerth a fwriadwyd fel hecsadegol yn glanio fel porth gwahanol. Os yw’r cwestiwn yn dweud nad yw’r gwerth yn bodoli, mae’r ail linell yn ei greu. Restart-Service RemoteAccess yn gollwng pawb sydd wedi cysylltu, sy’n werth ei drefnu. Ail-redegwch y gwiriad gwrando wedyn, oherwydd mae cofnod hen ar 443 yn golygu bod y gwasanaeth wedi cadw ei hen gofrestriad.

Mae symud y gwrandawr yn cario pris nad yw’r golygu cofrestru yn ei ddangos. Mae cleientiaid SSTP cyffredin yn deialu 443, felly mae angen y porth newydd ar bob proffil cleient, ac mae’r llif yn stopio tebygu i gais gwe i unrhyw beth sy’n archwilio’r llwybr. Ar rwydwaith nad yw ond yn goddef traffig sy’n edrych fel HTTPS, mae hynny’n dileu’r rhan fwyaf o’r rheswm y dewiswyd SSTP. Mae poblogaeth cleient fach, wedi’i rheoli, yn amsugno hyn; nid yw sylfaen defnyddwyr gyhoeddus neu BYOD yn gwneud.

Mae’r symudiad arall yn cadw 443 gyda IIS ac yn trin Apache fel backend y mae’r dirprwy yn anfon ymlaen ato. Mae’n cadw rhagosodiad SSTP ac yn gadael un perchennog i’r porth, ar gost pennawdau a anfonir ymlaen, cyfeiriad cleient nad yw’r rhaglen yn ei weld yn uniongyrchol mwyach, a backend y mae’n rhaid iddo siarad y protocol y mae’r dirprwy yn ei anfon mewn gwirionedd.

Profwch y perchennog, y dystysgrif a’r handshake yn eu trefn

Mae cysylltiad TCP wedi’i gwblhau yn profi bod gwrandawr yn bodoli a dim arall, a dyna pam y gall sgan porth edrych yn iach tra bod y twnnel yn dal i fethu. Mae’r pedwar cam yn methu mewn ffyrdd gwahanol, ac mae trwsio sy’n anelu at y cam na thorroch yn aml yn dyfnhau’r gwrthdrawiad. Gweithiwch drwyddynt yn eu trefn a stopiwch lle mae’r ateb yn dargyfeirio.

netstat -aon | findstr :443
certutil -store My
Get-WinEvent -LogName System -ProviderName RasSstp -MaxEvents 20

Mae’r llinell gyntaf yn enwi’r PID sy’n dal 443, ac fe ddylai fod y gwasanaeth a gyfluniodd chi newydd. Mae’r ail yn rhestru tystysgrifau peiriant gyda’u subjects, felly mae enw nad yw’n cyfateb i’r cyfeiriad ym mhroffil y cleient yn sefyll allan ar unwaith. Mae’r cwestiwn digwyddiadau yn dychwelyd cofnodion SSTP diweddar, ac mae handshake na chyrhaedda byth ddilysu PPP yn gadael cofnod gwahanol i un sy’n dilysu ac yna’n cael ei wrthod. Dim ond ar y cleient y mae’r cam olaf yn weladwy, lle mae’r cofnod naill ai’n adrodd wedi cysylltu neu’n enwi gwall PPP.

Pan fydd yn rhaid i un gwesteiwr wneud y ddwy swydd, dewiswch berchennog 443 yn fwriadol ac ysgrifennwch y dewis i lawr, oherwydd fel arall bydd y person nesaf sy’n galluogi nodwedd yn ailddarganfod y gwrthdrawiad hwn. Mae gwahanu’r rolau yn parhau i fod yr ateb glanach: mae gan weinydd gwe cyhoeddus a phen draw mynediad o bell gylchoedd clytio, tystysgrif ac ailgychwyn ar wahân, ac mae’r cylchoedd hynny’n cyfarfod ar eu hamserlen eu hunain. Naill ffordd na’r llall, gadewch y gwiriad gwrando, llwybr y cofrestru a’r porth a ddewiswyd yn y nodyn trosglwyddo.

Erthyglau cysylltiedig