úterý 24. listopadu 2015

UPnP & NAT-PMP na pfSense 2.2.5 vs Synology DSM 5.2-5644

Nedávno jsem se známým řešil na jeho pfSense routeru doma podivné chování. V pravidlech neměl žádný portforward a i přesto mu funoval Postfix běžící na Synology z internetu. Po schizofréních dvouch hodinách a testování jsem si všiml zapnuté služby UPnP & NAT-PMP. Tuto službu jsem již dříve testoval a např. Skype ji umí využívat a otevírá si porty na WAN interface routeru. Povětšinou tuto službu nechávám raději vypnutou.

pfSense disponuje touto funkcionalitou - UPnP & NAT-PMP - jedná se o projekt miniupnpd, který zajišťuje NAT Port Mapping Protocol (NAT-PMP). Automatické mapování portů, které je řízené klientem.

V NAS Synology je tedy možno řídit co se má mapovat a co ne. Nastavení se provádí v menu Synology a router pfSense mapování zajistí automatizovaně. V nepovolaných rukou může být tato funkcionalita velmi nebezpečná. Na druhou stranu je to zajímavé technícké řešení automatizace NAT-PMP.

Controll Panel / External Acces / Router Configuration


V pfSense existuje sránka Status: UPnP & NAT-PMP Status, kde je přehledně vidět kdo (upnpclient) jaké porty kam mapuje.

úterý 27. října 2015

Zabbix Search::Elasticsearch

Pokud chceme monitorovat pomocí Zabbixu Elasticsearch server, tak se nám bude hodit Perl modul Search::Elasticsearch

Sice se na stránkách elastic o modulu píše, ale součásti repository pro CentOS modul neni.
https://www.elastic.co/guide/en/elasticsearch/client/perl-api/current/index.html



Po nějaké době hledání jsem našel repository OpenFusion, ale ten obsahuje jen starší verzi perl modulu.

Nezbude nam na CentOS 6 než použít cmanm

yum install perl-devel
yum install perl-CPAN

curl -L http://cpanmin.us | perl - --sudo App::cpanminus

/usr/local/bin/cpanm Search::Elasticsearch

find / -name Elasticsearch.pm
/usr/local/share/perl5/Search/Elasticsearch.pm


Např. ve FreeBSD je to s Perl mudulama mnohem lepší.

p5-Search-Elasticsearch-1.20_1 ElasticSearch API

neděle 25. října 2015

ComLynx Weblogger

Oslovil mě jeden známý, že má problém se specifickým zařízením pro FVE. Prý se do něj nedostane. Měnila se prý IP a nějak se změnila špatně.

Jedná se o Webový záznamník ComLynx Weblogger od již neexistující společnosti Danfoss.

Webový záznamník ComLynx Weblogger pro solární střídače poskytuje přístup k
datům FV elektrárny odkudkoli – stačí mu k tomu internetový prohlížeč. Webový záznamník ComLynx Weblogger zaznamenává data z jednotlivých střídačů a prostřednictvím webové stránky zobrazuje informace o jednotlivých snímačích a také celkový stav systému.

Nejprve jsem se zhrozil, co s tím mohu já udělat. Ukázalo se, že na desce je paměťová karta Comact Flash. A tak jsem ji připojil do Linuxu a zjistil že systém ComLynx Weblogger používá nějaký upravený Linux. O jakou distribuci se jednalo jsem nezjistoval, nebyl čas. V /etc jsem hledal nějaké nastavení IP a našel jsem soubor /etc/rc.local, kde se nastavovali IP adresy a spousta dalších věcí. Opravil jsem IP dle potřeb a systém zase ožil.

Je srandovní, že manipulaci s CF může provádet jen autorizovaný service.

pátek 23. října 2015

OpenStreetMap import do PostGIS


Po dlouhé době jsem opět narazil na databázi PotgresSQL a jeho velmi zajímavé rozšíření PostGIS. Mile mě překvapilo, jak snadno se dá PostGIS naplnit daty z OpenStreetMap (OSM). A tím si snadno vytvoříte vlastní mapový server s velmi podrobnými daty.

Testováno na OS FreeBSD 10.2

Instalace poslední verze PostgreSQL 9.4

cd /usr/ports/databases/postgresql94-server/ && make install clean

Instalace rozšíření PostGIS

cd /usr/ports/databases/postgis21/ && make install clean

Instalace konvertoru OSM do pgsql

/usr/ports/converters/osm2pgsql/ && make install clean

Dále je postup poměrně jednoduchý.  Připravíme si databázi nejlépe i s table space.

mkdir -p /data/pgsql/postgis && chown pgsql:pgsql /data/pgsql/postgis

CREATE USER postgis;
CREATE TABLESPACE postgis OWNER postgis LOCATION '/data/pgsql/postgis';
CREATE DATABASE postgis WITH OWNER = postgis TABLESPACE = postgis;
CREATE LANGUAGE plpgsql;


Provedeme instalaci PostGIS rozšíření PostgreSQL.

cd /usr/local/share/postgresql/contrib/postgis-2.1/
psql -d postgis -f postgis.sql
psql -d postgis -f spatial_ref_sys.sql
psql -d postgis -f postgis_comments.sql
psql -d postgis -f topology.sql
psql -d postgis -f topology_comments.sql
psql -d postgis -f rtpostgis.sql
psql -d postgis -f rtpostgis_legacy.sql
psql -d postgis -f legacy.sql


Ověříme verze PostgreSQL a PostGIS

[root@gis-test ~]# psql postgis
psql (9.4.5)
Type "help" for help.

postgis=# SELECT version();
PostgreSQL 9.4.5 on amd64-portbld-freebsd10.2, compiled by FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512, 64-bit

postgis=# SELECT postgis_full_version();
POSTGIS="2.1.7 r13414" GEOS="3.5.0-CAPI-1.9.0 r4084" PROJ="Rel. 4.9.1, 04 March 2015" GDAL="GDAL 2.0.1, released 2015/09/15" LIBXML="2.9.2" LIBJSON="UNKNOWN" TOPOLOGY RASTER



Provedeme stažení OSM mapy ČR a naimportujeme do PostGIS.

fetch http://download.geofabrik.de/europe/czech-republic-latest.osm.pbf # 589M

osm2pgsql -d postgis --slim -C 1500 --number-processes 4 czech-republic-latest.osm.pbf

Import nějakou dobu trvá a zabere i dost místa ve vytvořeném TABLE SPACE :-)

Jak používat data z PostGIS je zase jiné téma. Jen uvedu pár zajímavých projektů.

středa 20. května 2015

UniFi Controller on FreeBSD

Nedávno jsem se musel seznámit s Enterprice WiFinama od Ubnt. Přesněji UniFi UAP-AC a UniFi UAP-AC Outdoor, celkem 5kousků v jedné lokalite. Prvním ohlednáním zjistíte, že tyto zařízení nemají žádné Web GUI. Po oscanování zjistíme, že na WiFině běží jen SSH server.

Dokumentace nás navede na aplikaci UniFi Controller, což je aplikace běžící pod Apache Tomcat využívající MongoDB. Oficiálně je aplikace dostupná pro Windows a Mac OSX. Ale na komunitních stránkách je informace o repo pro Linux Debian/Ubuntu. Testoval jsem to na Kali a funguje.

Mile mě překvapilo, že UniFi Controller je instalovatelný i pod FreeBSD. Existuje patřičný port.Jak už to u FBSD bývá je možno si vybrat i starší verze.

cd /usr/ports/net-mgmt/unifi4/
make install clean

Aktualizace: 20151030

Databázi MongoDB si UniFi pouští samo a směruje si ji do svého dataDir. Ale je nutno mírně upravit konfigurační soubor, jinak mongodb-2.6.7 nenabehne. 

vi /usr/local/share/java/unifi/data/system.properties
...
unifi.db.extraargs=--smallfiles

pondělí 18. května 2015

Seznámení se s OpenOTP

Pracovně jsem se více seznámil se zajimavým autentizačním serverem nebo spíše systémem, který kombinuje řadu funkcí a vlastností v oblasti autentizace a authorizace. Je jím produkt společnosti RCDevs SA - Luxembourg - OpenOTP.

Systém se skládá z několika komponent:
  • WebADM
  • OpenOTP Server + RADIUS Bridge
  • TiQR Server
  • OpenID/SAML IdP
  • Self - services
  • Web Plugins
Osobně jsem vyzkoušel jen část funkcí. OpenOTP jsem použil pro vzdálené ověření OpenVPN uživatelů na routeru pfSense v kombinaci s TOTP nebo HOTP skrze RADIUS. Použil a testoval jsem dvě Self aplikace - User Self-Registration a LDAP Password Reset. Pořídil jsem si hardware token RCDevs RC200 podporuící TOTP, abych vyzkošel registrace tokenů atd.

Hardware Tokens:
Software Tokens:
Možností využití OpenOTP je mnoho. Výrobce uvádí porovnání vlastností. Na OpenOTP je velmí příjemné, že se jedná o Freeware. S tím že 40 uživatelů může systém využívat zcela zdarma.

čtvrtek 26. února 2015

JasperReports a plugin ElasticJasperServer

V práci jsem seznamoval s produkty Jasper Reports od společnosti Jaspersoft, která je vlastněná společností TIBCO Software.  Hlavním důvodem je generování reportů např. v PDF získaných z ElasticSearch nebo Zabbix.

Nejprve jsem instaloval JasperReports Server, což je Java aplikace běžící pod Apache Tomcat. Defaultní instalace využívá databázi PostgreSQL, ale můj požadavek byl JR Server provozovat s MySQL. Volil jsem tedy instalaci WAR využívající js-install script. Stáhnul jsem si tedy jasperreports-server-cp-5.6.1-bin.zip. Volil jsem starší verzi, protože mým cílem bylo zprovoznit rozšíření od Wedjja - https://github.com/WedjaaOpen. Které umožňuje JR Serveru komunikovat a dotazovat se pomoci JSON ElasticSearch. Aktualní verze ElasticJasperServer nepodporuje poslední verzi JR Serveru 6.x. Projekt je velmi dobře dokumentován, proto instalace JR Serveru i pluginu ElasticJasperServer není nikterak složitá.

Pro vytvoření samotných reportů se používá aplikace JasperReports Studio, která je postavena na základech vývojového prostředí Eclipse. JR Studio a JR Server spolu komunikují a vytvořené reporty je možno snadno publikovat na serveru, kde se patřičný report nechá vykonávat pravidelně a může zasílat výsledné reporty emailem nebo je uploadovat na FTP server.

JR Studio se též neobejde bez pluginu do ElasticSearch. Je třeba doinstalovat ElasticJasper. Podrobný popis jak na to je pěkně popsán na blogu Wedjja.

Samotná tvorba reportů JRXML není úplně jednoduchou disciplínou, ale výsledky mohou být velmi zajímavé.

JasperReports je v Java světě zjevně hodně znám. Čistě náhodou jsem si všiml, že účetnictví FlexiBee používá pro tisk právě JasperReports Library.

úterý 17. února 2015

CAT B15Q aktualizace systému


V létě 2014 jsem si pořídil mobilní telefon CAT B15Q z kategorie odolných telefonů splňujících certifikaci IP67. Koncem roku 2014 telefon hlásil, že je vydána aktualizace. Neváhal jsem a pokoušel jsem se ji instalovat. Bohužel každé stažení končilo chybou dekomprimace update.zip, který se stáhnul na MicroSD kartu.

Telefon z výroby přišel s verzí Android 4.4.2 a číslem sestaveni CatB15Q_GENE_DS_1.010.000. Problém s chybou jsem řešil i s výrobcem skrze support, ale ten se maximálně zeptal na číslo sestaveni a tím se komunikace ukončila :-( a rada žádná. MicroSD karta se hnedle od začítku jevila podezřele. Aplikace na prohlížení fotografií nedokázala vytvořit náhled z pořízených fotografii. Při zaplnění asi 200MB. Provedl jsem kopii fotek do PC a preformátoval kartu. Chviličku a byl klid. Ovšem problémy s aktualizací přetrvávaly i nadále.

Odhodlal jsem si pořídit novu MicoSD kartu srovnatelné velikosti, která byla dodána s telefonem z výroby. A ejhle problém s aktualizacema je vyřešen. Takže výrobce dodal vadnou MicroSD kartu!

Nejprve se provedla aktualizace na verzi CatB15Q_GENE_DS_1.019.000 a posléze se provedla ještě jedna na aktuální verzi CatB15Q_GENE_DS_1.022.000. Uvidím, zda se vše opravilo. V červenci 2015 dorazila další oprava  CatB15Q_GENE_DS_1.026.000. V únoru 2016 dorazila další oprava CatB15Q_GENE_DS_1.032.000. Musím CAT opravdu pochválit, protože opravili velmi závažnou chybu z vanou Stagefright.

Co se SW týče interní aplikace zajištující stahování např. příloh emailů se chovala tak, že hlásila chyby. To byl problém od začátku. Doufám, že dvě aktualizace tento problém definitivně opravily. Po aktualizaci mi přišel email s přílohou a telefon se jeví zdravě.

Do budoucna se třeba dočkám i Androidu 4.4.4 Jsem rád, že i neobvyklý výrobce telefonů CAT vydává opravy SW svých telefonu.

Do budoucna plánuji stávající akumulátor B10-2 - 2 000 mAh, Li-Ion nahradit za 4 500 mAh, Li-Ion, zatím jsem nenašel, kde by se dal pořídít.

Mít tak sponzora, rád bych přešel na CAT S40 kvůli LTE a Android 5.1.

pátek 13. února 2015

Zabbix Community Repos

Tento odkaz jsem již několikrát hledal, narazil jsem na něj na LinkedIN.

https://github.com/zabbix/zabbix-community-repos

Obsahuje odkazy na mnohe Zabbix repository šablon a scriptů.

pondělí 2. února 2015

PC Engines APU.1D vs pfSense 2.2

Dostala se mi pod ruku nová generace desky od PC Engines s označením APU.1D. Je to nástupce desek ALIX.2D3 a jí podobných. Desku jsem vybavil mSATA SSD diskem a wifi kartou. Deska je od výroby dodávána s hliníkovým pruhem jakožto pasivním chladičem přehřívaných čipu. Popis instalace je zobrazen v návodu výrobce. Vypadá to amatérsky, ale asi to mají spočítané a otestované, že to stačí i pro provoz v letním období.

Po zapojení desky jsem se k ní připojil sériovou konzolí 115200 8N1. Používám GNU screen.

sudo screen /dev/ttyUSB0 115200

Deska disponuje BIOSem, který umí bootovat z několika periferii iPXE, mSATA a např. USB. Podrobnosti jsou v dokumentaci k deskce. Rozhodl jsem se v desce povýšit BIOS na aktuální verzi Build 9/8/2014, jedná se o beta, ale na problémy jsem zatím nenarazil. K mání je i produkci verze.

Aktualizace BIOSu je možná pomocí USB nebo PXE. Oba postupy jsou poměrně jednoduché. Použil jsem svůj TFTP server.

Stáhneme http://www.pcengines.ch/file/apu_tinycore.tar.bz2 a umístíme na TFTP server a upravíme konfiguraci PXE. Výrobce používá projekt Tiny Core Linux, pomocí kterého bootneme do mini Linux distribuce, která obsahuje vše potřebné pro zapsání image BIOSu na flashROM. Obdobné se dá vyrobit USB disk.

S deskou APU mi měla dorazit i redukce mSATA <> SATA, ale ta se opozdila. Tak jsem si pomoci TFTP stáhl image pfSense do RAMdisku Tiny Core Linuxu. RAM 2GB je slušné vybavení desky.

tftp -g -r /pfsense/pfSense-2.2-RELEASE-4g-i386-nanobsd.img.gz 192.168.42.13
gunzip -c pfSense-2.2-RELEASE-4g-i386-nanobsd.img.gz | dd of=/dev/sda bs=4M

Po instalaci NanoBSD verze pfSense na SSD disk, stačí jen v BIOSu nastavit boot device mSATA a uložit.

Tento návod je pro zasvěcené systémáky. Kompletní router se vším všudy se dá pořídit v eShopu http://store.open-tech.cz/router/pfsense-apu-1d/

pondělí 12. ledna 2015

OSSIM - installation step failed

Instaloval jsem OSSIM verzi 4.14.0, přesněji komponentu Sensor. A narazil jsem na chybu - "installation step failed", která toho moc nenapoví :-(

Grub výběr typu instlace OSSIM - Sensor
 OSSIM je postavené na Debianu a kombinuje řadu Open Source projektů, jako je OpenVAS, Suricata, Snort, NetFlow, OSSEC a další. Instalaci jsem prováděl do ESXi a tak jsem zkousel měnit vlastnosti virtuálky. Zkoušel jsem instalovat i jako OSSIM - All in One, ale stále stejná chyba.

Installation step failed ...
 Instalátor se zeptá na lokalizaci, klávesnici a pak už jen nastavení sítě a hesla na roota a pak se již vše instaluje automatizovaně (Preseed), přesněji se nedá do instalačního procesu jakkoliv vstoupit. Pokoušel jsem se provést instalaci v textovém režimu, potlačením framebufferu.

V grubu se pomocí [Tab] upraví  položka menu, kam se přidá následující.

debian-installer/framebuffer=false

Ale i textová instalace zkončila stejnou chybou.

Installation step failed ... v textovém módu.
Má instalace byla prováděna na veřejné IP adrese. A zde je onen problém. Instalaci jsem provedl v rozsahu privátní sitě 192.168.0.2/24 a ejhle instalace korektně doběhla. 

pondělí 5. ledna 2015

Unreal Tournament 2004 vs Ubuntu 12.04.5 LTS

O vánočním volnu se mi poštěstilo a jeden večer jsem měl volno od dětí. Ikdyž jsem měl naplánované nějaké domácí odkládané práce. Nejprve jsem si zajel do Lipnice na přírodní led zabruslit i s hokejkou, ale tam nás nějakej místní zasvědcenej opilec vyhnal.

Pak jsem si řekl, že se zajedu podívat do DKčka (dříve Apollo), kde jsem ještě nebyl. Bylo tam v podstatě mrtvo, až na bandu týpků s notebookama, kteří se zjevně připravovali na nějakou LANpárty. Polehounku jsem se infiltroval a vyzjistil, že se chystají hrát Unreal Tournament 2004. Nedalo mi to a konzultval jsem Google a Steam ohledně této hry. Po chvíli jsem si jel domu pro notebook :-)

Kluci byli velmi vstřícní a poskytli mi instalační iso DVD - UT2004.iso (3,7G)  na kterém se nachází linux-installer.sh, což mě velmi mile překvapilo. Instalace proběhla by default bez nějakých velkých obtíží na Ubuntu 12.04.5 LTS 64bit. Hra se již nedá koupit (alespoň v JRC říkal pán) takže bez UT2004_Keygen.zip se neobejdeme. Ten jsem musel pustit ve Wine a fungoval. Hra se nainstaluje do /usr/local/games/ut2004 a na 64bitovém systému je nutno ji pouštět z této binárky ./System/ut2004-bin-linux-amd64.

Jak již to bývá na LANPárty se povětšinou hrají patchnuté opravené verze. Tak jsem musel řešit stažení a instalování ut2004-lnxpatch3369.tar.bz2 (22M). Bylo to super, když se hra začala přihlašovat na vytvořený UT2K4 lokální LAN server. Ovšem problém nastal v ukrutně pomalém stahování textur a map.

Díky Wine jsem si pohrál s ut2004-ECEBonusPack.exe a vydoloval z něj soubory a ty následně umístil do user@ubuntu:~/.ut2004.

Pak už náslodovalo konečně hraní, které mi moc nešlo. Mapy neznám. Je srandovní, že i Windows useři zápasili s vyladěním svých instalací. Škoda, že tato linuxová hra se nedá koupit na Steamu :-(

Zpětně moc děkuji za příjemný večer všem organizátorům této soukromé LANpárty. Alespoň na chvilku jsem si zavzpomínal jaké je to na LAN párty.

V DKčku by to chtělo uskutečnit nějakou Steam LAN Párty, ale to bude chtít konektivitu do internetu :-)