Archiv pro rubriku: Linux

Linux mini-howto: Je tunelování TCP skrz TCP dobrý nápad ?

Linux mini-howto?
Krátce o nástrojích ze života sysadmina.

Tunelování TCP skrz TCP


Tunelování spojení, TCP over …. , z praxe dnes běžně známe tunelování TCP spojení např. protokolem PPP což je protokol druhé vrstvy pro navázaní spojení mezi dvěma body, do PPP zapouzdříme na straně odesílatele naše TCP spojení (hlavičku + data) a odešleme, na druhé straně odebereme PPP informace a naše TCP pokračuje v sítí cestou dále k požadovanému cíli, zní to jednoduše a ve většině případů to funguje “par excellence”.

Jenže “neštěstí” nechodí po horách, ale po lidech a stejně je tomu i v telekomunikacích, když honíte duchy v sítí není dobré se obrnit myšlenkou, že tohle se mi nemůže stát aneb jak jsem tunelovali přes VPN tunel (tcp) další TCP tunel a jak to “blblo”.

Něco málo k teorii, TCP ve své podstatě reprezentuje proud dat rozdělený do tzv. segmentů (narozdíl od UDP, které představuje samostatné na sobě nezávisle datagramy, nezaručuje doručení ani pořadí), segmenty jsou opatřeny tzv. sequence number, což je číslo ukazující pořadí segmentu ve streamu a segmenty odesílány jako IP packety k cíli s velikosti MTU.

tcpip-headers-tcp-over-tcp-blog-header-2016

 

Tcp sequence number (SEQ, ACK, FIN)
Tcp sequence number (SEQ, ACK, FIN)

Cíl (na obrázku server) přijme packet a odpovída zpět pomocí příznaku ACK (acknowledge, odpověd), kde jako acknowledge number uvede přijmuté sequence number ze segmentu + 1, popis mechanismu je pro náš účel zjednodušen, ale to podstatné je zachováno, odesílatel (client) se tímto způsobem může dozvědět, že segment (data) byla ztracena a dojde k opětovnému zaslání (resend).

Dobře, co s tím dále ? Internet je “pěkně” divoké prostředí, data procházejí přes uzly které nemáte šanci kontrolovat, různá kvalita linek, zpoždění, ztrátovost, tvůrci TCP s tím počítali, proto je v návrhu TCP vlastnost timeoutu (odesílatel čeká na potvrzení ACK po určitý čas), round-trip-time (RTT), problém je ovšem v tom jak určit kolik RTT má být, pevná hodnota je nevyhovující a proto máme v TCP adaptivní timeout, který korigován “automacticky” během spojení, tak aby vyhověl  i nejpomalejším linkám na trase, hodnota se může pohybovat od řádů sekund až po minuty (RFC2001), což je opravdu velký rozptyl.

TCP “meltdown” problém

V předchozích řádkách bylo nastíněno zjednodušené pozadí fungování TCP, představme si situaci, mějme TCP spojení (např. VPN) a uvnitř další TCP spojení, uvažujme problém na trase (pktloss/ztrátovost), nižší vrstva TCP (VPN) začne žádat o znovu zaslání dat (retransmission) a prodlužovat svůj timeout (RTT), spojení je blokováno, vyšší vrstva TCP (zapouzdřené TCP) začne timeoutovat a opět žádat o resend a prodlužovat svůj RTT, hodnota RTT zapouzdřeného TCP je nižší než hodnota skutečného TCP, vyšší vrstva tedy generuje více požadavků na znovu zaslání dat než může nižší vrstva TCP (skutečné) obsloužit, této situaci se říka TCP meltdown (utavení, roztavení, zhroucení).

TCP meltdown má vliv na výkon  sítě, či může véct k úplnému rozpadu spojení, v našem případě jsme měli problém s OpenVPN a PPTP, na použití TCP bylo trváno zákazníkem kvůli politice jeho firewallu, nakonec přechod k UDP a vhodná úprava konfigurace firewall ukázalo průchodné řešení.

Na každý pád to znamená zajímavou zkušenost, není úplně snadné tento problém hledat, klon konfigurace do vašeho prostředí většinou nevede k cíli protože vše funguje, co je dobré vědět a velmi pomohlo k porozumění problému, je možnost simulovat zpoždění i ztrátovost přímo Linux routerem (nástroj tc, iptables), odkazy přiloženy a pochopitelně tcpdump/wireshark.

simulate-delayed-and-dropped-packets-on-linux

dropping-packets-in-ubuntu-linux-using-tc-and-iptables

Děkuji za pozornost.
František Havel, MOJEservery.cz

Linux mini-howto: DHCP Option 82 ?

Linux mini-howto?
Krátce o nástrojích ze života sysadmina.

DHCP Option 82 ?


Ve stručnosti řečeno DHCP volba 82 (option) je “DHCP Relay Agent Information Option”, dobře, máme to, končíme, … ;-), protože nedávno jsme řešili tuto konfiguraci v zákaznické síti tak alespoň slov o této možnosti.

DHCP protokol je technologie pro automatizovanou konfiguraci zařízení připojeným do sítě, používá protokol a porty UDP/68,UDP/69, přiřazení konfigurace má 4 fáze.

Princip a činnost DHCP
Princip a činnost DHCP

 

  1. Discovery – klient se připojí do sítě a pomocí broadcast požádá o konfiguraci sítě.
  2. Offer - DHCP server odpoví, rezervuje si IP adresu pro klienta ze svého adresního rozsahu (pool) nabídne ji klientovi.
  3. Request - klient si vybere IP adresu (DHCP server může nabídnou více IP adres) a informuje server o vybrané IP (opět broadcastem)
  4. Acknowledge - DHCP server potvrdí platnost vybrané IP adresy a zašle další informace, bránu, DNS servery, dobu zápůjčky IP adresy (lease time) a případné další informace dle konfigurace.

K čemu DHCP option 82 ?

Velké a rozsáhle firemní sítě, IPTV implementace, specializované sítě např. pro řízení, monitoring, atp. často vyžadují nějakou formu centralizovaného řízení přiřazování IP adres, DHCP služba má tu nepříjemnost, že komunikuje pomocí broadcast a tudíž by musel být DHCP server na každém segmentu sítě, což je nepraktické, zde nám přichází na pomoc DHCP Relay Agent (služba typicky běží na lokální routeru nebo chytřejším switchi obsluhující dané segmenty LAN), předává unicastem požadavky na centrální DHCP server a zpracovává odpovědi zpět do LAN.

DHCP option 82, relay agent information šikovně doplňuje informaci pro DHCP server o požadavku ( RFC https://tools.ietf.org/html/rfc3046 ), typicky jde o hodnoty Agent CurcuitID  (pro ethernet switche reprezentuje port ze kterého přišel požadavek) a Agent RemoteID (MAC adresa agenta), informaci je možné dále použít v logice rozhodování o přiřazení konfigurace DHCP serverem, bezpečnosti, analýze kdy, kde a co se nám připojuje apod.

Pozn.: Informací které lze předávat může být více, pomocí sub option, vždy je vhodné mít po ruce dokumentaci od aktivního prvku a např. wireshark/tcpdump, protože chcete mít jistotu a vědět a né jen tušit, protože správné naladění Vám chvilku může zabrat.

Co na to ISC DHCP server ?

Předně je ISC DHCP server trochu ďábelský kus software, mohlo by se Vám hodit PDF https://www.isc.org/wp-content/uploads/2014/08/DHCP-4.3.1-Distribution-Documentation-Aug-4-14.pdf , dále notná dávka trpělivost, logování a tcpdump je velmi vhodný, nelze zde popsat všechny možnosti, principiálně jde o “matchování”

Málá ukázka triviální ukázka od které jsem se odpíchli, ukazuje použití match/podmínky if a proměné agent.circuit-id v tomto případě detekuje číslo portu na sw.

dhcpd.conf
---
class "static-port-A1" {
match if(substring(option agent.circuit-id,4,2)=01:01)
} 

class "static-port-A1" {
match if(substring(option agent.circuit-id,4,2)=01:02)
}
 
shared-network group {
subnet 10.1.0.0 netmask 255.255.0.0 {
        pool {
                allow members of        'keep1';
                range 10.1.1.100 10.1.1.200;
                option subnet-mask      255.255.255.0;
        }
        pool {
                allow members of        'keep2'
                range 10.1.2.100 10.1.2.200;
                option subnet-mask      255.255.255.0;
        }
}
}
# Log
if exists agent.circuit-id
{
 log ( info, concat( " Lease for ",
                     binary-to-ascii (10, 8, ".", leased-address),
                     " Switch port: ", 
                     binary-to-ascii (10, 8, ".", option agent.circuit-id), 
                     " Switch MAC: ",
                     binary-to-ascii(16, 8, ".", option agent.remote-id)));
}

http://henrici.biz/projects/downloads/option82_dhcpd.conf 

https://adamkuj.net/blog/2015/10/09/isc-dhcpd-putting-option-82-vendor-codes-to-use/ 

Překvapivě konfigurace není úplně triviální, zabere dost času ale dává další možnosti a kontrolu, zajímavou možností je také v ISC DHCP serveru spustit event při každém novém přiřazení IP adresy, to lze využít, pochopitelně se ve větší nevyhnete dhcp snoopingu a rozdělení portů na trusted/untrusted, port-security případně IP source guard apod. technikám, útok na druhou vrstvu je překvapivě snadný o to více bolestivý, dhcp option 82 je další možnost, kterou je fajn znát.

A to je vše, užívejte moudře a happy hacking.
František Havel, www.mojeservery.cz

Několik vět CeBIT2016, Hannover

Několik vět CeBIT2016, Hannover


CeBIT 2016 je za námi, tak jaké to bylo ptali se nás hned po příjezdu ?? Mělo to říz, asi jako nejlepší sbírka bonmotů Oscara Wilda pokapaná citrónem a vražená někomu do oka !

cebit2016-111334-1600

Ale zpět na zem, většina dojmů z podobných akcí je tak jako tak nepřenosná a je třeba to zažít na vlastní kůži, zkusme tedy alespoň pár vět osobního pohledu a na konci krátký video sestřih z osobního archivu.

Má to smysl, má to smysl!

To je to pocit, který si primárně odnáším, CeBIT je platforma, plná eventů, workshopů, seminářů, né pouze obyčejný veletrh a osobně si myslím, že to funguje a možná je to princip kam se měl transformovat brněnský Invex,  což se nakonec stalo ale už pod hlavičkou Invex Forum a zde možná trochu nesedí.

Co bylo a nebylo k vidění je na dlouho a nemá smysl dělat nějaký soupis, vemte to opěp pocitově a rámcově, silným tématem bylo pojetí a digitální transformace ekonomiky d!conomy, téma cloudu pocitově ustoupilo do pozadí, už je vnímán jako stabilní motor pro další rozvoj, prostě jen kolečko ve skládačce, v pořádku.

Virtuální realita, k vidění na nespočetně místech, ale pořádný “use case” aby člověk pohledal, uvidíme co s tím dále, bezpečnost(Business Security), je a bude nadále obrovské téma, IoT česky internet věcí, zde jsme umřeli, mnoho opakujících se řešení, podobně jako Communication&Networks, kromě etablovaných dodavatelů silná masa asiatů plných energie v kombinaci s naší “špatnou” a jejich “divnou” angličtinou občas komické, ale kdo chce hledá jak. ERP & HR Solutions, Marketing & Sales Solutions nemá smysl cokoliv říkat, chaos, změť, buzzwordy, lež i pravda, kdo se vyzná byl v nirváně.

Research & Innovation a Public Sector zajímavé haly, první zmíněná představovalo propojení výzkumu, nápadů ve spojení s byznysem, zapojení univerzit společné s podniky, výzkumná centra atd. a jejich projekty k vidění např. hologramy, čipy, robotika. Veřejný sektor to má složité, není to klasický model podnikání, může mít pomalou nebo i žádnou návratnost.

Poslední dvě témata co uvedu, Job&career, ano bere se to tady opravdu vážně, protože hlad po lidech je obrovský, velké téma, v podstatě jde o nábor s přednášky z praxe, dokonce i německá armáda zde rekrutovala, kolega to “málem” podepsal, ale zavčasu cukl, dostal strach z § 309, vlastizrada ;-).

cebit-2016-112413-budeswehr

Startup Stage(SCALE11), cca 350 projektů, mladí lidé, enrgie, na tuto halu to chce čas, musíte o tom přemýšlet, pochopit daný projekt a sám rozhodnout jestli to dává nějak smysl a chcete kontakt, osobně inspirující.


Závěrem,
hned po vstupu v hale 2 nás uzemnilo IBM, zabralo polovinu plochy, mají řešení snad na všechno, neustále inovují, v tom je gró věci, společnost které neinovuje je mrtvá.

Druhá polovina v hale 2 patřilo čínskému konzorciu Huawei, zmiňuji je zcela právem, protože když procházíte jejich všeobjímající portfolio tak Vám padne čelist, tihle “kluci” mašírují (nejen)Evropou a mají jasnou představu co chtějí, oni totiž chtějí všechno.

Rozhodně nelituji a děkuji za možnost navštívit CeBIT 2016, nabrali jsme spoustu kontaktů, opomenul jsem úplně zmínit servery, storage, bigdata, DigitalHealth, eCommerce, opensource téma, které se decentně prolínalo napříč nebo prezentace IT Indie a mnohé další, tak snad příště za rok na dalším CeBIT nebo možná už na podzim IFA Berlin. František Havel, MOJEservery.cz.

cebit2016-113338
IBM LinuxONE mainframe, škáluje horizontálně i vertikálně až na jeden milión kontejnerů Docker.
cebit2016-113247
IBM LinuxONE mainframe, škáluje horizontálně i vertikálně až na jeden milión kontejnerů Docker.

cebit2016-112951

http://www.cebit.de/en/exhibition/facts-figures/after-show-report/cebit-2016/

https://www.instagram.com/cebitde/

http://www.cebit.de/en/exhibition/media-library/

To nejlepší z InstallFest 2016

To nejlepší z InstallFest 2016


Jako vždy podařená akce, zajímavý obsah, lidi, dobrá nálada, velké poděkování krom přednášejících patří organizátorům a partnerům za podporu této akce. Děkujeme.

Menší osobní výběr přednášek z Installfest 2016 toho nej z letošního ročníku akce, znovu opakuji osobní.

Celý kompletní program, slidy, video zde.
http://installfest.cz/if16/program
http://installfest.cz/if16/video

HaveAPI: vytvořte si API k čemukoliv (Jakub Skokan, Pavel Šnajdr)

Knot Resolver (Ondřej Surý)

Softwarově definované rádio (Jan Hrach)

Kontejnery != Docker (Václav Pavlín)

Buildsystemy (Tomáš Chvátal)

Arduino a ESP8266 (Petr Stehlík)

Buildíme Fedoru pro Raspberry Pi po hackersku (Ľubomír Rintel, Richard Marko)

ELK – sežere Vaše logy (Věroš Kaplan)

DNSSEC na vlastní doméně snadno a rychle (Ondřej Caletka)

Monitorování a bezpečnostní analýza v počítačové síti (Tomáš Čejka)

Linux mini-howto: Telnet ověření dostupnosti služeb

Linux mini-howto?
Krátce o nástrojích ze života sysadmina.

Telnet ověření dostupnosti TCP/IP služeb


Telnet jako nástroj a protokol byl před mnoha a mnoha lety zatracen a nahrazen zejmána kvůli bezpečnostním nedostatkům protokolem ssh, což je zcela v pořádku, v mnoha současných distribucích není již dnes ani nainstalován a přitom byl běžný. Pokračování textu Linux mini-howto: Telnet ověření dostupnosti služeb

Linux mini-howto: Základní pravidla bezpečnosti serverů

Linux mini-howto?
Krátce o nástrojích ze života sysadmina.

Základní pravidla bezpečnosti serverů

Proč? Základní představa o bezpečnosti serverů je často mylná nebo žádná, tímto soupisem praxí ověřených pravidel se jí pokusme nastínit, v některých případech jde obecná pravidla platná napříč světem IT v jinde cílíme přímo na UNIX systémy, znovu připomínáme jde o takový dobrý základ od čeho se odrazit a v případě zájmu můžeme pokračovat dalším dílem.

Bezpečnost IT systémů není stav, je to neustálý proces a i z toho důvodu je 100% zabezpečení přelud, kterého nelze dosáhnout, ale můžeme se k němu zkusit přiblížit, jediný bezpečný systém je ten který nemáte ala jediné auto které Vám nezestárne je to které jste si nekoupili.

Pokračování textu Linux mini-howto: Základní pravidla bezpečnosti serverů

Linux mini-howto: Blokujeme TOR EXIT nodes

Linux mini-howto?
Krátce o nástrojích ze života sysadmina.

Důvod proč blokovat přístup ke službám ze sítě Tor je na Vašem rozhodnutí a není předmětem tohoto článku.

Tor je anonymizační nástroj (software) maskující skutečný pohyb uživatele po internetové síti, ukrývající skutečnou IP adresu případně další informace, které mohou umožnit jeho sledování.

Pokračování textu Linux mini-howto: Blokujeme TOR EXIT nodes

Z Debianu už je jen Deb :-(

Zemřel zakladatel Debianu Ian Murdock


rip-ianmurdock


Děkujeme za úžasnou práci, za univerzální operační systém od embedded zařízení po vesmírou stanici, za kulturu, komunitu, etické i technické dovednosti, nikdy nezapomeneme. #RIP

http://blog.docker.com/2015/12/ian-murdock/

https://bits.debian.org/2015/12/mourning-ian-murdock.html

http://www.root.cz/clanky/zemrel-ian-murdock-zakladatel-distribuce-debian/

http://www.linuxexpres.cz/novinky/zemrel-ian-murdock-zakladatel-projektu-debian

http://www.cnews.cz/za-nevyjasnenych-okolnosti-zemrel-ian-murdock-otec-debianu-bylo-mu-42-let

http://www.evropsky-rozhled.eu/zemrel-ian-murdock-zakladatel-debianu/

František Havel, MOJEservery.cz

Linux CentOS 7 oficiálně dostupný pro Raspberry Pi 2

Linux CentOS 7 Raspberry Pi 2


S narůstajícím množstvím snadno dostupného ARM hardware v podobě single board computer Raspberry Pi 2, Banana Pi, Odroid, Orange,… přišlo oznamení o oficiální podpoře ARM pro CentOS7 jako vánoční dárek.

V oficiálním sestavení CentOS7 build 1511 je zahrnuta podpora pro ARMv7 zařízení, zatím jsou připravené “minimal” image pro Raspberry Pi 2, Banana Pi a CubieTruck ke stažení na FTP http://mirror.centos.org/altarch/7/isos/armhfp.

[   ] CentOS-Userland-7-armv7hl-Minimal-1511-BananaPi.img.xz 11-Dec-2015 08:07 335M
[   ] CentOS-Userland-7-armv7hl-Minimal-1511-CubieTruck.img.xz 11-Dec-2015 08:07 326M
[   ] CentOS-Userland-7-armv7hl-Minimal-1511-RaspberryPi2.img.xz 11-Dec-2015 08:07 275M
raspberrypi2-centos7-armv7-2015-1
Starší build CentOS7 1406 v průběhu vývoje (ARMv7)

Více se lze dozvědět na arm development mailing list nebo na IRC kanálu #centos-devel freenode.

Děkujeme! MOJEservery.cz

Linux mini-howto: Debian 8 a instalace PHP dbase extension z PECL

Linux mini-howto?
Krátce o nástrojích ze života sysadmina.

Triviální instalace rožšíření dbase pro PHP z online repozitáře PECL (PHP Extension Community Library), dříve bylo dbase přímo součástí PHP a v samotném Debianu byl jednoduše balíček php-dbase, bohužel to je dávno minulost.

php-dbase-pecl-1-2015

Dbase byl jeden z prvních masově používaných databázových systémů v 80. a 90.letech se kterých jsem také potkal, práce s nástrojem Foxpro a “obávané” soubory s příponou .dbf jsou již dnes povětšinou minulostí, né však úplnou mrtvolou, občas narazíte na nějakou tu oživlou.

Instalace je opravdu, ale opravdu jednoduchá, nainstalujeme potřebné nástroje pro překlad modulů PHP a zavoláme instalátor PECL (vlastně původní PEAR), ten udělá kompilaci rozšíření a je téměr hotovo.

root@www:~# apt-get install php5-dev
root@www:~# pecl install dbase

Poslední úkonem je vytvoření symlinků na dbase.so (modul) a dbase.ini v /etc/php5/mods-available/ nebo si ho zaveďte natvrdo do svého php.ini, nezapomenout reloadnout Apache nebo PHP-FPM či cokoliv co používáte.

Hotovo, jednoduché! Užívejte moudře a díky za pozornost.

František Havel, MOJEservery.cz