Proses VPN yang manakah terjejas oleh penemuan kerentanan itu?
Sepanduk, nama fail pustaka dan proses yang berjalan boleh menerangkan perkara berbeza. Jejaki penemuan itu kepada satu komponen, kemudian padankan skop sesuatu nasihat.
Hasil pengimbas menamakan alamat, port dan sesuatu yang dirundingkan di sana. Ia tidak menamakan proses di sebalik soket itu, dan pada hos VPN beberapa proses boleh berkongsi mesin sementara hanya satu daripadanya ialah terowong. Membaca rentetan versi daripada utiliti sampingan atau menemui fail pustaka pada cakera menambah bukti tentang hos, bukan tentang pendengar. Penemuan itu hanya boleh diambil tindakan apabila ia dilekatkan pada satu komponen yang berjalan dan kemudian dipadankan dengan skop yang benar-benar dinyatakan oleh nasihat.
Urutan penting: komponen dahulu, nasihat kedua, pembaikan ketiga.
Laporan menamakan port, bukan program
Mulakan dengan titik akhir yang benar-benar dinilai. Ujian terhadap port pentadbiran HTTPS mengukur perkhidmatan web, tindanan TLS-nya dan proksi yang berada di hadapannya; ia tidak mempelajari apa-apa tentang pendengar OpenVPN atau WireGuard pada port lain. Proksi songsang dan ejen pengurusan memburukkan keadaan, kerana sijil dan sepanduk mungkin milik bahagian hadapan sementara pustaka terdedah berada di belakangnya dalam proses bahagian belakang.
Rekod destinasi, pengangkutan, port dan nama perkhidmatan bersama hasilnya supaya skop bergerak bersama penemuan.
Apakah sebenarnya binaan yang sedang berjalan
Pada hos tujuan umum, pakej yang dipasang dan pustaka yang dimuatkan ialah dua soalan berasingan. Pangkalan data pakej boleh menyenaraikan versi yang ditampal sementara daemon lama masih memegang objek kongsi lama dalam memori, dan imej perkakas terbina mungkin membawa pustaka sendiri yang tidak dilaporkan oleh mana-mana pengurus pakej. Tanya pengurus perkhidmatan apa yang berjalan, kemudian periksa proses dan pautannya.
systemctl status openvpn-server@server --no-pager ps -o pid,lstart,args -C openvpn ss -lntup | grep -E '1194|443' dpkg -l | grep -i -E 'openvpn|libssl' ldd "$(command -v openvpn)" | grep -i ssl
Masa mula dalam senarai proses ialah butiran yang orang terlepas pandang. Daemon yang dimulakan sebelum kemas kini pakej terakhir masih menjalankan binaan yang dimuatkannya semasa but, dan itulah tepat keadaan apabila inventori berkata ditampal dan soket berkata sebaliknya.
Memadankan binaan dengan skop nasihat
Nasihat menerangkan produk, versi dan kadangkala syarat yang diperlukan, dan tiga medan itu tidak selalu sejajar dengan versi pakej. Nasihat Heartbleed OpenVPN April 2014 ialah contoh sejarah yang berguna kerana ia memisahkan keluaran Access Server yang terjejas daripada perkhidmatan web dan daemon VPN, yang mempunyai pendedahan berbeza. Pengajarannya ialah membaca komponen mana yang diliputi teks itu dan bukannya memadankan perkataan OpenSSL mengikut corak.
Nasihat itu juga sudah lapuk. Nombor keluaran yang ditampal bukan lagi nasihat pemasangan sekarang, dan kecacatan yang dibaiki pada 2014 tidak berkata apa-apa tentang masalah kemudian dalam cawangan yang anda jalankan hari ini.
Menyelesaikan perselisihan, kemudian menutup pendedahan
Apabila inventori dan penilaian tidak selari, semak sama ada kedua-duanya menerangkan titik akhir dan masa jalan yang sama: alamat lain, proksi hadapan, perkhidmatan kedua, proses lama yang masih terikat pada port, atau pustaka terbina yang tidak pernah dilihat oleh pengurus pakej. Selesaikan perkara itu di sempadan sebelum menulis semula laporan.
Gunakan pembetulan yang disokong, mulakan semula perkhidmatan yang terjejas dan sahkan bahawa binaan baharu itulah yang berjalan sekarang. Fail yang ditampal pada cakera sementara proses lama masih melayani trafik bukan pembaikan.
Kemudian tangani apa yang mungkin disimpan oleh komponen itu sepanjang tetingkap pendedahan. Menampal dan menggantikan kelayakan menjawab soalan berbeza, dan sijil yang disimpan berhampiran hos terjejas bukan dengan sendirinya senarai apa yang bocor. Ikuti prosedur pemilik insiden untuk pembatalan, pembuangan sesi dan kemas kini klien, dan rekod komponen mana yang terjejas, mengapa bukti itu terpakai dan apa yang menutupnya. Rekod itulah yang akan dibaca oleh semakan kemudian.