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í
×
    dnes 18:11 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    dnes 15:22 | Komunita

    V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).

    Ladislav Hagara | Komentářů: 0
    dnes 15:00 | Nová verze

    Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    dnes 12:22 | Pozvánky

    Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.

    jose17 | Komentářů: 0
    dnes 04:44 | IT novinky

    Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevili v únicích dat a případně se nechat na další úniky upozorňovat.

    Ladislav Hagara | Komentářů: 13
    včera 23:22 | Zajímavý software

    Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 7
    včera 22:22 | Zajímavý software

    V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    včera 13:11 | Zajímavý článek

    Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."

    Ladislav Hagara | Komentářů: 1
    včera 12:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Nová verze

    Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (60%)
     (23%)
     (9%)
     (2%)
     (0%)
     (0%)
     (6%)
    Celkem 47 hlasů
     Komentářů: 5, poslední dnes 20:57
    Rozcestník

    Chci podepsaný certifikát pro Apache

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