Fedora 21 a VPN certifikáty používajúce MD5

Ak používate Fedoru 21, mohli ste sa stretnúť s chybou pri pripojení na VPN. Chybové hlásenie hovorí, že nastal problém pri verifikácii certifikátu (VERIFY ERROR: depth=0, error=certificate signature failure...) a to aj napriek tomu, že predchádzajúca verzia OS s nim nemála problém. Dôvod je ten, že Fedora 21 prestala podporovať VPN certifikáty používajúce algoritmus MD5, ktorý už dlhšiu dobu nie je považovaný za dostatočne bezpečný. Ak však musíte stále používať staršie certifikáty a nemate možnosť to nijak ovplyvniť, v tomto článku nájdete spôsob, ako toto obmedzenie (aspoň dočasne) obísť.

Daný problém je opísaný v hlásení v bugzille RedHatu, kde je uvedené aj riešenie: nastaviť premennú prostredia OPENSSL_ENABLE_MD5_VERIFY. Podarilo sa mi tiež nájsť návod pre zapnutie podpory MD5 v NetworkManager, čo umožni pripájať sa na VPN priamo pomocou nastavení siete v Gnome. Jeho nedostatok je však v tom, že vyžaduje zmenu systémového konfiguračného súboru, ktorý bude prepísaný pri aktualizácii NetworkManageru.

Lepší spôsob spočíva vo vytvorení samostatného konfiguračného súboru, ktorý doplní štandardnú konfiguráciu. Potrebujete vytvoriť adresár /etc/systemd/system/NetworkManager.service.d/ a v ňom súbor md5vpn.conf. Obsah súboru má byť takýto:

[Service]
Environment="OPENSSL_ENABLE_MD5_VERIFY=1 NSS_HASH_ALG_SUPPORT=+MD5"

Tento súbor doplní konfiguráciu uvedenú v /usr/lib/systemd/system/NetworkManager.service. Podrobnejšie informácie o tom, ako je možné doplniť alebo upraviť štandardnú konfiguráciu služieb systemd je možné nájsť v manuálových stránkach.

Posledné, čo musíte spraviť je opätovné načítanie konfigurácie a reštartovanie služby NetworkManager pomocou príkazu systemctl:

systemctl daemon-reload
systemctl restart NetworkManager.service