pondělí 28. listopadu 2011

IP SMART BOARD vs Zabbix

Starý domácí termostat ke kotli mám umístěn na velmi nevhodném místě za dveřmi a dráty pro signalizaci NO, CAM jsou vyvedeny právě zde a měnit jejich umístění je nemožné bez sekání. Rozhodl jsem se pořídit jiný termostat a volba padla na IP SMART BOARD od společnosti Mikrovlny s.r.o.

Se zařízením jsem měl menší problémy, které vyůstily k reklamaci daného kusu. Nespínalo relé při hlídané hodnotě. Ani výměna firmware nezabrala. Po výměně vadného kusu se s ním ještě učím :-), ale již hlídá plynový kotel a je příjemné si nastavovat doma topení po netu.

Nedalo mi to a destičku sledují pomocí SNMP verze 1 v monitorovacím systému Zabbix. Na stránce s MIB hodnotami je popis jednitlivých hodnot.



snmpwalk -Os -c public -v 1 192.168.10.101 0.1.3.6.1.4.1.21287.16.1.0
ccitt.1.3.6.1.4.1.21287.16.1.0 = STRING: "20.5"



V Zabbixu, jsem vytvořit template Template_IP_SMART_BOARD.xml. Definuje 18 hodnot dle MIB definice a 4 grafy. Využívám 2 teplotní čidla s tím že další je na desce, ale to hlídá teplotu desky, která se někdy zahřeje, proto není vhodné pro měření. Desku napájím pomocí PoE. Zajimavé hodnoty jsou z čidel a pak výstupní stav, kde vidím, zda kotel topíl a díky zabbixu vidím i od kdy do kdy.

Dané zařízení má své webové rozhraní, kde je možno sledovat stav relé a hodnoty čidel včetně maxima a minima atd.

Aktuálně používám konfiguraci využívající "Programable output".
např.
Mo,Tu,We,Th,Fr,Sa,Su,6:30,20.5
Mo,Tu,We,Th,Fr,Sa,Su,21:00,18.5


Bohužel nikde v dokumentaci nepíšou, že stávající firmware pro fungovaní "Programable output" vyžaduje připojena obě teplotní čidla, což naštěsí je můj případ.

Podrobná dokumenraci IP SMART BOARD je na stránkách výrobce.

Zde mám ke stažení oba distupné firmware. Do konce roku má prý vyjít opravný 1.0.3.

Template v Zabbixu definuje samotné Items, ale i vybrané čtyři grafy.

Zabbix 1.8.9

Máme tu novu verzi monitorovacího systému Zabbix a tou je verze 1.8.9.

Releace Notes popisuje opravu mnoha chyb a taktéž přináší i nějaké novinky.

Aktualizoval jsem ze src dva servery. Zabbix server+frontend a Zabbix proxy + Agenty.

29709:20111128:125356.963 Starting Zabbix Server. Zabbix 1.8.9 (revision 23398).
29709:20111128:125356.964 ****** Enabled features ******
29709:20111128:125356.964 SNMP monitoring: YES
29709:20111128:125356.964 IPMI monitoring: YES
29709:20111128:125356.964 WEB monitoring: YES
29709:20111128:125356.964 Jabber notifications: YES
29709:20111128:125356.964 Ez Texting notifications: YES
29709:20111128:125356.964 ODBC: YES
29709:20111128:125356.964 SSH2 support: YES
29709:20111128:125356.964 IPv6 support: NO
29709:20111128:125356.964 ******************************

22517:20111128:131104.090 Zabbix Proxy stopped. Zabbix 1.8.9 (revision 23398).
22617:20111128:131104.100 Starting Zabbix Proxy (active) [proxy-zbx]. Zabbix 1.8.9 (rev
ision 23398).
22617:20111128:131104.100 **** Enabled features ****
22617:20111128:131104.100 SNMP monitoring: YES
22617:20111128:131104.100 IPMI monitoring: YES
22617:20111128:131104.100 ODBC: YES
22617:20111128:131104.100 SSH2 support: YES
22617:20111128:131104.100 IPv6 support: NO
22617:20111128:131104.100 **************************

úterý 22. listopadu 2011

winexe na Ubuntu nebo LMDE

Projekt
http://sourceforge.net/projects/winexe/

wiki
http://en.wikipedia.org/wiki/WinExe

Help build on ubuntu or debian - tested compile on LMDE
http://mpov.timmorgan.org/winexe-on-ubuntu

sudo apt-get install build-essential autoconf checkinstall
svn co http://dev.zenoss.org/svn/trunk/wmi/Samba/source
cd source
wget https://gist.github.com/raw/843062/5bb87c4fa13688f65ca8b1e54fc42676aee42e5a/fix_winexe_service.diff
patch -p0 -i fix_winexe_service.diff
./autogen.sh
./configure
make proto bin/winexe
sudo cp bin/winexe /usr/local/bin/


ready for used :-)

pondělí 21. listopadu 2011

OpenSSL library error follows - values mismatch

Řešil jsem standartní výměnu SSL certifikátu u webserveru Apache. Po domluvě s osobou, co certifikační řízení řešil u CA Thawte jsem mu vytvořil nové CSR dle zvyklostí.

openssl genrsa -des3 -out www.domena.cz.key 2048
openssl req -new -key www.domena.cz.key -out www.domena.cz.csr
openssl rsa -in www.domena.cz.key -out www.domena.cz.key-decrypt


Posléze jsem certifikáty přenesl na webserver a restartoval jej a ejhle, Apache nenaběhl s hláškou:

[Mon Nov 21 12:36:16 2011] [error] mod_ssl: Init: (www.domena.cz:443) Unable to configure RSA server private key (OpenSSL library error follows)
[Mon Nov 21 12:36:16 2011] [error] OpenSSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch


Je vhodné vždy prověřit, zda je modulus stejny u klíče (key), certifikátu (crt) a požadavku (csr)!!!

openssl x509 -noout -text -in www.domena.cz.crt -modulus
openssl rsa -noout -text -in www.domena.cz.key -modulus
openssl req -noout -text -in www.domena.cz.csr -modulus

Muj problem byl v tom, že mi pán zaslal jiný cert, než bylo domluveno :-(

středa 16. listopadu 2011

Feitian ePass PKI token

Kolega nalezl tento USB token Feitian ePass PKI token na jednom francouském shopu. Již dříve jsem po obdobném HW toužil. Pátral jsem zda by jej nechtělo koupit více lidí, ale ve finále měl danej shop pouze dva kousky. Celkově dva USB tokeny s poštovným stály 78,53€.

K čemu taková USB fleška je :-) ? Vypadá sice jako fleška, ale uvnitř je čtečka Smard Card - Feitian R-310 a Feitian PKI smartcard (FTCOS / PK-01C). Na token je možno uložit certifikát nebo ssh klíč. Výhodou je, že se dá RSA klíč přímo generovat na daném zařízení s tím, že privátní klíč nikdy token neopustí, což je jedna z klíčových vlastností .

Spolu s tokenem bylo dodáno i malé 92M CD s dokumentací. Aktuální ISO obraz je dostupný zde.

Hnedle co jsem jej dostal do ruky, strčil jsem jej do USB.

Nov 14 13:35:44 ntb kernel: [19615.418112] usb 5-1: New USB device found, idVendor=096e, idProduct=0503
Nov 14 13:35:44 ntb kernel: [19615.418115] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Nov 14 13:35:44 ntb kernel: [19615.418117] usb 5-1: Product: SCR301
Nov 14 13:35:44 ntb kernel: [19615.418119] usb 5-1: Manufacturer: Feitian
Nov 14 13:35:44 ntb mtp-probe: checking bus 5, device 5: "/sys/devices/pci0000:00/0000:00:1d.0/usb5/5-1"
Nov 14 13:35:44 ntb mtp-probe: bus: 5, device: 5 was not an MTP device

Pro práci s tokenem budeme v Linux/UNIX systémech potřebovat free software OpenSC. Výrobcem tokenu je spolešnost Feitian. Ovladač FTCOS/PK-01C v OpenSC se jmenuje "entersafe", více je popsáno zde.

Nejprve jsem si instaloval tyto balíky v distribuci LMDE. K OpenSC je ječtě třeba ovladač čtečky atd. pcsc+ccid.

sudo aptitude install opensc
sudo aptitude install libccid
sudo aptitude install libacsccid1
sudo aptitude install pcsc-tools
sudo aptitude install pcscd


Kominikace s čtečkou mi nějak nefungovala, proto jsem si manuálně zkompiloval aktuální verzi. Popis instalace pěkně zdokumentován na GOOZE.

Ověření instlace je dokumentováno zde. LMDE verze.

opensc-tool --verbose --info
opensc 0.12.1 [gcc 4.6.1]
Enabled features: zlib openssl pcsc(libpcsclite.so.1)


Aktuální manuálně kompilovaná verze.

opensc 0.12.2 [gcc 4.6.1]
Enabled features: zlib readline openssl pcsc(libpcsclite.so.1)

Vypíšeme si čtečky --list-readers, -l Lists all configured readers

opensc-tool -l
# Detected readers (pcsc)
Nr. Card Features Name
0 Yes Feitian SCR301 00 00

Inicializace karty je opět pěkně zdokumentována zde.

Vypíšeme si ATR ma kartě --atr, -a Prints the ATR bytes of the card

opensc-tool --atr
Using reader with a card: Feitian SCR301 00 00
3b:9f:95:81:31:fe:9f:00:65:46:53:05:30:06:71:df:00:00:00:80:6a:82:5e


Vypíšeme si seriové číslo karty. --serial Prints the card serial number

opensc-tool --serial
Using reader with a card: Feitian SCR301 00 00
29 15 33 21 10 23 08 11 ).3!.#..

Preventivě smažeme kartu, na které od výrobve stejně nic není. Prověříme tím komunikaci čtečky s smart card.

pkcs15-init -vE
Using reader with a card: Feitian SCR301 00 00
Connecting to card in reader Feitian SCR301 00 00...
Using card driver entersafe.
About to erase card.


Dále si na kartě inicializujeme profil, nastavíme pin a puk

pkcs15-init --create-pkcs15 --profile pkcs15+onepin --use-default-transport-key --pin 1234 --puk 654321 --label "Jan Novak"

Pomocí dump si vypíšeme co Smard Card obsaduje.

pkcs15-tool --dump
Using reader with a card: Feitian SCR301 00 00
PKCS#15 Card [
Jan Novak]:
Version : 0
Serial number : 2915332110230811
Manufacturer ID: EnterSafe
Last update : 20111115124249Z
Flags : EID compliant

PIN [User PIN]
Object Flags : [0x3], private, modifiable
ID : 01
Flags : [0x32], local, initialized, needs-padding
Length : min_len:4, max_len:16, stored_len:16
Pad char : 0x00
Reference : 1
Type : ascii-numeric
Path : 3f005015


Můžeme do karty importovat existující RSA klíč, který musíme nejprve dešifrovat.

openssl rsa -in ~/.ssh/id_rsa -outform pem > id_rsa.pem
Enter pass phrase for /home/novak/.ssh/id_rsa:
writing RSA key


Posléze jej uložíme na Smard Card.

pkcs15-init --store-private-key id_rsa.pem --auth-id 01 --pin 1234

Lepší možnost je si klíč generovat přímo na token.

pkcs15-init --generate-key 2048-rsa --auth-id 01 --pin 1234

Veřejný klíč si vygenerujeme následovně. Návod opět zde. Vypíšeme si nejprve informaci o veřejném klíčí na smard card.

pkcs15-tool --list-public-keys
Using reader with a card: Feitian SCR301 00 00
Public RSA Key [Public Key]
Object Flags : [0x2], modifiable
Usage : [0x4], sign
Access Flags : [0x0]
ModLength : 2048
Key ref : 0
Native : no
Path : 3f0050153000
ID : c70982******a14eb3

pkcs15-tool --read-ssh-key c70982
******a14eb3

Using reader with a card: Feitian SCR301 00 00
2048 65537 259843
******67908u
ssh-rsa AAAAB3Nz
******
Bw2Tfg

Pak se již můžeme přihašovat na vzdálený server pomocí Secure Shell.

ssh -v -I /usr/lib/opensc-pkcs11.so server.domena.cz

Provider tokenu je možno zavést do patřičného souboru.

vim ~/.ssh/ssh_config
PKCS11Provider /usr/lib/pkcs11/opensc-pkcs11.so


Alternativy USB tokenu, u kterých se o Linuxu moc nepíše, ale funkční pod OpenSC budou.
Tyto alternativy jsem si zde uvedl jen proto, že jsem na rychlo hledal, zda se da nějaký USB token koupit v čechach. Patrně nebudou fungovat pod Linuxem.

pátek 11. listopadu 2011

NetworkManager vs pfSense OpenVPN

Doposud jsem se domů připojoval jen pomocí Secure Shell a když bylo třeba pomoci Wake on LAN jsem si zapnul domácí PC. Jelikož se občas potřebuji připopjit domů a dostat se na nějaké to domací HTTP je již potřeba VPN.

Oblíbený router pfSense založený na FreeBSD má podporu několika VPN implementací. Testnul jsem právě OpenVPN. Jako velký pomocník mi byl tento návod. Který mě navedl na použití velmi užitečné aplikace TinyCA, která mi výrazně usnadnila vytvoření všech certifikátů pro server i pro klienta.

Samotné certifikáty jsem si nastavil v oblíbené aplikaci NetworkManager, který je dnes již v mnoha distribucí a výrazně usnaddnuje práci s připojením kde kam :-)

středa 9. listopadu 2011

SSI apache 1.3 vs apache 2.2

Překlapěl jsem konfigurace Apache 1.3.x na Apache 2.2.x a narazil jsem na problem s SSI, přesněji na práci s DATE_LOCAL. SSI jako takové fungovalo, ale duplicitní directiva zapomenutá v common.conf a nová direktiva v mods-enable/mime.conf delala problémy.

Konfigurace Apache 1.3.x

AddType text/html .shtml
AddHandler server-parsed .shtml

Konfigurace Apache 2.2.x

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml


Je zvláštní že apachectl configtest nehlídá i duplicitní záznamy v konfiguraci.

úterý 8. listopadu 2011

SyncML Nokia E72

Chtěl jsem si udělat zálohu kontaktů z firemního telefonu Nokia E72. Nejprve jsem sázel na aplikaci Wammu, ale ta se s telefonem nespojila pomocí USB ani přez Blootooth.

Nakonec jsem použil textovou utilitu SyncML.

sudo aptitude install libsyncml-utils
  1. Telefon jsem připojil přez mikro USB kabel
  2. Vypsal jsem si nalezená zažízení
  3. A pak už jen stáhnul kontakty
syncml-ds-tool -u
Superuser privileges are required to access complete USB information.
Found 4 USB OBEX interfaces
Interface 0:
Manufacturer:
Product:
Interface description:
Interface 1:
Manufacturer: Nokia
Product: E72-1
Interface description: SYNCML-SYNC
Interface 2:
Manufacturer: Nokia
Product: E72-1
Interface description: PC Suite Services
Interface 3:
Manufacturer: Nokia
Product: E72-1
Interface description: SYNCML-DM

syncml-ds-tool -u 0 --slow-sync text/x-vcard Contacts --wbxml --identifier "PC Suite" > Plocha/Nokia_E72.SyncML.txt

Výstup je následující:

-----BEGIN CHANGE-----
BEGIN:VCARD
VERSION:2.1
REV:20110629T050437Z
N:Jan;Novak;;;
TEL;CELL:+420603123456
EMAIL;INTERNET;ENCODING=QUOTED-PRINTABLE:jan.novak=40domena.cz
END:VCARD
-----END CHANGE-----

HP ProLiant MicroServer FreeNAS

Včera po florbale jsem musel zajít k sousedovi omrknout HW co si velmi výhodně pořídil pro provozování domácího NAS.

HP ProLiant MicroServer (dostupný např v Alza). Blog s popisem HW i s fotkama je zde. Na youtube je video o daném HW.

V minulosti jsem si pořídil vlastní obdobný HW pro domácí NAS a provozuji na něm systém FreeNAS. Tento HW mi příjde mnohem lepší.

neděle 6. listopadu 2011

VMware Workstation 7.1.4 na LMDE

Instalace samotného komerčního produktu VMware Workstation 7.1.4 projde bezproblémově, vše ala widle, klikací vizárd. Při prvním puštění se ovšem kompiluje patřičný modul jádra, což si VMW od jisté verze zajišťuje sama. Error log moc nenapoví, kontroloval jsem existenci kernel headeru atd. ale vše bylo v pořádku.

Chybu se spuštěním po instalci, jsem pozoroval jak u LMDE tak u Ubuntu 11.10. Problém je v tom, že kernel 3.0.x není v VMW 7.1.x zřejmě podporován. Moc jsem problém podrobně neanalyzoval. Našel jsem jeden blog, kde je k mání patch vmware2.6.39patchv3.tar.bz2 se scriptem, který udělá vše za Vás. Pozmění se zdrojáky a provede se kompilace modulu.

S aktuální sedmičkovou verzí VMware Workstation 7.1.5 patch nefunguje, ale to je asi jen kosmetický problém.

UPDATE: Úpravou patch scriptu je možno instalovat i 7.1.5. Jen je třeba smazat soubor .patched, ale na to každý příjde sam.

Tento neduh jsem řešil s jedním kolegou v HK a přičítal jsem jej LMDE, ale totéž jsem řešil včera s Ubuntu 11.10, kde je též kernel verze 3.x.

Ubuntu 11.10 > LMDE

V pátek jsem se rozhodl, že na firemním noteboku vyzkouším Poslední verzi distribuce Ubuntu s označením Oneiric Ocelot 11.10. Tento release jsem testoval ve virtualizaci, takže jsem tušil o co se jedná. Doposud jsem používal Lucid Lynx 10.04.3 LTS a moc se mi jej nechtělo opouštět. Díky LTS bych jej mohl spokojeně používat až do 042013. Kolega v práci si 11.10 moc pochvaloval a na práci s Unity se prý dá zvyknout.

Instalace byla bez problémů, osobně mě překvapil instlátor, který umí používat i wifi bezdrátové spojení. Tato vlastnost se zřejmně časem objeví ve všech ostatních distribucích.

Co se Unity týče, moc se mi nelíbí a více jsem si sliboval od používání Gnome Shell neboli Gnome3. Již v minulosti jsem obě prostředí testoval. Koexistence obou prostředí v jednom systému je dobrá. V dřívějších dobách - distribucích tato možnost tuším nebyla možná. Před instalací jsem si udělal zálohu /etc a /home dále je dobré poznamenat si seznam instalovaných balíčků.

Po instalaci jsem si liboval, že to bude v pohodě, ale ejhle. Emailový klient Evolution, který byl z úvodní instalace odstraněn nefungoval jak by měl, přesněji přestal fungovat úplně, což bylo pro mě dosti fatální. Dále mě hodně zarazila neexistence balíčků seahorse-plugins, totem-plugins. Někde jsem vygooglil, že jsou plné chyb a že se asi objeví až ve 12.04, což je dosti nepochopitelné. Dále jsem se pokoušel Unity nějak umravnit a za nápomoc jsem povolal pěkně ucelený článek na rootu. V sobotu večer jsem Evolution neumravnil a pak už došla trpělivost. Doslova jsem se nasral a vzpálil si DVD linuxmint-201109-gnome-dvd-64bit.iso a bylo vymalováno.

Distribuci Linux Mint neznám moc dlouho, ale na domácí plečce na přehrávání pohádek jsem si jí ochmatal a přišla mi jako vcelku dobrá a použitelná. Mint distribuce je postavená na Ubuntu nebo Debinu. Ubuntí verzi jsem testil již dříve. Zato LMDE neboli Linux Mint Debian Edition je takzvaná "rolling distribution". To má malou nevýhodu, že se využívají Debian Testing balíky. To by mohlo mít za následek nestabilitu. I přes to jsem se jej rozhodl používat.

Instalátor je více ořezaný, než ten Ubuntí, ale to na funkcni nemělo vliv. Po instalaci se aktualizovalo asi 400 balíků. Dále jsem obnovil data ze zálohy a vše funguje jak bych si představoval. Problém nastal jen s VMware Workstation 7.1.x, která si nechtěla porozumět s kernelem 3.0.x. Tento identický problém jsem ovšem řešil i na Ubuntu 11.10. Postup na řešení bude v dalším příspěvku.

Pevně věřím, že budu s LMDE spokojen a nebudu neustále utloukán nefunkčními novinkami. Jsem smířen s tím, že komunitní podpora není stejná jako ta od Canonicalu. Ubuntu jsem používal od verze 6.06 LTS. Distribuci Ubuntu dlouhodobě vnímám jako inovátorskou distribuci, u níž má cenu používat jen LTS verze. Ty ostatní často nefungují. Taktéž věřím že LTS nestratí své dřívější kvality.