Omezení přístupu přes SSH klíče

V unixovém prostředí s více počítači je často potřeba vyvolat z jednoho počítače akci na jiném – např. synchronizace přes rsync z cronu. Oblíbeným způsobem je užití SSH spolu s klíčem, ale nejde o řešení bezpečné: aby přihlášení mohlo proběhnout v automatickém módu, vygenerované certifikáty nemají hesla. Riziko je zřejmé: při kompromitaci prvního serveru je automaticky kompromitován i druhý server.

Rád bych vám nabídl návod na bezpečné řešení, které vám umožní omezit dostupné akce na druhém serveru:

Vygenerujete certifikát jen pro danou akci – např. rsync a do souboru ~/.ssh/authorized_keys na cílovém počítači ke klíči přidáte i pár magických slov, která musí být na stejném řádku:

command="rsync --server --daemon .",from="zdrojovy-server",no-port-forwarding,no-X11-forwarding,no-pty ssh-rsa KOD-SSH-KLIČE root@localhost

Po uložení souboru je pravidlo okamžitě aplikováno a je tedy povolen jen konkrétní příkaz z konkrétního stroje, naopak je zakázáno forwardování portu, forwardování X11 a alokování PTY.

Pokud potřebujete pro jeden počítač povolit více příkazů, stačí napsat více řádků.

Upozornění: při testování funkčnosti si nezapomeňte vypnout SSH-Agenta, aby nepoužil váš vlastní klíč jako alternativu při selhání ověření.

Více nabízí články Automated Backups With rdiff-backup na serveru HowtoForge a SSH Bouncing – How to get through firewalls easily na Hacking Linux Exposed.

Nová Lupa.cz – uživatelský systém

Jistě jste si všimli, že server Lupa.cz má novou verzi. Co už ovšem není vidět, je že tato verze používá náš uživatelský systém (viz odkaz přihlásit).

Toto není první server firmy InternetInfo, který jej používá. Jsou to např. slunecnice.cz, root.cz, navrcholu.cz a další.

Tento systém dokáže zajistit například přihlašování napříč servery (na jednom se přihlásíte a jste přihlášeni všude), registraci, zaslání nového hesla, připomenutí uživatelského jména, dlouhodobou identifikaci uživatele a spoustu dalšího.

Přejeme tedy novému serveru, aby byl ještě úspěšnější než byla verze předchozí.

Němčovice – objev roku

Jak jistě víte, web obce Němčovice se stal objevem roku 2005 v kategorii obec. Tento web jsme pomáhali vytvářet (viz tiskové prohlášení).

Včera (1. 12. 2005) přednášel Jakub Ferschmann o tvorbě tohoto webu v rámci odborného semináře na téma „Vývoj webových prezentací měst, obcí a dobrovolných svazků obcí“. Přednáška je opět přístupná (a také jako zip).

Aktualizace 13. prosince: Ministerstvo vnitra již zveřejnilo informace o tomto semináři.
Aktualizace 22. prosince: na webu Němčovic vyšel opis článku z časopisu Veřejná správa o tomto semináři.

Tomcat a problémy s kódováním

Před časem jsme měli problémy s kódováním češtiny v tomcatu. Při postu a getu se čeština občas pokazila.

Chtěl bych se tedy podělit s fíglem jak to vyřešit.
Problém nebyl v aplikaci, ale v konfiguraci tomcatu.

Na všech verzích tomcatu (4.x a 5.x) je potřeba přidat

-Dfile.encoding=utf-8

do CATALINA_OPTS (na debianu do /etc/default/tomcat5). Ve windows v Monitor Tomcat do Configure->Java->Java Options.

Pokud používáte tomcat 5.x (což je náš případ) musíte přidat i toto

URIEncoding="UTF-8"

do konfigurace connectoru v server.xml <Connector port="8080" ... URIEncoding="UTF-8" ... /> (více viz. dokumentace u apachů).

Uvolňete se, prosím a ČSSD

Už nějaký čas sleduji každý pátek pořad „Uvolňete se, prosím“. Nedávno zde byl jako host nějaký politik ODS – dostal pěkně nafrak (od toho ten pořad je, že).

Pak tam ovšem byl p. Gross a minule i p. Rath a celý pořad pro ně vyzněl velmi pozitivně. Nečekal jsem, že p. Kraus bude využívat svůj pořad k předvolební kampani ČSSD.

Trošičku u mně klesl …

Objektově-relační mapování

Dnes proběhla další přednáška v rámci předmětu ZČU „Trendy a technologie v softwarovém inženýrství„. Tentokrát jsem přednášel já (Petr Ferschmann) a obsah je zase přístupný (a také jako zip). K dispozici je také audio záznam.

Bylo tam 35 lidí a celou přednášku si poslechl i p. Herout a neutekl 🙂

[podcast]http://dev-blog.ferschmann.cz/prednasky/2005/orm.mp3[/podcast]

Vlastní certifikační autorita

Také jste už někdy řešili generování certifikátů? Vygenerovat self-signed je ještě docela snadné (zvlášť když k tomu použijeme KMS :-).

Pokud jste ovšem chtěli vygenerovat vlastní CA a pomocí něj vygenerovat a podepsat certifikáty, už to tak snadné není. Pomocí OpenSSL to člověk, po hodině studování materiálů, zvládne.

Pokud to chcete jednodušeji, použijte TinyCA2. Jendá se o GUI aplikaci, ve které to lze naklikat za chvilku.

Ideální řešení pro CA v malé firmě.