Cilësimet e OpenVPN në router kthehen pas rinisjes: rregulloni gjeneratorin
Firmware-i që rindërton konfigurimin e OpenVPN në çdo nisje i hedh poshtë redaktimet tuaja. Rregulloni grepcin e gjeneratorit dhe më pas krahasoni skedarin e gjeneruar pas një rinisjeje.
Firmware-i në një router konsumatori ose NAS shpesh rindërton konfigurimin e OpenVPN në çdo nisje, kështu që një direktivë që shtoni mbijeton saktësisht deri në nisjen tjetër. E njëjta gjë vlen për çelësat e shtypur në një formular web, ku vlera e ruajtur mund të kthehet e dëmtuar pas ruajtjes. Asnjë prej këtyre simptomave nuk do të thotë se ndryshimi u refuzua. Do të thotë se redaktimi përfundoi në një skedar që firmware-i e trajton si dalje, dhe se vendi i qëndrueshëm ndodhet një hap më herët në sekuencën e nisjes.
Pse skedari i redaktuar rigjenerohet
Një skript nisjeje monton konfigurimin e serverit nga një shabllon dhe më pas nis daemon-in, gjë që e kthen skedarin e renderuar në një artefakt ndërtimi në vend të një burimi. Çdo gjë që shtohet pas nisjes është e padukshme për ekzekutimin tjetër të atij skripti. Modeli i dytë është më i hollë: inputet e çelësit dhe certifikatës në ndërfaqen web ruhen në një formë të ikur, dhe ruajtja e formularit mund ta shtyjë atë tekst të ikur në skedarin që lexon daemon-i. Në çdo rast, konfigurimi i renderuar është vendi i gabuar për një ndryshim të qëndrueshëm.
Shikoni çfarë shkruan sekuenca e nisjes dhe kur. Përgjigja është pothuajse gjithmonë një skript në drejtorinë init ose të nisjes automatike të firmware-it.
Futni direktivën atje ku skripti ndërton skedarin
Pajisjet QTS rigjenerojnë konfigurimin e serverit OpenVPN brenda skriptit init që nis daemon-in, kështu që redaktimi duhet të ndodhë atje. Shtoni shtojcën menjëherë përpara komandës së nisjes në vend që të redaktoni skedarin e gjeneruar.
sed -i '/daemon_mgr/i echo client-config-dir clientconfig >>/etc/openvpn/server.conf' /etc/init.d/vpn_openvpn.sh
grep -c client-config-dir /etc/openvpn/server.confAnkoroni futjen në një komandë që nuk do të lëvizë, sepse numrat e rreshtave ndryshojnë midis ndërtimeve. Meqenëse vetë skripti init zëvendësohet gjatë nisjes, ndryshimi duhet të ri-lëshohet nga grepci i nisjes automatike të firmware-it sa herë që sistemi niset. Pas një rinisjeje, numëroni ndodhitë në skedarin e gjeneruar: një rresht do të thotë se patch-i funksionoi, ndërsa dy do të thotë se grepci ekzekutohet më shumë se një herë. Hetoni ekzekutimin e dyfishtë veçmas, sepse nuk është i njëjti defekt si një ndryshim që u zhduk.
Rregulloni një formular që ruajti çelësa të ikur
Në faqet në stilin Asus fushat e certifikatës dhe çelësit shfaqin tekst të ikur, dhe ruajtja pas një rregullimi të palidhur mund t'i shkruajë ato entitete përsëri në disk. Punoni nga një kopje e dekoduar dhe ruani vetëm një herë, kur të gjitha redaktimet të jenë gati.
openssl dhparam -out dh2048.pem 2048
grep -n "BEGIN DH PARAMETERS" dh2048.pemKur zëvendësoni një grup të ri parametrash, ngjitni vetëm ngarkesën base64 nëse etiketa kërkon trupin e çelësit, dhe mbani rreshtat e armaturës vetëm kur fusha pret një bllok të plotë PEM. Rikuperimi i një faqeje të ruajtur tashmë në formën e saj të ikur zakonisht do të thotë pastrimi i inputeve të prekura dhe aplikimi, gjë që lejon firmware-in t'i rindërtojë ato. Gjeneroni çdo gjë mbi 2048 bit në një stacion pune, sepse furnizimi me entropi i routerit e bën operacionin të ngadaltë dhe ndonjëherë jo të besueshëm. Ruani skedarin e parametrave në një vend ku mund të arrini pas një rivendosjeje fabrike.
Rikontrolloni pas përditësimeve
Përditësimet e firmware-it zëvendësojnë skriptet init dhe mund të fshijnë drejtorinë e nisjes automatike, kështu që patch-i duhet të riinstalohet dhe të testohet përsëri. Krahasoni skedarin e rigjeneruar me kopjen që ruajtët dhe konfirmoni se direktiva është e pranishme saktësisht një herë. Një vlerë e dukshme në ndërfaqen web nuk është provë që daemon-i e ka marrë atë, sepse faqja lexon fusha të ruajtura. Shkruani komandën e patch-it dhe versionin e firmware-it në shënimet e mirëmbajtjes, që përditësimi tjetër t'i çojë përpara.
Pastaj lidhni një klient dhe lexoni regjistrin e serverit për opsionin e shtyrë. Një cilësim që ka ekzistuar ndonjëherë vetëm në një formular është një cilësim që askush nuk e ka testuar.