abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 12:55 | Nová verze

    CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.

    jardaIT | Komentářů: 1
    včera 12:22 | Bezpečnostní upozornění

    Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].

    Ladislav Hagara | Komentářů: 0
    14.5. 17:22 | Komunita

    Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.

    Ladislav Hagara | Komentářů: 0
    14.5. 16:55 | Zajímavý software

    Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.

    Ladislav Hagara | Komentářů: 23
    14.5. 14:00 | Zajímavý projekt

    Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.

    Pinhead | Komentářů: 6
    14.5. 02:22 | Zajímavý software

    Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.

    Ladislav Hagara | Komentářů: 0
    14.5. 01:11 | Nová verze

    Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.5. 21:22 | Bezpečnostní upozornění

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 1
    13.5. 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 12
    13.5. 12:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1633 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Chci podepsaný certifikát pro Apache

    4.1.2006 16:30 | Přečteno: 7758× | 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.