Díky chybě v OpenSSL rozšíření heartbeat pro TLS komunikaci CVE-2014-0160. Mohl utočník nahlížet do paměti sereru. Kde při kusu štestí mohl nalézt privátní klíče certifikátu, uživatelká jména a hesla a ostaní citlivé informace. Po oznámení chyby byla oprava vydána velice rychle. A take rychle se dostala do provozu diky rychlé reakci mainteneru. V poslední době se chyby v jednotlivých SSL knihovnách nějak namnožily. Nejdříve měl problém Apple SSL/TLS bug. Po té se podobný problém objevil v knihovně gnuTLS bug. A nyní přišlo nařadu i OpenSSl. Doufejme, že nalezení chyb znamená jen větší pozornost po kauze s NSA. A, že jen více lidí kontroluje kód. A také, že do budoucna budou zdrojáky těchto knihoven bedlivěji prohlíženy a podobným fopá se vyheneme.

Posted Wed Apr 9 18:23:24 2014 Tags:

Díky využití NTP reflection utoku. Zatím proběhl největší DDoS o celkové síle 400Gbps. Tohle jsou už pěkně pekelná čísla. Jsem zvědav jakych "rekordu" se ještě tento rok dočkáme? A jaká služba přijde další na řadu po DNS, NTP?

Posted Wed Feb 12 14:17:27 2014 Tags:

pf2014

Posted Fri Dec 20 14:19:01 2013

Den 1:

Druhý týden v červenci jsem se Ja, Doktor a pan Profesor vydali na trampik po Zakarpatské Ukrajině. Cesta na Ukrajinu nám ubíhala výborně neboť přes Slovensko jsme jeli ve spacím voze a v jídelním voze nebyl problém dokoupit palivo (pivo a borovičku) :). Bohužel do Chopu jsme dojeli s mírným zpožděním 3 hodin a tak nám ujel vlak na Solotvino přímo před nosem. Bohužel bez jízdenek nás nechtěli vzít. A tak jsme se rozhodli, že pojedeme jinam a do Koločavy dojdeme třeba z jiné strany. Pokračovali jsem tedy električkou do Mukačeva. Zde jsme prozevlovali dopoledne, vyměnili peníze a čekali na vlak který nám jel po 15 hodině směr Volovec. Ve Volovci jsem vystoupili a začali zjišťovat kterým směrem je Koločava. Bohužel Mapu kterou jsme měli sebou jsme mohli nechat založenou v baťohu. Neboť byla pro jinou část území. A tak jsem se vydali pěšky po cestě. V druhé dědince jsme poseděli v magazínu dali par piveček a koupili rybu na večer. Za dědinkou jsme pak vylezli do kopců, rozdělali oheň, udělali rybu a uložili jsme se k parádnímu spánku pod nádherně hvězdnatým nebem.

Den 2:

Po probuzení do nového dne jsme uvařili čajíka něco málo pojedli a vyšli na další cestu. Jelikož se nám nechtělo slézat zpět na cestu tak jsme to vzali nějak odhadem po hřebeni. Jenže za chvíli nám hřeben skončil a my museli strmým kopcem dolů. Nakonec jsme vyšli v čisi zahradě. Tak jsem pozdravili a pokračovali dále. Pak jsme potkali milého pána na jehož zahradě jsme doplnili zásoby vody. A to už nás už zase čekal výstup do kopců. Kolem poledne jsme udělali pauzu a uvařili oběd. Chvilku jsme spočli a pokračovali dále. Po nějaké té hodince nás opět cesta zavedla do dědinky. Zjistili jsme že po těch kopcích jsme si to pěkně nadešli. No co už dali jsme pivko v magazinu a zjistili, že můžem kousek popojet autobusem do Mižhirji. Zde jsme taky přenocovali kousek za dědinkou u nového kostelíka. Kde jsem si s místnímí pasáčky zahráli fotbal s vyfouklou mičudou. Večer jsme pak pozorovali nádhernou hvězdnatou oblohu.

Den 3:

Tento den jsme šli směrem Synevyr a Koločava. Byl to výšlap krásnou krajinou. Po poledni jsme hodili chvilku chrupec. A pak pokračovali dále. V dědince před Koločavou jsme zastavili u magazínu abychom koupili nějakou večeři a trošku spočli. Jelikož zrovna začalo celkem slušně pršet tak jsme i zůstali na 2 pivka. Hned se nám zvedla nálada a na večeři jsme si koupili podivnou zeleninovou majdu kterou jsem posléze přidali do rýže. No bylo to nic moc, ale energii to mělo a výhled z kopce na kopce nám zase vlil do žil radosti. Tento večer jsme radši roztáhli celty neboť nebe se tvářilo, že nám ještě nějakou vláhu sešle. Naštěstí se tak nestalo a byla to poklidná noc.

Den 4:

Konečně jsme dobyli Koločavu. Dopoledne jsem došli do Četnícké stanice (Česká hospoda) a dali si snídaňový Boršť. Baťohy jsme nechali zde a šli se rozhlídnout po okolí. Navštívili jsme zdejší muzeum. Koukli se na památník padlým rusům za 2. světové války. A zhlédli Olbrachtův památník + školu kde vyučoval. V Koločavě je také jeden z mála křesťanských kostelů. Nakonec jsme později odpoledne dali obědo večeři, vzali baťohy na záda a vyšli směrem k Vilshanské přehradě. Po cestě jsme nabrali minerálku z místního pramene. Jak jsme přicházeli k přehradě tak se začalo zatahovat a bouřit. Přidali jsem do kroku a snažili se najít nějaký přístřešek pod kterým bychom přenocovali. Nakonec jsme našli altánek u cesty. Rozdělali jsme oheň baťohy dali pod altán a chystali se, že ještě něco uvaříme než zprchne. Pak jel kolem jeden místní co se dal s náma do řeči a nabídl nám k přespání roubenku kterou má postavenou někde v lese. Měla být cca. 2 kilometry od místa kde jsme zrovna tábořili. Nechali jsme se zlákat a vyrazili s místním. Celkem jsem po cestě klábosili, ale taky pěkně zmokli. Neboť jen co jsem vyšli začalo pršet, chvíli i kroupy padaly. Po 2 km nám místní ukázal směr do kopce a prý za 300m tam bude roubenka. No nakonec jsme ji nenašli. Ale našli jsme rozbořený seník. Ten byl pro nás nakonec 4* hotel bo všechno lepší než mokro. Bohužel se nám do rána nepodařilo věci usušit takže další den jsme pokračovali v mokrých botách. A celkem suchých věcech.

Den5:

Tento den se značil dnem návratu. Ráno jsme vyšli s tím, že v nejbližší vesnici chytnem bus a pojedeme směr Khust a pak Mukačevo nebo Chop. Bohužel byl zrovna svátek Petra a Pavla (podle pravoslavného kalendáře) a tak nam nezbylo než domlouvat dopravu s místními. Jelikož jsme už měli dohromady jen 150 hřiven tak to byla celkem sranda. První nasazena cena byla 250 hřiven a tak jsem parkrát zakroutili hlavou, že tolik nemáme. Nakonec jsme se tedy za naše poslední hřivny dostali do Sokyrnytsya. Mysleli jsem, že se odsud dostanem vlakem. Nakonec jsme šlapali pěšky. Naštěstí se nám podařilo v motorestu na hlavní silnici směr Khust vyměnit 10 euro za hřivny. Pak se nám podařilo tak v puli cesty stopnout autobus ktery právě jel. S ním jsme dorazili na autobusové nadraží. Odtud nám pak jel autobus do Mukačeva za 2 hodiny. V Mukačevu jsme dali oběd a vyjeli vlakem směr Chop. No a zde jsme už jen museli 12 hodin počkat než nám pojede vlak zpět domů. Čekání to bylo umorné, ale nakonec jsme se dočkali. Ještě jsme museli vybrat peníze. Neboť jsme museli zaplatit za to, že nám překontolovali zpatečni jízdenky. Pak už jsme jen hladce prošli celnicí a vyjeli směr EU.

Posted Sun Sep 1 17:26:32 2013 Tags:

Potřebné balíčky

Kerberos:

  • krb5-workstation
  • krb5-libs

Samba + winbind (NTLM):

  • samba
  • samba-common
  • samba-winbind-clients
  • samba-winbind

LDAP:

  • openldap-clients

Speciality:

  • mktutil

    • pomocí kerbera založí účet PC a přiřadí k němu principaly + vygeneruje keytab
    • Fuhm.net
  • negotiate_wrapper

Popis funkce:

Ve squid budou povoleny autorizace pomocí Negotiate Kerberos + NTLM dále pak NTLM a nakonec basic. Takto bude zajištěno ověření klienta vždy i když neproběhne autorizace na pozadí pomocí Kerberos + NTLM nebo NTLM tak se udělá fallback a na klienta vyskočí klasické okno na zadání uživatelského jména a hesla.

Základní Konfigurace:

důležité je aby byl čas na AD a serveru stejný. Můžeme synchronizovat čas oproti AD. Dále je dobré nastavit AD jako nadřazený DNS nebo aspoň na něj posílat dotazy ohledně domény která je na něm nakonfigurovaná.

Kerberos konfigurace:

Doinstalujeme balíky pro kerbera a nastavíme soubor /etc/krb5.conf

[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = LBWIN.NET
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 forwardable = yes

[realms]
 LBWIN.NET = {
  kdc = windc.lbwin.net:88
  admin_server = windc.lbwin.net:749
  default_domain = lbwin.net
 }

[domain_realm]
 .lbwin.net = LBWIN.NET
 lbwin.net = LBWIN.NET

[appdefaults]
 pam = {
   debug = false
   ticket_lifetime = 36000
   renew_lifetime = 36000
   forwardable = true
   krb4_convert = false
 }

Správnou funkci můžeme ověřit pomocí přihlášení a získání tiketu:

kinit administrator

Přes klist si můžeme vypsat tikety a měli bychom vidět něco podobného:

Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@LBWIN.NET

Valid starting     Expires            Service principal
08/27/13 10:13:29  08/27/13 20:12:53  krbtgt/LBWIN.NET@LBWIN.NET
        renew until 08/28/13 10:13:29


Kerberos 4 ticket cache: /tmp/tkt0
klist: You have no tickets cached

Když už jsme přihlášeni jako administrátor tak můžeme zařadit PC do domény a vytvořit si principaly + keytab:

msktutil -c -b "CN=COMPUTERS" -s HTTP/vmssc10.lbwin.net -k /etc/squid/squid.keytab --computer-name VMSSC10 --upn HTTP/vmssc10.lbwin.net --server windc.lbwin.net --verbose --enctypes 28

Export keytabu dame do /etc/sysconfig/squid ať squid ví, že jej má použít:

KRB5_KTNAME=/etc/squid/squid.keytab
export KRB5_KTNAME

Konfigurace Samba + Winbind:

Upravíme konfiguraci /etc/samba/smb.conf:

[global]
workgroup = LBWIN
realm = LBWIN.NET
preferred master = no
server string = squid proxy server
security = ADS
encrypt passwords = yes
log level = 3
log file = /var/log/samba/%m
max log size = 50
printcap name = cups
printing = cups
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = Yes
winbind nested groups = Yes
winbind trusted domains only = Yes
winbind cache time = 3600
winbind separator = +
;template primary group = “Domain Users”
template shell = /bin/false

Nastartujeme služby smb a winbind. A přidáme PC do domény:

net ads join -U Administrator

Otestujeme, že nám funguje winbind:

wbinfo -t

Důležité je aby měl squid přístup do adresáře:

/var/lib/samba/winbindd_privileged/

Konfigurace LDAP clienta:

Potřebujeme mít účet na AD který může mít dost ořezaná práva. Prakticky stačí když bude mít možnost se dotazovat LDAP DB. Důležité je aby se uživateli heslo nezměnilo a nevyexpirovalo.

Uděláme si txt soubor s heslem:

echo 'squidpass' > /etc/squid/ldappass.txt
chmod o-r /etc/squid/ldappass.txt
chown squid /etc/squid/ldappass.txt

Konfigurace Squid:

A nyní asi to nejdůležitější poskládaní autorizaci ve squid.conf

### Negotiate Kerberos a NTLM autentizace
auth_param negotiate program /usr/local/bin/negotiate_wrapper -d --ntlm /usr/bin/ntlm_auth --diagnostics --helper-protocol=squid-2.5-ntlmssp --domain=LBWIN.NET --kerberos /usr/lib64/squid/squid_kerb_auth -d -s GSS_C_NO_NAME
auth_param negotiate children 10
auth_param negotiate keep_alive off

### NTLM autentizace
auth_param ntlm program /usr/bin/ntlm_auth --diagnostics --helper-protocol=squid-2.5-ntlmssp --domain=LBWIN.NET
auth_param ntlm children 10
auth_param ntlm keep_alive off

### Basic autentizace přes LDAP
auth_param basic program /usr/lib64/squid/squid_ldap_auth -R -b "dc=LBWIN,dc=NET" -D user@lbwin.net -W /etc/squid/ldappass.txt -f sAMAccountName=%s -h 10.76.10.183
auth_param basic children 10
auth_param basic realm Internet Proxy
auth_param basic credentialsttl 1 minute

Nastartujeme squid a zkusíme si jej nastavit na stanici jako proxy. Zkusíme jít na nějaký web. V access.log bychom měli vidět uživatelské jméno. Případně laditelné info v cache.log.

Detailnější info a popis nalezneme zde: squid wiki

SquidGuard použití skupin z AD:

Ve SquidGuardu je možné použít LDAP dotaz pro "naplnění" zdrojové skupiny. Nutné je zkompilovat SquidGuard z volbou --with-ldap=yes. Pak již můžem v konfigu nastavit bind a dobu po kterou budou zaznamy kešovány v sekundách:

ldapbinddn     CN=uzivatelske_jmeno_popis,OU=uzivatele,OU=lbwin,DC=lbwin,DC=net
ldapbindpass   heslo_uzivatele
ldapcachetime  300

Ve zdrojové skupine pak již jen použijeme ldapusersearch:

source test {
        ldapusersearch ldap://windc.lbwin.net:3268/DC=lbwin,DC=net?sAMAccountName?sub?(&(sAMAccountName=%s)(memberOf=CN=test,OU=skupiny,OU=lbwin,DC=lbwin,DC=net))
}

Pro skupinu pak již jen standartně vytvoříme ACL a vše by mělo fungovat.

Posted Tue Aug 27 13:22:36 2013 Tags:

Google v červenci ukončí další ze služeb. Bohužel to bude zrovna Google Reader. A tak jsem se začal poohližet po náhradě. Nejdříve jsem zkoušel News modul v Owncloud 5. Bohužel i přesto že vývojáři Owncloud tento modul vychvalují jako náhradu za Google reader tak zatím není moc použitelný. Takže nakonec jsem skončil u Tiny Tiny RSS. Vše v ní funguje na první šup a import přes OMPL z Google readeru proběhl bez potíží. Jako bonus je k teto čtečce i pěkná android aplikačka.

Posted Fri Mar 29 09:11:42 2013 Tags:

RIPE NCC již přiděluje adresy s posledního /8 bloku. Což znamená, že stavajíci LIR dostanou ještě nějaký výškrabek za tvrdších podmínek a noví již nic. Konec IPv4 v Evropě je tedy zde. Jsem zvědav jak se k tomu poskytovatelé postaví. V každem případě PODA už domácím zákazníkum dava jen 1 veřejnou IP. Doufam, že ji do budoucna ještě nespoplatní.

RIPE NCC

Posted Sun Sep 16 07:13:22 2012 Tags: IPv4 RIPE

V pátek dorazila sonda od RIPE NCC z jejich projektu ATLAS. Sondu již mám zapojenu a měří. Zatím jsou zajimavé rozdíly dostupnosti jednotlivých kořenových DNS serveru přes IPv4/IPv6. V některých případech je rozdil i 100ms což se mi zdá dost.

Naše sonda 2873

Posted Tue May 15 08:49:24 2012 Tags:

Jelikož NFS používá k ověřování přenášení UID/GID RPC. Je zde problém že RPC používá AUTH_SYS (také se mužem setkat s označením AUTH_UNIX). Toto ověřováni vrací UID jako 32bitové číslo stejně tak GID primární skupiny do které uživatel patří a pak až 16 GID skupin do kterých uživatel patří. Pokud je tedy uživatel zaveden ve více skupinách RPC se o tomto vůbec nedoví.

Více informací zde.

Posted Thu Feb 2 09:10:43 2012 Tags:

Pokud používáte pro přihlašováni/podpisování nějaký certifikát nebo klič. Jistě Vás již napadlo že je to vlastně jen soubor chráněny heslem a že tedy může byt klidně odcizen a zneužit. A když například ztratíte notebook s takovým souborem nemůžete si byt jisti že se nedostal někam kam neměl. V horši variantě muže byt počítač napaden a útočník má jak Váš certfikat tak heslo k němu. A že by bylo tedy fajn oddělit tyto citlivé přihlašovací od počítače a nosit je sebou nebo je mít zamknuté třeba v šuplíku. A přesně tuto možnost nám dávají eTokeny nebo SmartCard. Do těchto zařízení lze nahrát certifikát. V zařízeni je pak chráněn tento certifikát PINem. A co je hlavní certifikát (tedy jeho privátní část) již ze zařízení nedostanete. A crypto operace (podpisování, přihlašování) se provádí přímo v tokenu.

V Linuxu lze pro tokeny použít open source midleware open-sc. Midleware je vrstva díky která dělá prostředníka mezi programem a tokenem. Token jsem použil od čínské firmy Feitan a zakoupil jsem ho na gooze.eu.

PKCS15 PKCS11 a co s tím? S těmito názvy se jistě setkáte při práci s tokeny. Jednoduše lze říci že PKCS15 je formát v kterém jsou na těchto zařízeních uloženy data. PKCS11 je pak API které slouží pro komunikaci programů s tokenem/kartou. Abychom mohli začít s tokenem pracovat je nutné nainstalovat midleware. Tedy balík open-sc ten si sebou ještě dotáhne pcscd (daemon který zřistůpní token uživatelům) a pkcs11-helper. Když máme vše nainstalované stačí nastartovat službu pcscd a zasunou token.

Jestli token správně vidíme ověříme: opensc-tool -a
Mělo by se objevit něco podobného:
Using reader with a card: Feitian ePass2003 00 00
3b:9f:95:81:31:fe:9f:00:66:46:53:05:01:00:11:71:df:00:00:03:90:00:80

Nyní tedy mužem token vymazat:
pkcs15-init -E
A vytvořit znovu strukturu:
pkcs15-init --create-pkcs15 --profile pkcs15+onepin --use-default-transport-key --pin 0000 --puk 123456 --label "Standa Schattke"
A nahrát zde třeba certifikát nebo klíč:
pkcs15-init --store-private-key somecert.p12 --format pkcs12 --label "muj certifikat" --auth-id 01
pkcs15-init --store-private-key .ssh/id_rsa --label "ssh" --auth-id 01

Vygenerování noveho klíče:
pkcs15-init -G RSA/2048 --label 'ssh' --auth-id 01

Vypsat si seznam objektů na tokenu můžete například:
pkcs15-tool -D

Když již máme data na tokenu je dobré je začít nějak používat. Co se tyka ssh je možné si token přidat do ssh-agenta nebo použit přimo v ssh příkazu. Přidání do ssh agenta:
ssh-add -s /usr/lib/opensc-pkcs11.so
Odebrání ze ssh agenta (pozor nefunguje -d nebo -D):
ssh-add -e /usr/lib/opensc-pkcs11.so
Přímé použití s ssh:
ssh -I /usr/lib/opensc-pkcs11.so user@muj.server

U Firefoxu stačí načíst /usr/lib/opensc-pkcs11.so jako další Security Device.

Pokud chceme změnit/odblokovat pin mužem použít pkcs15-tool:
pkcs15-tool --change-pin
pkcs15-tool --unblock-pin

Posted Fri Jan 27 09:24:12 2012 Tags: