Archiv pro rubriku: www

Linux mini-howto: Let’s Encrypt snadno s ACME.sh

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

Let’s Encrypt a ACME.sh


Let’s Encrypt je “nová raketově rostoucí” certifikační autorita nabízející zdarma HTTPS (resp. obecně lze podepsat např. SMTP/IMAP,…), v současné době zatím není Let’s Encrypt kořenová certifikační autorita, proto jsou mezilehlé certifikáty podepsané autoritou IdenTrust (DST Root CA X3), tak jak je popsáno v “Chain of Trust“, na tomto kroku se pracuje, ale nebude to hned, navíc chvíli potrvá než se kořenové certifikáty rozdistribuují do prohlížečů, zařízení, atd.

Velká myšlenka výzvy Let’s Encrypt (“pojďme šifrovat”) je zlepšení situace internetové bezpečnost a masivní přechod na šifrované komunikační kanály, s tímto cílem je poskytována zcela zdarma pro každého kdo vlastní doménu, je plně automatizována (klient nasazený na Vašem serveru komunikuje s infrastrukturou Let’s Encrypt za účelem získání/prodloužení/revokování certifikátu), transparetní a otevřenáhttps://letsencrypt.org/about/Let's Encrypt obsluhované cert.

Let’s Encrypt obsluhované cert.

 

"Chain of Trust", řetězec důvěry Let's Encrypt
“Chain of Trust”, řetězec důvěry Let’s Encrypt

ACME a ACME.sh

ACME (Automatic Certificate Management Environment) je v jednoduchosti řečeno protokol pro komunikaci s infrastrukturou Let’s Encrypt, pro manipulaci s certifikáty je nutné použít na své straně klienta, který korektně implementuje právě protokol ACME.

Certifikáty pro každého ?

Jedním z klíčových požadavků pro vystavení certifikátu je ověření identity žadatele, předpoklad je, že pokud žádám o certifikát pro doménu mojedomena.cz, tak jsem schopen ji kontrolovat, nejčastější kontrola je pomocí techniky webroot , do speciálního adresáře (/.well-known/) je umístěna výzva/žádost, pro výzvu si na www.mojedomena.cz/.well-known si sáhne robot Let’s Encrypt a pokud je vše v pořádku realizuje akci (např. vystavení certifikátu), tímto mechanismem dokazuji, že jsem schopen kontrolovat svoji doménu, tedy nejsem např. schopen udělat (za normálních okolností) tento trik s cizí doménou a tím si nechat vystavit certifikát např. pro seznam.cz.

Toto nejčastější postup ověření identity žadatele, nikoliv však jediný, další možnost je DNS mode, který funguje velmi podobně, z principu je patrné, že vše je vymyšleno tak, aby bylo možné masivně a hlavně zcela automatizovaně nasazovat certifikáty, což je cílem, protože vlastní certifikáty mají platnost pouze 90 dní, takže automatická “recyklace” je v nasazení nutnost.

ACME.sh

Existuje oficiální ACME klient Let's Encrypt certbot.

Certbot je napsán v jazyce Python, který toho umí opravdu hodně, ale zároveň jde o poměrně velký kus software se spoustou závislostí, který si na serveru “builduje” vlastní prostředí pro Python, v některých případech, ale toto nechcete a třeba ani nemůžete použít (např. menší servery, embedded,…) v tomto případě sáhněte po scriptu ACME.sh.

ACME.shhttps://github.com/Neilpang/acme.sh

ACME.sh je malý shell script (unix shell) implementující plně protokol ACME, jednoduchý, snadný na použití i instalaci, kompatibilní s bash, nevyžaduje root práva.

ACME.sh a podporované ověření identity:

  • web root
  • standalone
  • DNS

Standalone mode je velmi zajímavý pro servery, kdy nemáte spuštěn www server (Apache/Nginx/…), tedy např. FTP/SMTP servery, acme.sh Vám na dobu nezbytně nutnou emuluje chování web serveru na portu 80 nástrojem netcat (nc), zde již přirozeně je nutné mít práva root.

Instalace a použití je velmi snadné a přímočaré, viz oficiální stránky projektu, dokonce je možné skrze Cygwin provozovat ACME.sh i na Windows.

https://github.com/Neilpang/acme.sh
https://github.com/Neilpang/acme.sh/wiki

Tak pojďme šifrovat, Let’s Encrypt ! 


Chcete pomoci s nasazením HTTPS na Vaše servery ?

MOJEservery.cz
Technické konzultace, implementace, kontaktujte nás.
Kontaktní e-mail:  podpora@mojeservery.cz
Kontaktní telefon: +420 725 714 669

Školení Revis Tachov: WordPress pro úplné začátečníky

Školení WordPress pro úplné začátečníky


Ve spolupráci se školícím střediskem Revis Tachov startuje historicky první školení v Tachově na publikační nástroj WordPress, který je zcela zdarma a masivně používán až na čtvrtině všech internetových stránek.

Přijďte s námi zbourat paradigma, že k publikaci obsahu na celosvětové sítí a tvorbě stránek potřebuje být nutně programátor, www pro všechny, snadno, pohodlně, levně a otevřeně to je WordPress.

Školení Revis Tachov WordPress, termín, rozsah

Termín: Úterý 29.11.2016 a Čtvrtek 1.12.2016
Čas:    od 16.00 - 20.00 hod
Rozsah: 8hod (2x 4hod)
Lektor: František Havel (www.mojeservery.cz)

Objednávky a informace školení WordPress

http://www.revis-tachov.cz/wordpress-pro-uplne-zacatecniky-PID1909.html

Podpořte školení, sdílejte mezi přátele a hlavně přijďte se něco naučit, změníme zase o kousek svět k lepšímu, děkujeme. :-).

Leták školení Revis Tachov: WordPress pro úplné začátečníky listopad 2016
Leták školení Revis Tachov: WordPress pro úplné začátečníky listopad 2016

Objektová úložiště jednou spolknou svět :-).

Objektová úložiště spolknou svět ?


! Nepropadejte panice ! 

Tradiční filesystémy a relační databáze zde budou s námi po mnoho dalších let o tom nemá smysl diskutovat, problém, ale vzniká dnes již na úrovni dat samotných, jsou totiž vysoce nestrukturovaná, bohužel nebo bohudík ?

Odhady říkají, že 80-90% dat kolem nás je nestrukturovaných, přesto se je snažíme popsat strukturou tabulek a relací, v nejhorším případě si uložíme string/json a ten si “žvýkáme” v aplikaci, otázka je zda-li je tento postup správný a nebojujeme proti vlastní “touze” dat být neorganizována.

Připomeňme si známý výrok Billa Jensena z knihy Simplicity.

Množství informací se zdvojnásobuje po každých 1100 dnech, tedy zhruba po třech letech, nicméně, čas, který nám zůstává k zpracování těchto narůstajících informací je stále stejný: 1440 minut denně".

Toto tvrzení bohužel již také není zcela platné, množství informace se zdvojnásobuje za polovinu času. :-(.

Strukturovaná data, ale mají stále a budou mít místo, jsou systémy, které generují “jen” tuto formu dat, senzory, čítače, čtečky, transakce, účto, sklady, … takové vše “bez lidí” z pohledu vývojářů je idylka, vše pevně zaškatulkováno, nikde nic nepřetéká, indexy indexují, ovšem reálný svět takový není.

NEstrukturovaná data jsou opačný extrémní protipól, svět plný chaosu jako kvantové fluktuace, je to náš svět takový jako jsou sami lidé, svět plný textů, audio a video obsahu, emailů, stránek, sociálna … je to “lidský” rozměr dat, pro vývojáře pekelný, nikdo přeci nechce “cpát” profilovou fotku či 100MB video jako blob do tabulky.

Nestrukturovaná data a web aplikace

Tradiční pohled dnešních web aplikací je generování strukturovaného výstupu dat na základě uživatelského vstupu (formuláře/upload) a ukládání na tradiční úložiště (filesystém, relační databáze), doba se však mění a uživatelé k nám budou (chtějí) tlačit data, které nelze jednoduše rozbít do “chlívečků”, protože jejich struktuře nerozumíme, typický zástupce největšího zdroje těchto dat jsou sociální media.

Proč objektová úložiště ?

Studie IDC z roku 2014 o nárůstu nestrukturovaných dat.

Proč “nová” objektová úložiště je zcela legitimní otázka, v první řadě je nutné pochopit (viz studie IDC), že internet je zaplavován masivním nárostem nestrukturovaných dat.

Je nutně změnit tedy přístup k těmto datům, je nutné je umět efektivně obsloužit, zvládnout je ukládat je jedna věc (zde by nebyl problém s klasickým filesystémem), ale většinou požadujeme další vlastnosti, snadný přístup, metadata, škálovatelnost (škálování relačních DB je obecně problém, distribuované FS mají své problémy), redundanci a výkon a flexibilitu (metadata nemohou mít pevnou strukturu tak jako to např. známe z filesystémů).

Objekt jako základ je elementární “struktura”, objekty nejsou na storage organizovány (flat), žádné adresáře ani hierarchie, objekt je reprezentován pouze svým ID, vyšší logiku, smysl, uspořádání zajišťuje aplikace a proto je důležité kvalitní API rozhraní, které je v těsnější integraci přímo s aplikací (aplikace “programuje”/řídí úložiště), z toho pohledu není překvapující, že některá cloud úložiště mají rozhraní přímo přes protokol HTTP/s (všimněte si, že filesystémy nebyly nikdo moc dobře stavěné na přístup přes HTTP/s).

object-storage-object-2016

object-storage-object-archi-2016

Ilustrace filesystému, blokového a objektového úložiště.

object-storage-compare-1200px-2016

Kde to najdu, kde to kvete, AWS S3, Google Cloud Storage a ti druzí …

Začít experimentovat je “snadné”, Amazon Web Services je cloud platforma jejíž součástí je i služba AWS S3 (Simple Storage Service), zajímavou alternativou na testing/vývoj je projekt Minio, což je minimalistický object storage s API kompatibilní s AWS S3.

Dalším zástupce je Google Cloud Storage, nemáme přímé zkušenosti, přednáška byla ovšem dost zajímavá, cenově asi “zatím” stále lépe než AWS, také si zatím hrajeme.

Z opensource možností projekt Ceph, distribuované objektové úložiště umožňující blokovou i file storage, predikuje se velká budoucnost, společnost RedHat koupila projekt Ceph a otevřela ho veřejnosti, předpokládá se integrace s platformou OpenStack a posazení vedle OpenStack Swift object storage, což je další open projekt storage řešení nebo můžete zkusit hodit oko na openio.io.

A to je vše, díky za pozornost.
František Havel, MOJEservery.cz

Advanced REST client pro testování REST API rozhraní

API


api-rest-client-1-2016

API, API, API (Application Programming Interface) je takové zaklínadlo dnešní doby, pokud služba/aplikace nedisponuje rozhraním pro komunikaci je vyřízená, nebrat doslovně, pojem API aby zde byl mnohem dříve než z něho web stihl udělat buzzword, konec konců už i DOS měl své API v podobě přerušení int 21h, služby BIOSu jsou API, systémová volání v moderních systémech nejsou nic jiného než opět API.

REST (Representational state transfer)

REST představuje jeden z konceptů (architektur) je vytvořit rozhraní, je postavená nad volání metod protokolem HTTP, datově orientované a masivně používané, oblíbené.

Malý pomocník, taky pomocník ...

Advanced REST client pro Google Chrome

ARC je aplikaci běžící uvnitř prohlížeče Chrome a dovoluje pohodlné odzkoušení API rozhraní, dříve jsme měli postup otestovat funkčnost a chování API pomocí jednoduchého řádkového klienta curl (a je stále dobré to umět, rozumět, lze to scriptovat a průběžně tak testovat) ještě předtím než zavoláte composer, požádáte ho o Guzzle a začnete “čarovat”.

“Absolutní výcuc” vyšel před lety na serveru Codingpedia.org.
http://www.codingpedia.org/ama/how-to-test-a-rest-api-from-command-line-with-curl/

Proč dát ARC šanci ?

  • GUI rozhraní, úplná “klikačka”, jednoduchost
  • Úplná kontrola na HTTP hlavičkou, lze upravit “cokoliv” (raw)
  • metody GET/POST/PUT/DELETE/HEAD/CONNECT/vlastní
  • Podpora pro WebSocket
  • Integrace s Google Drive
  • Import/export dat
  • Triviální instalace, okamžitá použitelnost

Užívejte moudře, děkujeme za pozornost.
MOJEservery.cz

api-rest-client-screen-2016-1

api-rest-client-screen-2016-2

api-rest-client-screen-2016-3

api-rest-client-screen-2016-4

WordPress fail2ban

WordPress fail2ban

Máte WordPress na vlastním serveru? Štvou Vás neustálé pokusy o uhádnutí hesla, máte plný access.log web serveru hlášek  “POST http://domain/wp-login.php HTTP/1.1″ ?

Pokud používáte na server-u nástroj fail2ban můžete zkoncovat s hádáním hesel WordPressu jednou pro vždy, velmi jednoduše, pojďme na to.

Plugin wp-fail2ban

Nainstalujte plugin wp-fail2ban (https://wordpress.org/plugins/wp-fail2ban/), tento plugin zajistí logování neplatných pokusů o přihlašení do Vašeho WordPress.

V logu /var/log/auth.log najdete podobné informace o pokusech o přihlášení.

Authentication failure for havel.mojeservery.cz from 46.119.117.47
Authentication failure for admin from 109.98.228.188
Authentication failure for havel.mojeservery.cz from 46.119.117.47

Nastavení filtru fail2ban pro WordPress

Přidáme filter (pravidlo) do fail2ban pro Wodpress (auth.log)(Debian a deriváty std v adresáři /etc/fail2ban/filter.d).

Ukázkový příklad filtru je přímo součástí wp-fail2ban pluginu, stáhněte si zip , rozbalte a použijte wodpress.conf.

root@www:/etc/fail2ban/filter.d# cat wordpress.conf 
# Fail2Ban configuration file
#
# Author: Charles Lecklider
#

[INCLUDES]

# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf


[Definition]

_daemon = wordpress

# Option:  failregex
# Notes.:  regex to match the password failures messages in the logfile. The
#          host must be matched by a group named "host". The tag "" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P[\w\-.^_]+)
# Values:  TEXT
#
failregex = ^%(__prefix_line)sAuthentication failure for .* from $
            ^%(__prefix_line)sBlocked authentication attempt for .* from $
            ^%(__prefix_line)sBlocked user enumeration attempt from $
            ^%(__prefix_line)sPingback requested from $

# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =

Zavedení filter pravidla do fail2ban. (debian /etc/fail2ban/jail.conf přidejte)

[wordpress]
enabled = true
filter = wordpress
logpath = /var/log/auth.log
port = http,https
maxretry = 3

Reload fail2ban a hotovo!

root@www:~# /etc/init.d/fail2ban restart
root@www:~# iptables -L -n
Chain fail2ban-wordpress (1 references)
target prot opt source destination
DROP all -- 46.119.117.47 0.0.0.0/0 
RETURN all -- 0.0.0.0/0 0.0.0.0/0

Hotovo, ani to nebolelo. Zmíněný postup vyžaduje přístup jako root na server, tedy na sdíleném hostingu není aplikovatelný, zde se poohlédněte po jiným bezpečnostních nástrojích (např. oblíbený Wordfence).

Užívejte moudře, díky za pozornost.
František Havel, MOJEservery.cz

www.truhlarstvipajdrman.cz – Truhlářství a podlahářství David Pajdrman Planá

Realizováno,

logo-pajdrman

spuštěn nový micro web pro Truhlářství a podlahářství David Pajdrman Planá, musím přiznat, že první kontakt obchodníka s panem Pajdrmanem nebyl zdaleka tak přímočarý jak by si obchoďák přál, bylo třeba si zákazníka získat, věnovat mu péči a čas, vybudovat důvěru, povedlo se.

Co nás překvapilo ?

Nasazení, energie, odhodlání a kvalita práce, tento pán ve své firmě vytváří doslova neskutečné výrobky ze dřeba, bez okolků lze říci, že se doslova “mazlí” se dřevem, je to jeho vášeň, poslání, dáme ruku do ohně za jeho práci.

Vážíme si velmi možnosti spolupracovat s panem Pajdrmanem, držel vždy slovo a termíny, doporučujeme Vám poohlédnout se po jeho službách a produktech, nebudete zklamáni, velmi pečlivý, ochotný člověk.

Doporučujeme !

Truhlářství a podlahářství David Pajdrman

http://www.truhlarstvipajdrman.cz

pajdrman-firmycz-logo-800

Technické pozadí realizace

Jádro webu je postavené na nejrozšířenějším redakční systému na světě → WordPress poslední generace s podporou automatických bezpečnostní aktualizací a Wordfence bezpečnostním modulem, obalené základní sadou prověřených pluginů a na míru upravenou šablonou, díky systému WordPress umožňuje web do budoucna bohaté možnosti rozšíření o novou funkcionalitu a hlavně nehrozí případ vendor-locku (uzamčení zákazníka na konkrétního dodavatele) v případě nasazení proprietárního redakčního systému (když se zákazní rozhodne odejít, veme svůj web a najde si někoho s tisíců vývojářů v ČR pro WordPress, to je jasná výhoda bez debat).

Poslední krokem k nasazení byla implementace emailů pro komunikaci se zákazníkem na vlastní doméně, následné zaškolení pro obsluhu webu,  práce s redakčním systémem je snadná a přímočará, práce s galerií je díky podpoře štítků velmi jednoduchá, díky systému oprávnění nehrozí chybné nastavení obsluhou, automatické verzování dokumentů nabízí možnost vrátit se k původní verzi při neopatrné úpravě, vše je pravidělně automaticky zálohováno v hosting centru.

Děkujeme za příležitost a těšíme se na další spolupráci. MOJEservery.cz.

Spuštěn nový web, www.perfectdayplana.cz – Půjčovna svatebních a společenských šatů Planá

Realizováno,

pro našeho nového zákazníka PerfectDay – Půjčovna svatebních a společenských šatu Planá vytvořena www prezentace, nové komplexní stránky nabízejí veškeré aspekty moderního webu včetně optimalizace zobrazení pro mobilní zařízení (chýtré telefony, tablety), snadnou editaci obsahu, integrovanou fotogalerii, optimalizaci pro vyhledavače, sitemap, strukturovaný obsah a integraci sociálních sítí a google maps.

Jádro webu je postavené na nejrozšířenějším redakční systému na světě → WordPress poslední generace s podporou automatických bezpečnostní aktualizací, obalené základní sadou prověřených pluginů a na míru upravenou šablonou, díky systému WordPress umožňuje web do budoucna bohaté možnosti rozšíření o novou funkcionalitu a hlavně nehrozí případ vendor-locku (uzamčení zákazníka na konkrétního dodavatele) v případě nasazení proprietárního redakčního systému (když se zákazní rozhodne odejít, vemu svůj web a najde si někoho s tisíců vývojárů v ČR pro WordPress).

Poslední krokem k nasazení byla implementace emailů pro komunikaci se zákazníkem na vlastní doméně, následné zaškolení pracovníku pro obsluhu webu,  práce s redakčním systémem je snadná a přímočará, práce s galerií je díky podpoře štítků velmi jednoduchá, díky systému oprávnění nehrozí chýbné nastavení obsluhou, automatické verzování dokumentů nabízí možnost vrátit se k původní verzi při neopatrné úpravě.

Práce se zákazníkem byla velmi inspirující i pro nás, tolik energie, vlastních nápadu a chuť dělat věci perfektně se odráží v preciznosti celého nápadu záložit půjčovnu svatebních šatů a společenských šatů, děkujeme a držíme palce, těšíme se na další spolupráce.

Využijte služeb PerfectDay Planá, nebudete zklamáni!

http://www.perfectdayplana.cz

PerfectDay – Půjčovna svatebních a společenských šatů Planá

PerfectDay Planá - www.perfectdayplana.cz
PerfectDay Planá – www.perfectdayplana.cz

Děkujeme za příležitost a těšíme se na další spolupráci. MOJEservery.cz.

Spuštěny komentáře na www.mojeservery.cz.

Drobná úprava našeho webu www.mojeservery.cz, přidali jsme pro Vás podporu komentářů pomocí externí služby Disqus.com,  jednoduché a snad i efektivní, to ukáže až čas, komentáře jsou dostupné pouze pro články.

Protože jsem měli implicitně v systému WordPress veškeré komentáře vypnuté a lenost je motor pokroku, tak povolení komentářů (bez klikání) je otázkou jednoho SQL příkazu nad databází WordPressu.

UPDATE wp_posts SET comment_status='open' WHERE post_status = 'publish' AND post_type = 'post';

Dále se může hodit možnost stylovat (CSS) lehce podobu komentářů, editujte Vaše css u šablony a přijdete co potřebujete.

#disqus_thread {
	padding: 12px 10px 0;
	margin: 0 auto;
	max-width: 474px;
}

 

Komentáře Disqus.com na www.mojeservery.cz
Komentáře Disqus.com na www.mojeservery.cz

 

Díky všem za inspiraci, pište, komentujte, buďte dobří.

František Havel, MOJEservery.cz