Úžasné překlady

Dnes jsme narazili na krásný překlad. Zkuste si na debianu/ubuntu spustit příkaz apt-get. Jako poslední řádek dostanete tento text:

Tato APT má schopnosti svaté krávy.

V angličtině je zde text:

This APT has Super Cow Powers.

Další libůstkou je výstup programu dd:

0+0 vstoupivších záznamů
0+0 vystoupivších záznamů

v angličtině:

0+0 records in
0+0 records out

PostgreSQL 8.1 – znatelné zrychlení

V současné době vytváříme informační systém, který jako svojí databázi využívá PostgreSQL. V produkčním prostředí jsme používali verzi 7.4.

V poslední době jsme pro vývoj začali používat verzi 8.1.

Protože velmi často používáme složité dotazy s velkým množstvím "joinů" a podmínek, museli jsme vytvářet složené indexy pro různé kombinace podmínek a i přesto je často databáze nedokázala využít. Tato verze však přináší novou vlastnost "Bitmap Scan", a dokáže tak kombinovat více jednoduších indexů. Protože nemusíte vytvářet složené indexy, ušetříte paměť/IO operace/místo na disku a zvýšíte rychlost vkládání záznamů. Dokáže také častěji najít kombinaci indexů pro dotaz.

Další zajímavou vlastností PostgreSQL je od verze 8.0 možnost provozu více verzí databáze současně (toto zpětně zprovoznili i pro verzi 7.4) a také skvělá podpora platformy Windows.

Z PostgreSQL se stává velmi dobrá databáze.

PostgreSQL a priorita dotazů

Naše databázová aplikace obsahuje dva druhy akcí – "interaktivní" a "na pozadí". Interaktivní jsou takové akce, které vyvolal uživatel a čeká na jejich výsledek (např. výpis záznamů). Akce na pozadí jsou spouštěny automaticky a provádějí různé dlouhotrvající práce (např. přepočet aktuálních úroků pro nový den). Téměř všechny akce na pozadí spouštíme v noci a žádný uživatel nečeká na výsledek.

Někdy je třeba spustit akce na pozadí i v době, kdy je systém vytížen interaktivními akcemi. V takových případech se může stát, že se běh interaktivních akcí zpomalí.
Pokračování textu PostgreSQL a priorita dotazů

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.

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ě.