Pro Operu je to popsane v clanku.
Pro Firefox: Z menu Edit (ve windows je to pod Tools)-Preferences-tab Advanced-View Certificates zobrazi seznam certifikatu. Zajimave jsou ty, ktere jsou oznaceny jako ‚Builtin Object Token‘, to jsou defaultne predinstalovane certifikaty. Neni nutne je mazat, certifikat lze „zneduveryhodnit“ tlacidlem Edit a odznacit vsechny checkboxy v dialogu (duvera v identifikaci web serveru, mail uzivatelu a vyrobcu software).
Windows: lze se k nemu preklikat pres Internet Options, nebo rychleji prikazem „certmgr.msc“ v konzoli. Zrovna ted jsem nasel clanek, ze nelze jednoduse odstranit nebo oznacit jako neduveryhodne predinstalovane certifikaty, ale nemel jsem to moznost overit – http://www.proper.com/root-cert-problem/ .
Android: stahnout certifikate s Android SDK pres adb pull /system/etc/security/cacerts.bks .
Manipulace se dela s javovym keytool nastrojem, pro ulozeni se pouzije adb push
, push funguje jenom na rootnutem telefonu (vyzaduje root prava). Priklad extrakce certifikatu pres keytool:
keytool -list -keystore cacerts.bks -storetype BKS \ -provider org.bouncycastle.jce.provider.BouncyCastleProvider \ -providerpath bcprov-jdk16-141.jar -storepass changeit > cert_list #v nasledovnich dvou prikazech ve for cyklu doplnit pocet certifikatu, jak to zobrazil #predchozi prikaz ve vyslednim souboru cert_list for I in {0..53}; do \ keytool -export -keystore cacerts.bks -storetype BKS \ -provider org.bouncycastle.jce.provider.BouncyCastleProvider \ -providerpath bcprov-jdk16-141.jar -storepass changeit \ -file $I.cer -alias $I; \ done for I in {0..53}; do \ echo $I; openssl x509 -in $I.cer -noout -text -inform DER | grep 'Subject';\ done #Smazani konkretniho certifikatu pres keystore -delete, certifikat ke #smazani se urcuje pres -alias, cislo aliasu viz vystup predchoziho prikazu keytool -delete -keystore cacerts.bks -storetype BKS \ -provider org.bouncycastle.jce.provider.BouncyCastleProvider \ -providerpath bcprov-jdk16-141.jar -storepass changeit -alias 13
KDE 4 (pro Konqueror, Kopete atd): klikaci podpora zatim neni dokoncena, je nutne to udelat rucne (https://bugs.kde.org/show_bug.cgi?id=162485)
Jine systemy: v navode pro import cacert.org CA (http://wiki.cacert.org/ImportRootCert) lze vysledovat nastroje, ktere se pro ten-ktery system pouzivaji, mely by umet certifikat i odstranit. Navic kazda aplikace muze pouzivat vlastni certstore nebo muze pouzivat systemovy (napr. Firefox a Opera i pod windows pouzivaji vlastni certstore misto systemoveho).
Update k windows (vyzkouseno na XP SP3): smazat certifikat z Trusted Root Certificate Authorities-Certificates skutencne nelze, objevi se za chvili zpatky. Nicmene lze certifikatu odebrat duveru. Postup:
Já mám takové možná hloupé přání. Nejraději bych v prohlížeči dal důvěru nějaké CA jen pro zadané weby.
A z mírně jiného soudku – nepřišel na to, jak globálně pro všechny uživatele Firefox na konkrétním systému definovat důvěryhodné CA (globálně z těch předdefinovaných téměř vše vyházet a přidat si tam nějakou svoji).
%PROGRAMFILES%\Mozilla Firefox\nss\certutil.exe
Ale certstore u Firefoxu je v uživatelském profilu, takže je třeba udělat zásah u každého uživatele zvlášť, nejlíp pomocí logon skriptu. Nenašel jsem možnost, jak změnit „systémový“ seznam CA pro Firefox. Možná ani takový není, a ty výchozí se nakopírují do profilu při jeho vytvoření. Nevím, proč FF nevyužívá na Windows systémové úložiště, které je řešené poměrně dobře.
Jinak je dobře, že takový článek vyšel. Sice je popsaný problém známý už dlouho, ale pořád se bezpečnost současné implementace SSL důvěryhodných autorit přeceňuje. Jestliže nějaký ISP může udělat MITM útok, který je pro většinu lidí nedetekovatelný, bezpečné to není.
Věřím v tomto směru v budoucnost technologie DNSSEC, kdy momentálně probíhají diskuse o možnostech využití právě pro ukládání informací o SSL certifikátech.
Pokud bude existovat standard, jak pomocí záznamu v DNS pro danou doménu např. zakázat všechny implicitně důvěryhodné certifikáty a povolit jen určitou CA, nebo do DNS rovnou dát CA certifikát, je šance, že prohlížeče to začnou během několika nových verzí podporovat. Na straně správců serverů by to také nemusel být problém – pro klienty bez podpory toho standardu by se nic nezměnilo.
„Pokud bude existovat standard, jak pomocí záznamu v DNS pro danou doménu např. zakázat všechny implicitně důvěryhodné certifikáty a povolit jen určitou CA,…“
Hmm, to je zajímavá myšlenka. Je přece logické, že provozovatel Webu ví u koho si nechal svůj klíč podepsat a hodně by se tím eliminovala možnost podvržení certifikátu.
„..nebo do DNS rovnou dát CA certifikát..“
To je velmi velmi zajímavá myšlenka – alespoň pro určité skupiny webů (například těch domácích či menších podnikových). Vlastně by to znamenalo, že dnešní certifikační autority by se staly u takových webů zbytečné. Člověk by si mohl vytvářet pro své weby certifikáty podepsané svoji CA. To, že tato CA je pro příslušné weby důvěryhodná by zajistilo DNSSEC. To je super – nyní mi začíná DNSSEC dávat smysl. Uff, dokonce by se tím dalo řešit mailování – servery by poštu podepisovali, že pochází z jejich domény a na druhé straně by se vědělo, že to opravdu pochází z domény z které se to tváří.
Ad mail: tak od toho je DKIM, která pár let už funguje.
Authentication-Results: muj_server; dkim=pass (1024-bit key)
header.i=@gmail.com; dkim-asp=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=gamma;
h=domainkey-signature:received:mime-version:received:in-reply-to
:references:from:date:message-id:subject:to:content-type
bh=kV3I36Y5b5LajPik0WR3TDWkEfzrpsuH6POA1C/UlA8=;
b=M9Fi90VhOChZMw…
http://www.dkim.org/
http://www.rfc-editor.org/rfc/rfc5672.txt
Odstraneni pro vsechny uzivatele z Firefoxu vyzaduje rebuild Firefoxu, presneji jeho soucasti NSS, certifikaty jsou zadratovany natvrdo v libsoftokn3.so, resp. softokn3.dll. Zavisi od balickovaciho systemu, jestli je tento soubor primo soucasti Firefoxu nebo nss/libnss (windows verze bude obsahovat softokn3.dll nejspis primo v instalatoru FF).
V uzivatelskem profilu se nachazi soubor cert8.db, v nastaveni ktereho lze „overridnout“ nastaveni duvery CA v NSS. Soucasti NSS je nastroj certutil
, kterym lze manipulovat s timhle souborem, napr. certutil -d adresar_kde_je_cert8.db_soubor -L
vylistuje uzivatelske nastaveni CA.
V NSS se nachazi predinstalovane certifikaty v tomhle souboru:
nss-3.12.6/mozilla/security/nss/lib/ckfw/builtins/certdata.txt
Me vzdy SSH napise ze se klic zmenil protoze me nekdo odposlouchava – a pritom to byl muj domaci stroj kde jsem preinstaloval system, nebo se zmenila jeho IP, nebo proste ssh nechapu ze 2 porty z NATu muzou bejt namapovane na 2 ruzne masiny. Tyhle hlasky proto ignoruju a vsude davam bez rozmyslu OK.
Udelat alarm ktery dava v 99.9% pripadech plany poplach je nejlepsi cesta aby na nej lidi srali.
<blockquote>jsem preinstaloval system</blockquote>
Není nic jednoduššího, než si klíče z původního systému zazálohovat a nahrát do nového systému. Na druhou stranu nechápu, proč tak často potřebujete reinstalovat domácí stroj
<blockquote>se zmenila jeho IP</blockquote>
A to je podle vás normální, že se mu mění IP adresa kažou chvíli?
<blockquote>proste ssh nechapu ze 2 porty z NATu muzou bejt namapovane na 2 ruzne masiny</blockquote>
Tohle už SSH nedělá, k fingerprintu si ukládá i port
No pokud stim kompem nechodite ze site do site tak to rozhodne normalni neni, anzto DHCP neni o zmenach IP ale o jejich automatickym pridelovani. Nemluve o tom, ze normalni DHCPko prideluje stale stejnou adresu, vyjimkou je pouze pripad, ze uz je pridelena nekomu jinemu ⇒ ISP ma malo adres ⇒ ISP je treba vymenit.
Ahoj,
rad bych pridal do diskuze pohled z druhe strany.
Zatim jsme se bavili ze nejaka Intermediate CA muze delat neplechu.
Ono to muze zafungovat i obracene – pokud mate Intermediate CA podepsanou nejakou verejnou „trusted“ CA muze vam to zpusobit stejne problemy.
Vyhazeni neduveryhodnych CA na klientovi vubec nemusi pomoci.
1) Rekneme ze banka ABC je tak velka ze se rozhodne si udelat vlastni certifikacni autoritu.
2) Protoze „zakaznik nas pan“ – rozhodne se svoji certifikacni autoritu podepsat nejakou znamou certifikacni autoritou – rekneme Verisign.
Hlavni vidinou je moznost podepsat si z pohledu zakaznika „duveryhodnym“ certifikatem webove stranky jako www.bankabc.com
3) Udela si SSL certifikat – napriklad pro infrastrukturni LDAPS server ldap.bankabc.com
4) Nakonfiguruje klienta aby veril prislusnemu retezci (chain) certifikacnich autorit.
Verisign ROOT CA + Banka ABC CA
5) Prijde hacker Franta a vygeneruje si certifikat pro stejny LDAPS server ldap.bankabc.com primo od Verisign
- LDAP klientovi bude stacit ze certifikat konci duveryhodnym podpisem od Verisign a nerekne ani popel
6) Prijde hacker Pepa, zaplati o neco vic a dostane od Verisign certifikat pro vlastni certifikacni autoritu – pak uz si bez kontroly Verisign muze (jak je popsano v clanku) vydat jakykoli certifikat tedy i certifikat pro ldap.bankabc.com
- LDAPS server bude poskytovat cely certificate chain
- LDAP klientovi bude stacit ze certifikat konci duveryhodnym podpisem od Verisign a nerekne ani popel
Zaver:
- pokud uz si chci delat vlastni CA, stoji za zvazeni jestli pro me ucely neni vhodnejsi pouzit pro root moji CA radeji self-signed certificate nez certificate podepsany nejakou jinou „trusted“ stranou.
Zdroj:
- http://files.cloudprivacy.net/ssl-mitm.pdf
Nesmysly…
ad 2) i kdyz je banka opravdu velka a rozhodne se udelat vlastni CA, tak to porad zrejme nebude stacit k tomu, aby presvedcila Verisign, ze ji podepise CA certifikat (s obycejnym certifikatem, tj. bez priznaku CA, by problem nebyl): Verisign sice takovou sluzbu nabizi, ale za uplne jine $$$
ad 5) duveryhodnost Verisignu spociva mj. v tom, ze jsou jeho postupy vydavani certifikatu odolne vuci Frantovi
ad 6) pokud by mel Pepa dostatek penez na to, aby si koupil od Verisignu podpis vlastni CA, tak uz by davno nebyl hackerem :-)
Nesmysly? Mozna. A mozna ze ne.
ad 2) … nepochopil jste zadani – banka si poridi opravdu vlastni CA, tedy certifikat od XXXXsignu samozrejme bude mit CA flag.
Ze to stoji $$$ banku nestve – za love dostava falesny pocit bezpeci pro sebe a sve klienty. Bavime se o rozhodnuti jestli banka bude mit svuj vlastni CA root self signed nebo podepsany od nejake renomovane autority.
ad 6) Pepa je uspesny hacker a muze zaplatit $$$ aby vydelal $,$$$,$$$.
Viz napriklad
http://www.wired.com/threatlevel/2010/03/packet-forensics/
http://www.packetforensics.com/products.safe
Pochopil jsem to asi spravne. Neshodneme se „pouze“ v odhadu, na kolik penez vlastne takovy SCA (intermediate CA) prijde.
V ad6 staci SCA od jakekoli root CA, jenze ad6 i ten nejobycejnejsi SCA bude pro vetsinu Pepu nedostupny (krome desitek tisic $ se musi jeste prokazat, ze je funkcni firmou s velkym zazemim, projit prislusne audity atd.), ad2 to bude chtit banka od nejake uznavane CA, coz bude jeste mnohem drazsi (pozadujete napr. po Verisignu, aby vam udelal SCA, pomoci ktere ziskate moznost prodavat uplne stejne sluzby, na kterych Verisign stavi svoje podnikani).
Oboji je hypoteticky mozne, ale podle mne tak narocne, ze se pro MITM pouzije neco jednodussiho. Jak se napr. hlasite do Gmailu? Napisete do prohlizece „https://gmail.com“, nebo jen „gmail.com“ se slepou virou, ze Vas to hned presmeruje na SSL?
Vsechno zavisi od threat modelu. Dostatecne bohaty/vlivny utocnik (vlada US) umi 5) i 6), pro nekoho jineho je velmi obtizny triknout Verisign aby podepsal neco co nema.
Kdyby banka udelala vlastni CA (bez podpisu CA s predinstalovanym certifikatem), nauci svoje klienty akorat tak klikat OK na warningy, tudiz to ma utocnik mnohem jednodussi.
BTW banky maji nejlepsi zkusenosti v risk assessment – tady nejde o to, aby system byl neproniknutelny, ale aby ztraty nebyly vyssi nez cena pro dodatecne zabezpeceni.
Banky do IT nevidi. Jejich uroven zabezpeceni je obvykle dost tragicka a to mam 25 let praxe v IT. Podivejte se kolik bank v CR mate s EV certifikatem. Management ani pravdepodobne nevi co to je.
Banka resi vsechno pomoci penez, protoze si penize muze vytvaret z niceho a logika jejiho managementu je cim drazsi tim kvalitnejsi a risky presunout na pojistovnu. Kdyz mame pak spatne PR no tak si koupime lepsi.
Jediny co banky dobre chrani jsou mainframy protoze ty jsou tak obskurni system ze si na nich utocnik vylame zuby pokud nenin mainframe expert a ti nehackuji banky pres net. Neznam pripad ze by nekdo procrackoval mainframe.
Armada, FBI, CIA, vlada ty zabezpeceni maji dost dobry. Ale banky? To je tragedie. Banka jenom vytvari zdani bezpecnosti. Ono to staci protoze lidi vi o bezpecnosti taky kulovy.
Zejmena ale nemam rad FRS banking protoze je to bezesporu nejuspesnejsi podvod v dejinach lidstva.
Banky do IT nevidi. […] Banka resi vsechno pomoci penez
Ale to je presne ono – banka nebude zavadet zadne dalsi opatreni, pokud ji to bude stat vic nez ztraty pres podvody. Existuji spousty ATM (v US), ktere jsou napadnutelne insiderem, ale bankam se to nevyplati menit (zatim).
EV certifikaty jsou jenom „naplast“.
Nedokáže náhodou nějaká vláda přesvědčit třeba i zmiňovaný Verisign, aby jí vytvořil certifikát „na míru“?
Ano, dokaze. Zavisi od threat modelu, nejvetsi problem mate, kdyz vase data chce US (ponevadz tam je nejvic „zavedenych“ CA).
Certificate Patrol (ktery byl zminen i v clanku) to resi, pokud odposlouchavani je technicky reseno zmenou certifikatu (a CertPatrol ma ulozen puvodni certifikat).