Archiv pro měsíc: Leden 2016

Jak dostat ze SmartOS data o prostředcích VM

Na SmartOS nám spoustu věcí o VM prozradí příkaz vmadm. Např. základní limity zjistíme takto:

Je ale docela otrava to pokaždé zadávat. Můžeme si na to samozřejmě udělat bash alias, což jsem také měl. Další užitečný alias mám např. na výpis VM:

Na výpis prostředků už mi ale pouhý alias nestačil. Sepsal jsem tedy jednoduchý skript. Ten krom toho, co vrací vmadm, zobrazí i kolik VM žere místa na disku v přehledné formě. Navíc je to pěkná ukázka, jak se můžete podobné užitečné skripty sepsat sami.

Rozhodl jsem se nejen skript vmusage, ale celý repozitář s pár dalšími užitečnými věcmi zveřejnit. Stahovat nebo forkovat repozitář solaris-scripts můžete na BitBucketu.

Jak bezpečně distribuovat hesla v gitu

Pokud už jste někdy rozcházeli deployment aplikace pomocí gitu, asi jste narazili na problém, jak na produkční server bezpečně dostat hesla. Mít je v plaintextu v GITu moc bezpečné není 🙂 Přesto ale je způsob, jak je v gitu mít bezpečně – zašifrovat je. Jak to udělat a jak je při deploymentu do produkce rozšifrovat?

Pokud nemáte, nainstalujte si na produkčním server GPG. Na Unbuntu/Debian se to dělá takto:

Pro generování klíčů budeme potřebovat hodně entropy, doporučuji tedy nainstalovat i Haveged, viz. můj minulý článek.

Nyní se potřebujeme přepnout pod uživatele, pod kterým probíhá deployment. V mém případě je to uživatel web. Pod tímto uživatelem vygenerujeme základní keypair. Důležité: nezadávejte při generování klíčů žádné heslo, jen volbu potvrďte entrem.

Teď když máme vygenerovaný keypair, vyexportujeme veřejný klíč, nejlépe do souboru:

To by bylo pro produkční server zatím vše. Nyní si na našem vývojovém stroji vygenerujeme keypair stejně jako na produkčním serveru. Tentokrát ale doporučuji zadat heslo, na které se se vás GPG při šifrování a dalších operacích bude ptát. Poté importujeme veřejný klíč produkčního serveru.

Importovaný klíč podepíšeme, tím řekneme GPG, že důvěřujeme jeho původu:

Teď přijde ta hlavní část. Zašifrujeme veřejným klíčem produkčního serveru konfigurační soubor s hesly:

Zašifrovaný soubor .gpg pak můžeme bez problémů commitnout do gitu. Bez privátního klíče produkčního serveru jeho obsah nikdo nepřečte. Na produkčním serveru pak v deployment procesu nastavíme rozšifrování tohoto souboru pomocí privátního klíče, který už na serveru máme.

Jak zrychlit generování certifikátů v linuxu

Při generování certifikátů systém potřebuje tzv. entropy. Kolik jej systém aktuálně má můžete zjistit tímto příkazem:

Protože se entropy získává především z uživatelského vstupu, je s ním na serveru trochu problém. Tenhle problém řeší Haveged. Jak to celé pracuje je hezky vysvětleno v článku How to Setup Additional Entropy for Cloud Servers Using Haveged.