abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:00 | Nová verze

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 5
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    26.4. 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 9
    26.4. 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 45
    25.4. 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 14
    25.4. 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 3
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 875 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Chci podepsaný certifikát pro Apache

    4.1.2006 16:30 | Přečteno: 7647× | Mohlo by se někomu hodit

    Nedávno jsem byl donucen pustit se na tenký led instalace webového serveru s podporou šifrovaného spojení. Jelikož jsem chtěl být důkladný, nastudoval jsem si, jak pro server získat certifikát podepsaný vlastní certifikační autoritou. No a abych to nemusel studovat znovu, až to budu dělat přístě, tak jsem si sepsal postup. I když kdo ví, bude-li nějaké přístě.

    Předem podotýkám, že instalaci jsem prováděl v prostředí SUSE 9.3 a předpokládá již rozchozený apache bez šifrovaného spojení a nainstalované OpenSSL.

    Příprava

    V souboru /etc/ssl/openssl.cnf se nachází nepřeberné množství parametrů, kterými se dá nastavit případně nabídnout výchozí hodnota při generování nových certifikátů. Vzhledem k tomu, že certifikáty je třeba generovat dva, není od věci si zde nastavit položky stateOrProvinceName_default na Czech Republic a podobně výchozí hodnotu města, organizace atd.
    Také mi nevyhovuje název adresáře pro soubory certifikační autority demoCA a certifikát chci mít alespoň na deset let:

    dir             = .
    default_days    = 3650
    

    Skript v /usr/share/ssl/misc/CA.sh na první pohled moc důvěru nebudí, ale svou práci nakonec odvede. Aby ji odvedl podle mých představ, opět jsem upravil proměnné na počet dní platnosti certifikátu a adresáře CA:

    DAYS="-days 3652"
    CATOP=.
    

    Nakonec si vytvořím adresář pro svou certifikační autoritu:

    mkdir /usr/share/ssl/ca && cd /usr/share/ssl/ca
    

    Generování certifikátů

    Vygenerování certifikační autority

    Skript CA.sh s parametrem -newca mi vygeneruje certifikát a ostatní potřebné soubory pro správu vlastní certifikační autority. Zadávané heslo je samozřejmě nanejvýš vhodné si zapamatovat. Již v tomto kroku lze s výhodou využít předvyplněných údajů, kterými je potřeba údaje o certifikátu naplnit:

    jupiter:/usr/share/ssl/ca # ../misc/CA.sh -newca
    mkdir: adresář `.' nelze vytvořit: Soubor již existuje
    CA certificate filename (or enter to create)
    
    Making CA certificate ...
    Generating a 1024 bit RSA private key
    ..................................++++++
    ......++++++
    writing new private key to './private/./cakey.pem'
    Enter PEM pass phrase:
    Verifying - Enter PEM pass phrase:
    -----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [CZ]:
    State or Province Name (full name) [Czech Republic]:
    Locality Name (eg, city) [Brno]:
    Organization Name (eg, company) [Masaryk Univerzity]:
    Organizational Unit Name (eg, section) [Faculty of Economics and Administration]:
    Common Name (eg, YOUR name) []:Webmaster
    Email Address []:webmaster@econ.muni.cz
    

    Vygenerování certifikační žádosti

    Stejný skript, jiný parametr -newreq nám vygeneruje další certifikát, tentokráte pro nás server, navíc připravený k podpisu certifikační autoritou, kterou jsme si připravili v předchozím kroku. Opět je potřeba zadat, ale jelikož toto heslo by bylo zapotřebí zadávat při každém startu apache, bude v následujícím kroku vymazáno.
    Jako common name je v tomto případě potřeba uvést doménové jméno serveru, pro který certifikát připravujeme – jinak budeme upozorňováni, že certifikát nebyl vydán pro náš server:

    jupiter:/usr/share/ssl/ca # ../misc/CA.sh -newreq
    Generating a 1024 bit RSA private key
    ............++++++
    ..................................................................++++++
    writing new private key to 'newreq.pem'
    Enter PEM pass phrase:
    Verifying - Enter PEM pass phrase:
    -----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [CZ]:
    State or Province Name (full name) [Czech Republic]:
    Locality Name (eg, city) [Brno]:
    Organization Name (eg, company) [Masaryk Univerzity]:
    Organizational Unit Name (eg, section) [Faculty of Economics and Administration]:
    Common Name (eg, YOUR name) []:svi.econ.muni.cz
    Email Address []:knihovna@econ.muni.cz
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    Request (and private key) is in newreq.pem
    

    Exportování klíče pro server

    Následující příkaz vymaže s našeho certifikátu pro server heslo zadané v předchozím kroku (ale je nutno jej zadat) a zároveň jej připraví do správného formátu:

    jupiter:/usr/share/ssl/ca # openssl rsa -in newreq.pem -out svi.key
    Enter pass phrase for newreq.pem:
    writing RSA key
    

    Konečně podepsání certifikátu pro server

    Zde zadáváme heslo certifikační autority:

    jupiter:/usr/share/ssl/ca # ../misc/CA.sh -sign
    Using configuration from /etc/ssl/openssl.cnf
    Enter pass phrase for ./private/cakey.pem:
    Check that the request matches the signature
    Signature ok
    Certificate Details:
    ...
    Sign the certificate? [y/n]:y
    
    
    1 out of 1 certificate requests certified, commit? [y/n]y
    ...
    Signed certificate is in newcert.pem
    

    Konfigurace apache

    Certifikáty na správné místo

    Předně si tu vygenerovanou trojici certifikát CA + certifikát serveru + privátní klíč serveru nakopírujeme do adresářů k tomu určených, přejmenujeme a upravíme oprávnění (pouze root je smí číst):

    jupiter:/usr/share/ssl/ca # cp newcert.pem /etc/apache2/ssl.crt/svi.crt
    jupiter:/usr/share/ssl/ca # cp svi.key /etc/apache2/ssl.key/
    jupiter:/usr/share/ssl/ca # cp cacert.pem /etc/apache2/ssl.crt/svi-ca.crt
    jupiter:/usr/share/ssl/ca # cd /etc/apache2/ssl.crt
    jupiter:/etc/apache2/ssl.crt # chmod 400 svi.crt svi-ca.crt
    jupiter:/etc/apache2/ssl.crt # cd ../ssl.key
    jupiter:/etc/apache2/ssl.key # chmod 400 svi.key
    

    Úpravy v ssl.conf /etc/sysconfig/apache2

    Šablonu souboru pro virtuálního hosta apache s podporou SSL si přejmenujeme tak, aby měl příponu .conf, tj, například /etc/apache2/vhosts.d/ssl.conf a soubor upravíme:

    SSLCertificateKeyFile /etc/apache2/ssl.key/svi.key
    SSLCACertificateFile /etc/apache2/ssl.crt/svi-ca.crt # není důležitý
    SSLCertificateFile /etc/apache2/ssl.crt/svi.crt
    

    Aby Apache startoval s podporou SSL, je potřeba v souboru /etc/sysconfig/apache2 přidat potřebný příznak SSL:

    APACHE_SERVER_FLAGS="SSL"
    

    Hotovo

    Po restartu apache by měl být obsah adresáře /srv/www/secure přístupný s pomocí protokol HTTPS.
    Nabídnutím certifikátu CA ( v tomto případě svi-ca.crt) ke stažení umožníme uživatelům si tento certifikát nainstalovat do prohlížeče a pak už je přístup na náš server nebude otravovat hláškou, že není splněn test autenticity.

    Odkazy na problematiky Apache+SSL

    Čerpal jsem z těchto zdrojů:
    http://httpd.apache.org/docs/2.0/ssl/
    www.linuxsoft.cz/article_print.php?id_article=389
    http://raibledesigns.com/wiki/Wiki.jsp?page=ApacheSSL
    http://www.modssl.org/docs/2.7/ssl_faq.html

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    4.1.2006 17:13 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    Moc hezké, asi se budu opakovat, ale i tohle by mohlo vyjít po rozšíření jako článek. Doufám, že se Robert co nejdřív uzdraví.
    When your hammer is C++, everything begins to look like a thumb.
    Shadow avatar 4.1.2006 17:28 Shadow | skóre: 25 | blog: Brainstorm
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    Skvělý návod, výborně. Tohle co nejdříve vyzkouším. Díky.
    If we do not believe in freedom of speech for those we despise we do not believe in it at all.
    4.1.2006 18:35 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    Dobrý článek, něco takového se mi právě teď bude hodit :-)

    Jenom bych chtěl upozornit, že existuje server CAcert.org, který se snaží stát certifikační autoritou, jež bude v prohlížečích a podobném softwaru, stejně jako např. známé Thawte nebo VeriSign. Jenže narozdíl od těchto dvou vydává certifikáty zdarma.
    4.1.2006 21:55 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    A ako zarucuje, ze nevystavuje certifikaty pre subjekty, ktore sa tvaria ako niekto iny?
    If you hold a Unix shell up to your ear, you can you hear the C.
    xxx avatar 4.1.2006 22:35 xxx | skóre: 42 | blog: Na Kafíčko
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    Neco takoveho sem taky budoval, jako vzor jsem pouzil knihu Protokol TCP/IP a bezpecnost. Ale kdybych vedel, ze existuje tahle sluzba, tak bych ji pouzil a usetril bych si praci. Podle me ma uplatneni, kdyz nekde potrebuji pouzit podepsany certifikat. Treba mail server firmicky s peti lidma.
    Please rise for the Futurama theme song.
    Vykook avatar 4.1.2006 21:37 Vykook | skóre: 23 | blog: Tomas
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    Bravo sice se me to nehodi, ale i tak to bylo zajimave ;-)
    Nejde nám o dobro druhých. Nejde nám o bohatství. Jde o čisté opojení mocí.
    5.2.2007 16:59 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    Dekuju. Musel jsem tento problem vyresit. Vygooglil jsem vas navod a velice mi to pomohlo. Opravdu diky
    23.3.2007 18:38 Chulda | skóre: 20
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    Jen doplnim - me se stalo, ze 3. krok skoncil s hlaskou
    unable to load Private Key
    7181:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:642:Expecting: ANY PRIVATE KEY
    
    tak problem je, ze 2. krok ulozil vysledek do 2 souboru
    ...
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    Request is in newreq.pem, private key is in newkey.pem
    
    takze 3.krok vyzaduje soubor newkey.pem
    7.8.2007 00:41 DarkLogic | skóre: 8
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    taky diky tobe za tuto poznamku...stalo se mi to a na chvili jsem se citil ztracen. Tohle pomohlo!
    7.8.2007 00:39 DarkLogic | skóre: 8
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache
    I po roce a půl je to skvělý a užitečný článek. Zrovna se mi to díky němu v pořádku povedlo udělat. Takže moooc díky!
    5.12.2008 13:17 Sonic
    Rozbalit Rozbalit vše Re: Chci podepsaný certifikát pro Apache

    Clanek je super, certifikat sem si podepsal, ale na to aby prohlizece navstevniky neotravovali o neplatnosti certifikatu to nestaci. Skoda.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.