O prolínání práce v IT a osobního života

úterý 25. prosince 2007

Nokia Sports Tracker

Dnes jsem byl na pěším výletě a poprvé jsem pořádně vyzkoušel aplikaci Sports Tracker a následně jsem výsledek svého putování nahrál na Web. Výsledek můžete vidět zde.

Sport Tracker je velmi šikovná aplikace pro Symbianové telefony, která umožňuje pomocí vestavěného nebo externího GPS přijímače monitorovat Vaše sportovní výkony.
Share:

neděle 9. prosince 2007

VPN Nokia E51 - Cisco IOS

Poslední větší vadou na komfortu používání telefonu Nokia E51 byl chybějící přístup do firmy via VPN. Inu zagooglil jsem a zaexperimentoval a zde je postup jako na to:

1. Stažení a instalace VPN klienta. Nevím z jakého důvodu, ale nefungují žádné vygooglené odkazy na stránky Nokia. Vypadá to jako by klienta stáhli nebo zpoplatnili. Odeslal jsem tedy oficiální dotaz na support Nokia, ale zatím jsem nedostal žádnou odpověď. Naštěstí se mi povedlo najít dva fungující odkazy:Poznámka: Nenechte se zmást názvy souborů, není důležitý model telefonu, ale verze Symbianu pod kterou běží.

2. Vytvoření souboru my-vpn.pin s následujícím obsahem:
[POLICYNAME]
MY VPN Policy
[POLICYDESCRIPTION]
my-vpn.pol for MY VPN
[POLICYVERSION]
1.1
[ISSUERNAME]
Do not edit
[CONTACTINFO]
Do not edit


3. Vytvoření souboru my-vpn.pol s následujícím obsahem:
SECURITY_FILE_VERSION: 3
[INFO]
my-vpn.pol for MY VPN
[POLICY]
sa ipsec_1 = {
esp
encrypt_alg 12
max_encrypt_bits 256
auth_alg 3
identity_remote 0.0.0.0/0
pfs
src_specific
hard_lifetime_bytes 0
hard_lifetime_addtime 3600
hard_lifetime_usetime 3600
soft_lifetime_bytes 0
soft_lifetime_addtime 3600
soft_lifetime_usetime 3600
}
remote 0.0.0.0 0.0.0.0 = { ipsec_1(IP_firewallu) }
inbound = { }
outbound = { }
[IKE]
ADDR: IP_firewallu 255.255.255.255
MODE: Aggressive
SEND_NOTIFICATION: TRUE
ID_TYPE: 11
FQDN: nazev_grupy
GROUP_DESCRIPTION_II: MODP_1536
USE_COMMIT: FALSE
IPSEC_EXPIRE: FALSE
SEND_CERT: FALSE
INITIAL_CONTACT: FALSE
RESPONDER_LIFETIME: TRUE
REPLAY_STATUS: TRUE
USE_INTERNAL_ADDR: FALSE
USE_NAT_PROBE: FALSE
ESP_UDP_PORT: 0
NAT_KEEPALIVE: 60
USE_XAUTH: TRUE
USE_MODE_CFG: TRUE
REKEYING_THRESHOLD: 90
PROPOSALS: 1
ENC_ALG: AES256-CBC
AUTH_METHOD: PRE-SHARED
HASH_ALG: SHA1
GROUP_DESCRIPTION: MODP_1536
GROUP_TYPE: DEFAULT
LIFETIME_KBYTES: 0
LIFETIME_SECONDS: 28800
PRF: NONE
PRESHARED_KEYS:
FORMAT: STRING_FORMAT
KEY: 15 heslo_pro_grupu


Zde je veškerá konfigurace VPN, která musí korespondovat s nastavením firewallu. Nezapomeňte nastavit IP firewallu (2x), název grupy a heslo pro grupu na kterou se bude připojovat. Číslo před heslem pro grupu oznamuje délku hesla (je to počet znaků hesla). Výše uvedený příklad je konfigurace pro PreSharedKey, šifrování AES 256 bitů.

4. Vytvoření souboru my-vpn.pkg s následujícím obsahem:
%{"Vendor-EN"}
:"MY ID"
&EN
#{"MY VPN Policy"},(0x3D08B4F7),1,0,0,TYPE = SA
"my-vpn.pol"-"C:\System\Data\Security\Install\my-vpn.pol"
"my-vpn.pin"-"C:\System\Data\Security\Install\my-vpn.pin",
FM, "application/x-ipsec-policy-info"

(0x3D08B4F7), 1, 0, 0, {"VPN Policy Installer"}
[0x102032BE], 0, 0, 0, {"S60ProductID"}


Pozor: Cesty k souborům se netýkají PC, ale telefonu, takže je neměňte, jinak VPN client nedokáže v telefonu příslušnou politiku najít.

Dále se v souboru vyskytují dvě hexa čísla (první se vyskytuje 2x). První z čísel je ID aplikace VPN Client. Zjistíte jej v detailech u nainstalované aplikace v telefonu. Druhé číslo je verze Symbianu. Pro detaily viz seznam kódů.

5. Kompilace a certifikace SIS souboru
Kompilaci provedete pomocí programu makesis.exe, který si vygooglete a nainstalujte. Po kompilaci je třeba ještě výsledný SIS soubor podepsat certifikátem. Pro detailní postup certifikace viz můj předchozí článek v blogu.

Já používám následující dávkový soubor, který samozřejmě není nutný, mužete si vše zadat ručně z konzole.
del my-vpn.sis
del my-vpn.sisx
makesis -v my-vpn.pkg my-vpn.sis
signsis -cd -o -s -v my-vpn.sis my-vpn.sisx my.cer my.key key

6. Instalace do telefonu. Nainstalujte výsledný sobour my-vpn.sisx do telefonu.

7. Konfigurace VPN klienta. Menu -> Settings -> Connection -> VPN -> VPN access points, vytvořte nový přístupový bod. VPN policy bude My VPN Policy, a vyberte vhodný Internet Access point.

8. Nyní můžete využívat výše uvedený VPN access point pro různé síťové aplikace.

Známé chyby: Nefunguje mi DNS, zatím jsem nepřišel na příčinu.

Pro inspiraci přikládám i relevantní část konfigurace Cisca:
crypto isakmp policy 5
encr aes 256
authentication pre-share
group 5
!
crypto isakmp policy 10
encr 3des
authentication pre-share
group 2
crypto isakmp keepalive 30 5
!
crypto isakmp client configuration group MYGROUNAME
key HESLO
dns 192.168.neco.neco
domain mydomain.cz
pool POOL_MYGROUPNAME
acl ACL_CRYPTO_MYGROUPNAME
include-local-lan
netmask 255.255.255.0
!
crypto ipsec transform-set ESP-AES-SHA esp-aes 256 esp-sha-hmac
crypto ipsec fragmentation after-encryption
crypto ipsec df-bit clear
!
crypto dynamic-map DYNMAP_1 1
set ip access-group ACL_DYN_TUNNEL_ACCESS in
set security-association idle-time 3600
set transform-set ESP-AES-SHA
reverse-route
!
Share:

čtvrtek 6. prosince 2007

Symbian: Přidání certifikátu k souboru .sis

Během instalace některých aplikací pro Symbian 60 na Nokia E51 jsem narazil na problém s chybějícím certifikátem. Zkusil jsem tedy vygooglit postup jak certifikovat libovolný SIS soubor.

Postup je následující:
  1. Vygooglit a stáhnout program signsis.exe
  2. Zaregistrovat si účet na https://www.symbiansigned.com
  3. Na výše uvedeném webu vybrat z menu My Symbian Signed -> Developer Certificates a stáhnout a nainstalovat program DevCertRequest
  4. Pomocí tohoto programu vygenerovat žádost o certfikát (*.csr), pro detaily viz návod na konci článku
  5. Na webu vyberte My Symbian Signed -> Developer Certificates -> Requests a uploadněte žádost o certifikát
  6. Stáhněte si nový certifikát
  7. Pomocí signsis.exe vygenerujte z původního sis souboru ocertifikovaný sis soubor: signsis.exe

Zdroje:
Share:

středa 5. prosince 2007

Lightning vs. Nokia E51

Dnes jsem se zabýval tím jak synchronizovat pracovní kalendář v PC a v mobilním telefonu. Na PC používám Thunderbird rozšířený o Lightning. Mobilní telefon mám Nokia E51. Cílem mého snažení je synchronizace obou těchto kalendářů abych neměl v plánování práce zmatek.

Po chvíli hledání jsem vygooglil možnost spočívající v interakci následujících komponent:
  • Thunderbird
  • Lightning
  • Google Calendar
  • GooSync
Na PC běží Thunderbird, který je rozšířen o pluginy Lightning a Providef for Google Calendar. Jako backend je použit Google Calendar.

Mobilní telefon využívá službu GooSync.com, která zajišťuje synchronizaci kalendáře v telefonu a Google Calendar.

Zatím jsem nenarazil na žádný problém a celé řešení funguje dobře a zadarmo :)

Použité zdroje:
Share:

úterý 4. prosince 2007

Kdo nemá disketu, nemůže podnikat...

Jednoho dne jsem usoudil, že si zvýším produktivitu práce tím, že nebudu autorizovat každý bankovní převod pomocí mobilního telefonu, ale budu platby zpracovávat dávkově. Stáhnul a nainstaloval jsem si tedy příslušnou bankovní aplikaci, a dle manuálu vygeneroval elektronickou žádost o certifikát. Tuto žádost jsem si uložil na USB flash a vyrazil do banky...
Jaké však bylo moje překvapení, když jsem se dozvěděl, že jediné podporované médium je stará dobrá 3,5" disketa. Začal jsem tušit problém. Prošel jsem ve firmě dostupné notebooky a servery a zjistil jsem, že se disketová mechanika již nikde nevyskytuje.
Nebudu Vás dál napínat, ke dnešnímu dni jsem byl v bance již čtyřikrát, certifikát nemám a jediným výsledkem je několik nových telefonních čísel krásných bankéřek :)
Share:

Ať žije ekologie

Nedávno zazvonil človíček v uniformě FedEx a přinesl obálku od jednoho nejmenovaného výrobce síťového HW. V obálce byl jednostránkový leták a vytisknutá A4 s názvem naší firmy (kterou si jako můžeme pověsit na zeď). Obálka byla odeslána ze San Francisca, i když má tento výrobce pobočku v Praze. Uniká mi něco nebo je to normální?
Share:

úterý 2. října 2007

Vstupní filtry pro BGP

Dnes jsem aplikoval vstupní filtry z ftp-eng.cisco.com na transitní linky a vypadá to, že jsem ušetřil ~16700 prefixů. Někdo by možná řekl, že je to málo, ale například na Sup32 je to 6% :))))



L3 Forwarding Resources
FIB TCAM usage: Total Used %Used
72 bits (IPv4, MPLS, EoM) 245760 216837 88%
144 bits (IP mcast, IPv6) 8192 243 3%

detail: Protocol Used %Used
IPv4 216837 88%
MPLS 0 0%
EoM 0 0%

IPv6 240 3%
IPv4 mcast 3 1%
IPv6 mcast 0 0%

Adjacency usage: Total Used %Used
1048576 448 1%


Share:

čtvrtek 23. srpna 2007

BIND Multiview



V situaci, kdy je doména hostována na DNS serveru, který je součástí lokální sítě nebo DMZ, vzniká problém s překladem DNS pro aplikační služby umístěné za firewallem.

Tento problém spočívá v tom, že DNS ukazuje na WAN rozhraní firewallu. Při přístupu z vnitřní sítě však firewall typicky zakáže přístup přes WAN rozhraní všem packetům se zdrojovým IP z vnitřní sítě. Výsledkem je, že aplikační služby umístěné za firewallem fungují pouze z internetu, nikoliv však z vnitřní sítě.

Možností jak vyřešit tento problém je několik, například:
  • omezení firewallových pravidel (díra do fw)
  • speciální funkce firewallu (modifikace DNS odpovědi)
  • použití veřejných IP adres pro DMZ
  • dva DNS servery (jeden pro internet, druhý pro vnitřní síť)
  • DNS multiview
A právě o posledně jmenovaném řešení pojednává tento článek. Hlavní myšlenka je prostá: Nakonfigurovat DNS server tak, aby vracel různé odpovědi na základě zdrojové IP tazatele.

V případě BIND9 by konfigurační soubor vypadal následovně:

// ====
// ACLs
// ====
acl "ournetworks" {
127.0.0.0/8;
10.0.0.0/8;
};

acl "ispns" {
8.8.8.0/24;
};

// ============================
// Konfigurace pro dotazy z LAN
// ============================
view "internal" {
match-clients {
ournetworks;
};
recursion yes;

// =============
// special zones
// =============
zone "." {
type hint;
file "/etc/bind/db.root";
};

zone "localhost" {
type master;
file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};

zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};


// =========
// our zones
// =========
zone "domena.cz" {
type master;
file "/etc/bind/db.cz.domena.internal";
allow-transfer { any; };
};

zone "0.0.10.in-addr.arpa" {
type master;
file "/etc/bind/db.10.0.0";
allow-transfer { any; };
};
};

// =================================
// Konfiguace pro dotazy z internetu
// =================================
view "external" {
match-clients {
any;
};
recursion no;

// =============
// special zones
// =============
zone "." {
type hint;
file "/etc/bind/db.root";
};

zone "localhost" {
type master;
file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};


// =========
// our zones
// =========
zone "domena.cz" {
type master;
file "/etc/bind/db.cz.domena.external";
allow-transfer { ispns; };
};
};
Share:

středa 1. srpna 2007

Vizualizace Cisco flows dle AS - aneb kudy to sakra teče? :)



Jedná se o vyřešení klasické situace, kdy je ASBR připojen do peeringového centra, skrz které má spojení do mnoha sousedních AS. Všechno krásně funguje, data proudí, ale admin neví nic o tom kolik z/do kterého AS vlastně teče.
Je mi jasné, že někteří toto vůbec neřeší a monitorují pouze celkový traffic z/do peeringového centra. Já však tento přístup považuji za neprofesionální, protože zastávám názor, že tyto informace mohou mít zásadní význam pro správu BGP a pro koncepci dalšího rozvoje sítě (pro štoury: typickým příkladem může být situace, kdy partner podmiňuje peering nějakým minimálním trafficem).

Pro vyřešení této situace jsem znovu použil řešení, které jsem již popsal v článku s názvem Vizualizace Cisco flows na Linuxu. V tomto případě jsem se však zaměřil na monitoring dat, která procházejí jednotlivými BGP peery.

Takže jak na to? Je třeba přidat seznam AS se kterými je router propojen do souboru CUFlow.cf, příklad:


ASNumber 29086 Gity
ASNumber 42000 Global_Inspiration
ASNumber 35361 GREPA
ASNumber 2819 GTS_NOVERA
ASNumber 15935 ha-vel_internet
ASNumber 29134 IGNUM
ASNumber 24806 INTERNET_CZ
ASNumber 25424 INTERNEXT2000
ASNumber 8928 Interoute
ASNumber 9080 Ipex
ASNumber 15598 IP_Exchange
ASNumber 24971 Master_Internet
ASNumber 34315 MAXPROGRES
ASNumber 20723 MGI
ASNumber 34080 MIRAMO
ASNumber 8913 Mopos
ASNumber 9148 net4net
ASNumber 8422 NetCologne
ASNumber 35236 NETWAY
ASNumber 8251 NFX
ASNumber 6881 NIX
ASNumber 39817 OVANET
ASNumber 35214 OXID
ASNumber 12306 Plusline
ASNumber 30764 PODA
ASNumber 12767 PRAGONET
ASNumber 25248 RADIOKOMUNIKACE
ASNumber 12570 SELFservis
ASNumber 5407 Skynet
ASNumber 29113 Sloane
ASNumber 31246 SMART_Comp
ASNumber 39392 SuperNetwork
ASNumber 5610 Telefonica_O2
ASNumber 28725 TelefonicaO2-Eurotel
ASNumber 25036 TERMS
ASNumber 13036 T-Mobile
ASNumber 38949 Trestel_SK
ASNumber 33883 TRIOPTIMUM
ASNumber 29583 Unient
ASNumber 6830 UPC
ASNumber 702 Verizon
ASNumber 16019 Vodafone
ASNumber 6706 VOLNY
ASNumber 39790 Web4U
ASNumber 21430 WIA

A následně restartovat flowscan.

A na samotném routeru je třeba upravit export flows, je možné si vybrat dvě varianty:

ip flow-export version 5 peer-as

nebo

ip flow-export version 5 origin-as

V prvním variantě se čísla ASek přidělují na základě toho, z/do jakého peeru data proudí (to je můj případ). Ve druhé variantě se čísla ASek přidělují na základě toho, z/do jakého ASka data směřují. Tzn., že pokud pátráte po tom kolik s kým peerujete, tak použijte první variantu. Pokud vás však zajímá odkud/kam Vaše data směřují a s kým by bylo případně vhodné nějaký nový peering navázat, použijte druhou variantu (ale to však budete muset nacpat více ASek do konfigurace CUFlow.cf).
Share:

neděle 22. července 2007

Nokia 9500 vs. x509v3 - vyřešeno

Nemožnost zpracovávat elektronickou poštu pomocí komunikátoru Nokia 9500 mi velmi znepříjemňovala život. Zkoušel jsem vygooglit nějaké detailnější informace, bohužel neúspěšně.

Rozhodl jsem se tedy pro test, kdy jsem vytvořil více certifikátů, lišících se pouze jediným parametrem, abych lokalizoval problém s nekompatibilitou.
A test prokázal, že není problém ve verzi certifikátu, ani v délce použitého klíče, ani v multiple dns extensions. Problém je v algoritmu podepisování certifikátu. Nokia 9500 nepodporuje SHA-256, je nutné použít SHA-1. Takže odvolávám svůj předchozí výrok, že Nokia 9500 nepodporuje x509v3 :).
Share:

pondělí 16. července 2007

Nokia 9500 vs. x509v3

Dnes jsem zjistil, že Nokia 9500 zřejmě nepodporuje serverové certifikáty x509v3, respektive multiple dns extensions. Během pokusu o stažení elektronické pošty systém oznámí chybu zabezpečené komunikace a skončí. Pokud byste měl někdo opačný poznatek, nebo nějaký trik, prosím dejte mi vědět.
Share:

úterý 10. července 2007

Vytvoření serverového certifikátu

Dnes se na mě obrátil jeden kolega, že potřebuje nový certifikát pro svůj poštovní server. Pro jeho vytvoření jsem použil službu CAcert.

1. Základním předpokladem je mít platný účet na CAcert.
2. Asociujte si doménu serveru, proto který chcete vytvořit certifikát. Klikněte na Domény/Přidat, vyplňte název domény. Následně vyberte emailovou adresu, na kterou se má poslat potvrzovací mail, který slouží pro kontrolu, že máte s danou doménou opravdu něco společného.
3. Jakmile dostanete potvrzovací mail, použijte v něm obsažený odkaz na dokončení asociace domény.
4. Nyní je třeba vygenerovat CSR soubor, k tomu je třeba mít někde nainstalované openssl, postup je následující:

Nejdříve vytvořte klíč:

mother ~/tmp>>> openssl genrsa -out mail.somewhere.org.key 1024
Generating RSA private key, 1024 bit long modulus
................................................++++++
.........................++++++
e is 65537 (0x10001)
mother ~/tmp>>>


Nyní máte klíč ulořený v souboru mail.somewhere.org.key.

V dalším kroku vytvořte samotný CSR:

mother ~/tmp>>> openssl req -new -key mail.somewhere.org.key /
-out mail.somewhere.org.csr
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) [AU]:CZ
State or Province Name (full name) [Some-State]:Czech republic
Locality Name (eg, city) []:Silikonova Lhota
Organization Name (eg, company) [Internet Widgits Pty Ltd]:ISP s.r.o.
Organizational Unit Name (eg, section) []:NOC
Common Name (eg, YOUR name) []:pop3.somewhere.org
Common Name (eq, YOUR name) []:imap.somewhere.org
Email Address []:admin@somewhere.org

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:secret
An optional company name []:
mother ~/tmp>>>


Tak, výsledný CSR máte uložen v souboru mail.somewhere.org.csr.

5. Na CAcert klikněte na Serverové certifikáty/Nový.
6. Do okna vložte obsah souboru mail.somewhere.org.csr a klikněte na Odeslat.
7. Zkontrolujte CommonName, které musí souhlasit s FQDN vašeho serveru pro který certifikát generujete a klikněte na Odeslat.
8. CAcert vygeneruje nový serverový certifikát. Pokud se k němu budete chtít v budoucnu vrátit, najdete jej po kliknutí na Serverové certifikáty/Zobrazit.

Poznámka: Pokud má váš server více IP adres/FQDN, respektive více aliasů, a budete potřebovat přidat několik CommonName, tak před generováním CSR poeditujte openssl.cnf takto:


mother:/etc/ssl# diff openssl.cnf.orig openssl.cnf
144,145c144,147
< commonName = Common Name (eg, YOUR name)
< commonName_max = 64
---
> 0.commonName = Common Name (eg, YOUR name)
> 0.commonName_max = 64
> 1.commonName = Common Name (eq, YOUR name)
> 1.commonName_max = 64
mother:/etc/ssl#
Share:

Vytvoření serverového certifikátu

Dnes se na mě obrátil jeden kolega, že potřebuje nový certifikát pro svůj poštovní server. Pro jeho vytvoření jsem použil službu CAcert.

1. Základním předpokladem je mít platný účet na CAcert.
2. Asociujte si doménu serveru, proto který chcete vytvořit certifikát. Klikněte na Domény/Přidat, vyplňte název domény. Následně vyberte emailovou adresu, na kterou se má poslat potvrzovací mail, který slouží pro kontrolu, že máte s danou doménou opravdu něco společného.
3. Jakmile dostanete potvrzovací mail, použijte v něm obsažený odkaz na dokončení asociace domény.
4. Nyní je třeba vygenerovat CSR soubor, k tomu je třeba mít někde nainstalované openssl, postup je následující:

Nejdříve vytvořte klíč:

mother ~/tmp>>> openssl genrsa -out mail.somewhere.org.key 1024
Generating RSA private key, 1024 bit long modulus
................................................++++++
.........................++++++
e is 65537 (0x10001)
mother ~/tmp>>>


Nyní máte klíč ulořený v souboru mail.somewhere.org.key.

V dalším kroku vytvořte samotný CSR:

mother ~/tmp>>> openssl req -new -key mail.somewhere.org.key /
-out mail.somewhere.org.csr
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) [AU]:CZ
State or Province Name (full name) [Some-State]:Czech republic
Locality Name (eg, city) []:Silikonova Lhota
Organization Name (eg, company) [Internet Widgits Pty Ltd]:ISP s.r.o.
Organizational Unit Name (eg, section) []:NOC
Common Name (eg, YOUR name) []:pop3.somewhere.org
Common Name (eq, YOUR name) []:imap.somewhere.org
Email Address []:admin@somewhere.org

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:secret
An optional company name []:
mother ~/tmp>>>


Tak, výsledný CSR máte uložen v souboru mail.somewhere.org.csr.

5. Na CAcert klikněte na Serverové certifikáty/Nový.
6. Do okna vložte obsah souboru mail.somewhere.org.csr a klikněte na Odeslat.
7. Zkontrolujte CommonName, které musí souhlasit s FQDN vašeho serveru pro který certifikát generujete a klikněte na Odeslat.
8. CAcert vygeneruje nový serverový certifikát. Pokud se k němu budete chtít v budoucnu vrátit, najdete jej po kliknutí na Serverové certifikáty/Zobrazit.

Poznámka: Pokud má váš server více IP adres/FQDN, respektive více aliasů, a budete potřebovat přidat několik CommonName, tak před generováním CSR poeditujte openssl.cnf takto:


mother:/etc/ssl# diff openssl.cnf.orig openssl.cnf
144,145c144,147
< commonName = Common Name (eg, YOUR name)
< commonName_max = 64
---
> 0.commonName = Common Name (eg, YOUR name)
> 0.commonName_max = 64
> 1.commonName = Common Name (eq, YOUR name)
> 1.commonName_max = 64
mother:/etc/ssl#
Share:

úterý 3. července 2007

Další služba od Google

Dnes jsem experimentoval s novou verzí Picasa2, a zjistil jsem, že autoři implementovali přímý výstup do webgalerie. Tak jsem jednu založil a uploadnul fotky z posledních výletů. Výsledek je možné vidět na http://picasaweb.google.com/kadlec74.
Share:

Další služba od Google

Dnes jsem experimentoval s novou verzí Picasa2, a zjistil jsem, že autoři implementovali přímý výstup do webgalerie. Tak jsem jednu založil a uploadnul fotky z posledních výletů. Výsledek je možné vidět na http://picasaweb.google.com/kadlec74.
Share:

úterý 26. června 2007

Přesun databází na server s odlišným kódováním

Včera jsem se do pozdních večerních hodin trápil s přesunem několika databází ze starého MySQL serveru na nový. Celý problém spočíval pouze v tom, že jsem nemohl naimportovat databázi obsahující češtinu tak, aby se text neproměnil v 'rozsypaný čaj'.

Po dlouhém trápení jsem konečně přišel na to, že musí být správné kódování nastaveno po celé trase komunikace. Tzn. ztrojová data, klient, db spojení, server/databáze/tabulka. Jako užitečnou pomůcku je možné použít následující výpis:


mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

Share:

Problém s Enigmail


Narazil jsem na podivný problém se šifrováním pošty. Již dlouhou dobu používám Thunderbird/Enigmail/GnuPG. Pro zvýšení produktivity práce jsem se rozhodl, že si stejnou instalaci poštovního klienta rozšířeného o šifrování udělám i doma. Na domácím PC jsem však zjistil, že i když GnuPG funguje normálně, Enigmail nefunguje (nefunkční šifrování/podepisování, prázdné seznamy klíčů).

Prakticky jediným rozdílem oproti instalaci používané v kanceláři bylo to, že doma mám XP Home v české mutaci.

Po delším experimentování jsem náhodou zjistil, že když se v Enigmailu nastaví cesta ke gpg.exe ručně, tak vše začne fungovat.

Použité verze:
Thunderbird 2.0.0.4
Enigmail 0.95.1
GnuPG 1.4.7
Share:

Problém s Enigmail


Narazil jsem na podivný problém se šifrováním pošty. Již dlouhou dobu používám Thunderbird/Enigmail/GnuPG. Pro zvýšení produktivity práce jsem se rozhodl, že si stejnou instalaci poštovního klienta rozšířeného o šifrování udělám i doma. Na domácím PC jsem však zjistil, že i když GnuPG funguje normálně, Enigmail nefunguje (nefunkční šifrování/podepisování, prázdné seznamy klíčů).

Prakticky jediným rozdílem oproti instalaci používané v kanceláři bylo to, že doma mám XP Home v české mutaci.

Po delším experimentování jsem náhodou zjistil, že když se v Enigmailu nastaví cesta ke gpg.exe ručně, tak vše začne fungovat.

Použité verze:
Thunderbird 2.0.0.4
Enigmail 0.95.1
GnuPG 1.4.7
Share:

úterý 19. června 2007

SSH a ssh-agent

Správa sítí sebou přináší neustálé přihlašování na vzdálené servery a další síťové prvky. Pokud používáte na pracovní stanici respektive lokálním serveru OpenSSH a na vzdálených serverech máte nainstalovány privátní klíče, při každém novém připojování zadáváte heslo k vašemu privátnímu klíči.
Právě pro tyto případy je v OpenSSH obsažen ssh-agent. Jeho funkce spočívá v tom, že si zapamatuje jednou zadané heslo pro privatní klíč (passphrase), a při dalším připojení se na něj program ssh již nedotazuje.

Zprovoznění je jednoduché, přidejte si následující script do .bash_profile na pracovní stanici, respektive lokálním serveru:

##
## SSH AGENT
##
BIN_SSH_AGENT=`which ssh-agent`
BIN_SSH_ADD=`which ssh-add`
SSH_AGENT_ENV=~/.ssh/ssh_agent_env

function start_ssh_agent {
$BIN_SSH_AGENT -s > $SSH_AGENT_ENV
. $SSH_AGENT_ENV
$BIN_SSH_ADD
}

if [ -f $SSH_AGENT_ENV ]; then
. $SSH_AGENT_ENV >/dev/null
ps x | grep $SSH_AGENT_PID | grep ssh-agent >/dev/null \
|| start_ssh_agent
else
start_ssh_agent;
fi


Během příštího přihlášení bude spuštěn ssh-agent, a po zadání hesla pro privátní klíč, proběhnou již všechny následující konexe bez manuální autorizace.
Share:

SSH a ssh-agent

Správa sítí sebou přináší neustálé přihlašování na vzdálené servery a další síťové prvky. Pokud používáte na pracovní stanici respektive lokálním serveru OpenSSH a na vzdálených serverech máte nainstalovány privátní klíče, při každém novém připojování zadáváte heslo k vašemu privátnímu klíči.
Právě pro tyto případy je v OpenSSH obsažen ssh-agent. Jeho funkce spočívá v tom, že si zapamatuje jednou zadané heslo pro privatní klíč (passphrase), a při dalším připojení se na něj program ssh již nedotazuje.

Zprovoznění je jednoduché, přidejte si následující script do .bash_profile na pracovní stanici, respektive lokálním serveru:

##
## SSH AGENT
##
BIN_SSH_AGENT=`which ssh-agent`
BIN_SSH_ADD=`which ssh-add`
SSH_AGENT_ENV=~/.ssh/ssh_agent_env

function start_ssh_agent {
$BIN_SSH_AGENT -s > $SSH_AGENT_ENV
. $SSH_AGENT_ENV
$BIN_SSH_ADD
}

if [ -f $SSH_AGENT_ENV ]; then
. $SSH_AGENT_ENV >/dev/null
ps x | grep $SSH_AGENT_PID | grep ssh-agent >/dev/null \
|| start_ssh_agent
else
start_ssh_agent;
fi


Během příštího přihlášení bude spuštěn ssh-agent, a po zadání hesla pro privátní klíč, proběhnou již všechny následující konexe bez manuální autorizace.
Share:

středa 13. června 2007

Vizualizace Cisco flows na Linuxu



Základem pro optimalizaci konfigurace routingu (QoS) respektive firewallingu je mít nějaké informace o tom co se na síti děje (v tomto případě jaká data routerem tečou). V tomto případě jsem si potřeboval udělat obrázek o tom, jaká data protékají routerem Cisco 1841. Měřící server je Debian. Kvůli maximální úspoře času a vynaložení minimálního úsilí jsem chtěl vystačit s balíčky z distribuce a nic nepřekládat.

Instalace potřebných balíků
apt-get install flow-tools flowscan flowscan-cuflow \
flowscan-cugrapher ksh libboulder-perl libcflow-perl \
libconfigreader-perl libhtml-parser-perl libhtml-table-perl \
libhtml-tagset-perl libhtml-tree-perl libnet-patricia-perl \
liburi-perl libwww-perl libxml-parser-perl rrdtool


Konfigurace flow-capture

Nejdříve je třeba zajisti zachytávání a ukládání dat z routeru. Pro tento účel slouží flow-capture.
Do souboru /etc/flow-tools/flow-capture.conf jsem zadal následující řádek:
-w /var/flow/firewall -n 275 -N 0 0/192.168.1.12/3000

Tato konfigurace určuje do jakého adresáře se budou zachycená data ukládat, jaké časové období bude v jednom souboru uloženo, na jakém rozhraní, z jakého routeru a na jakém portu se budou data zachytávat. Flow-capture je nakonfigurováno, je možné ho spustit pomocí /etc/init.d/flow-capture start.

Konfigurace Cisco routeru

Na routeru je třeba zapnout exportování flows:
conf term
ip flow-export source FastEthernet0/0
ip flow-export version 5
ip flow-export destination 192.168.1.16 3000
int fa0/0
ip flow ingress
ip flow egress
end

Pokud je všechno správně nakonfigurováno, tak by se v tuto chvíli měl v adresáři do kterého flow-capture ukládá svá data objevit první soubor.

Konfigurace CUGrapher

V souboru /etc/flowscan/CUGrapher.cf je nutné zadat alespoň cestu ke zpracovaným datům. V mém případě vypadá tento soubor následovně:
OutputDir /var/flow/reports/rrds


Konfigurace CUFlow

Tak, a nyní konečně přijde to zajímavé. V souboru /etc/flowscan/CUFlow.cf jsou nastavena kritéria pro zpracování. Zde popište jak vypadá Vaše síť a jaká data chcete vizualizovat. Pro inspiraci přikládám obsah svého souboru:
Subnet 192.168.0.0/16
Network 192.168.1.0/24 servers
Network 192.168.3.0/24 ucebny
Network 192.168.4.0/24 internat1
Network 192.168.5.0/24 internat2
OutputDir /var/flow/reports/rrds
Multicast
Scoreboard 10 /var/flow/reports/scoreboard
/var/www/flow/topten.html
AggregateScore 10 /var/flow/reports/scoreboard/agg.dat
/var/www/flow/overall.html
Router 192.168.1.12 firewall
Service 20-21/tcp ftp
Service 22/tcp ssh
Service 23/tcp telnet
Service 25/tcp smtp
Service 53/udp,53/tcp dns
Service 80/tcp http
Service 110/tcp pop3
Service 119/tcp nntp
Service 143/tcp imap
Service 412/tcp,412/udp dc
Service 443/tcp https
Service 1214/tcp kazaa
Service 4661-4662/tcp,4665/udp edonkey
Service 5190/tcp aim
Service 6346-6347/tcp gnutella
Service 6665-6669/tcp irc
Service 54320/tcp bo2k
Service 7070/tcp,554/tcp,6970-7170/udp real
Protocol 1 icmp
Protocol 4 ipinip
Protocol 6 tcp
Protocol 17 udp
Protocol 47 gre
Protocol 50 esp
Protocol 51 ah
Protocol 57 skip
Protocol 88 eigrp
Protocol 169
Protocol 255
TOS 0 normal
TOS 1-255 other
ASNumber 1 Genuity


Konfigurace Flowscan

Kritéria zpracování již máme nastavená, zbývá určit kde se data nacházejí a začít je zpracovávat. Cesta k datům se nachází v /etc/flowscan/flowscan.cf. Opět přikládám své nastavení:
FlowFileGlob /var/flow/firewall/*ft-v05.*
ReportClasses CUFlow
WaitSeconds 30
Verbose 1

Zbývá spustit flowscan (respektive jej přidat do startovacích skriptů).

Prohlížení dat

Na http://vas.server.nekde/cgi-bin/CUGrapher.cgi máte samotný nástroj pro vizualizaci dat. Zde si můžete naklikat svá kritéria a vygenerovat graf.

Viz Vizualizace Cisco flows dle AS
Share:

Pozor, Cisco také hovoří reklamštinou...

Během procesu výběru vhodného HW pro konkrétní řešení je nutné se opřít o doporučení výrobce. V případě společnosti Cisco Systems je to mnohdy nelehký úkol, protože kolik jaký box reálně utáhne se nedá nijak spolehlivě predikovat, takže každý technik tvrdí něco jiného. To je sice nepříjemné, ale logické a pochopitelné.
Co mě však opravdu zvedlo ze židle je rozpor následujících dvou dokumentů. První z nich popisuje kolik který router uroutuje v případě, že na něm nejsou nakonfigurovány žádné další služby (raw switching).

Portable Product Sheet - Router Perf


Druhý dokument popisuje datové propustnosti pro VPN provoz.

Portable Product Sheet - VPN

Již při zběžném porovnání obou dokumentů poznáte, že zde něco nesedí.

První z dokumentů jasně informuje o tom, že se jedná o výkon pro raw switching a že jsou rychlosti přepočtené pro velikost packetu 64 bytů. Ze zkušenosti vím, že v případě ISR se reálné hodnoty propustnosti při běžném nastavení firewallingu a běžných velikostech packetů rovnají přibližně polovině propustnosti pro raw switching @64B. Takže jisté vodítko to je :).

Ale ten druhý dokument, to je již IMHO jen reklamština. Když jsem z něho citoval při rozhovoru s expertem Cisca, tak mě požádal, abych mu poslal URL kde jsem tento nesmysl vyšťoural. Reálné hodnoty propustnosti VPN leží bohužel někde úplně jinde...
Share:

středa 6. června 2007

O výchově raubířů ve 21. století

Zkušenost ukazuje, že nejúčinějším nástrojem pro výchovu puberťáků je vhodné využití iptables na domácím firewallu, fyzické tresty už používají jen barbaři :-)
Share:

úterý 20. března 2007

Nejen prací živ je člověk...


... a proto zkuste CS1.6 NOSTEAM server běžící na:

mad.krakenuv.net:27015

Pokud si zde zahrajete, tak si můžete prohlédnout i své skóre. Ja se již nějakou dobu propadám tabulkou směrem dolů, protože vůbec nemám čas hrát :((
Share:

neděle 25. února 2007

Seti@home po letech...



Zavadil jsem o článek v únorovém Chipu o distribuovaném computingu (DC). Vzpoměl jsem si na dřevní doby, kdy jsme ve firmě všichni počítali seti@home na každém krámu, který šel nabootovat. Počítalo se až do doby, kdy nám to ředitel výslovně zakázal. Jeden čas počítalo úplně všechno, počínaje bezdiskovými stanicemi, přes aplikační servery až po páteřní routery. OMG, byli jsme mladí a blbí...

Nicméně dnes mám DC na svém notebooku opět. Sice už nehledám mimozemšťany, ale počítám modely změn klimatu. V době kdy se (lidstvo) ženeme do záhuby, bude dobré vidět alespon pěknou animaci toho, jak se díky globálnímu oteplování ugrilujeme, ne? :)
Share:

pátek 23. února 2007

Huh, že bych už také měl svůj blog?

Tak jsem tu. Máte radost? Ano je to infantilní, ale já právě prožívám emoce vyvolané založením svého prvního blogu...
Share:

Blog Archive