DigitalOcean – vyskúšajte si aj Vy lacný SSD Cloud Server
DigitalOcean ponúka cloud hosting pre všetkých, ktorý hľadajú lacný Virtuálny Privátny Server (VPS). Na virtualizáciu používa KVM (Kernel-based Virtual Machine). Podľa prieskumu spoločnosti Netcraft je DigitalOcean momentálne na treťom mieste v poskytovaní hostingu na svete. Ich servery sú oproti konkurencii rýchlejšie a omnoho lacnejšie. Táto spoločnosť ponúka jednoduchý Cloud Hosing, ktorý beží na SSD diskoch. Servery majú umiestnené v New Yorku, Amsterdame, San Franciscu, Londýne, Singapure, Bangalúre a vo Frankfurte. Zaujímavé sú aj ceny, za ktoré ponúka DigitalOcean svoje kvapôčky (servery) „droplet“, cena za server sa ráta na hodiny, to znamená, ak ho použijete len na niekoľko hodín, napríklad na testy a potom ho zmažete, tak zaplatíte len pár centov. Najlacnejší server, ktorý je v ponuke koštuje len 5,-USD za mesiac. Za túto cenu dostanete 1TB šírku pásma, jednojadrový procesor, 1GB RAM, 25 GB SSD úložisko.
DigitalOcean ponúka na výber tieto linuxové distribúcie – Ubuntu, CentOS, Debian, Fedora, CoreOS a novo pridaný FreeBSD. Ďalej sú k dispozícii one-click riešenia ako napríklad – LAMP, LEMP, Magento, Django, Node.js a ďalšie, samozrejme nechýba aj automatická inštalácia WordPress.
V tomto článku si ukážeme, ako vytvoriť SSH kľúč a ako spustiť server na stránkach DigitalOcean, ako sa k nemu pripojiť a ukážeme si zopár základných nastavení.
Skôr ako začneme, tak si pripravíme SSH kľúč, ktorý budeme potrebovať už pri počiatočnom nastavovaní servera. Pokiaľ by sme tento krok vynechali, tak nám bude odoslané heslo pre ROOT užívateľa (ROOT je super-užívateľ ktorý má administrátorské práva a môže ovládať celý systém) mailom, čo nepovažujem za moc bezpečné. Pokiaľ si pripravíte SSH kľúč, tak heslo nebudete potrebovať. Výhoda je tá, že pri prihlasovaní nebudete zadávať heslo a používanie SSH kľúčov je oveľa bezpečnejšie ako prihlasovanie cez heslo.
Ako vytvoriť SSH klúče
Program, ktorý si stiahneme sa volá PuTTY, pomocou ktorého budeme pristupovať na server. Najlepšie je stiahnuť inštalátor, pomocou ktorého všetky potrebné súčasti nainštalujeme, alebo stiahnuť celý balíček putty.zip.
Ako prvé je potrebné vytvoriť SSH klúč pre pripájanie na server. Pre tento účel budeme potrebovať program, ktorý sa nachádza v balíčku Putty a to puttygen.exe, v ktorom si vytvoríme prvý pár SSH kľúčov. Po otvorení programu sa zobrazí:
V spodnej časti okna môžeme nastaviť typ a bitovú veľkosť kľúča. Pre naše potreby postačuje nastavenie, ktoré je defaultné, takže nič nemeníme.
Klikneme na Generate a pohybujeme kurzorom myši v okne tak dlho, pokiaľ sa nám nevygeneruje kľuč. Tento náhodný pohyb myši nám vygeneruje unikátny SSH kľúč.
Po vygenerovaní si tento pár kľúčov uložíme na bezpečné miesto.
Prvý uložíme verejný kľúč (Public key), tento je zobrazený vo vrchnom okne. Celý ho skopírujeme a uložíme ho do TXT súboru.
Druhý súkromný kľúč uložíme kliknutím na Save private key. Tu ešte doplním, že je možné zabezpečiť kľúč heslom (passphrase), preto vyskočí pri ukladaní hláška, či uložiť kľúč bez hesla, klikneme na Áno. Kľuč si pomenujeme a program ho uloží ako súbor .ppk. Hotovo, máme pripravený pár kľúčov.
Registrácia a platba
Zaregistrujte sa na stránke DigitalOcean. Registrácia je jednoduchá, zadáte emailovú adresu a heslo. Pokiaľ sa zaregistrujete cez môj odkaz, tak dostanete 50,-USD BONUS na 30 dní po pridaní platobného nástroja.
Po registrácii nasleduje overenie emailu a potom je potrebné aktivovať účet s pomocou karty, alebo PayPal účtu. Ja som na test vybral najnižšiu možnú konfiguráciu za 5,-USD.
Nakonfigurujeme si server
Vytvoríme si svoju prvú kvapôčku (droplet), ja ju budem volať server. Klikneme na Create Droplet a dostaneme sa na stránku kde si nakonfigurujeme server.
- Distributions – vyberieme si distribúciu Linuxu, ja som vybral Ubuntu 14.04 x32, lebo 64 bytový systém je náročnejší na pamäť RAM a v najlacnejšej 5 dolárovej verzii jej nie je veľa. DigitaOcean doporučuje 64 bytový systém inštalovať na server, ktorý má aspoň 3GB RAM. V ponuke sa nachádza aj Ubuntu verzia 14.10, ale tá má krátku dobu podpory, 14.04 označená ako LTS ju má 5 rokov, myslím že to je až do apríla 2019.
Aktualizované 2017 : Doba pokročila a máme tu novšiu LTS verziu Ubuntu, ktorá má označenie 16.04.2 , tak vyberieme verziu 16.04.2 x32. - Na daľších kartách nájdete rôzne nastavenia. Napríklad v karte One-click apps si môžeme pridať programy, ktoré budú nainštalované spolu so systémom. Je na Vás, či si niečo vyberiete, za pozornosť by možno stála predinštalácia LAMP, alebo LEMP. Ja si radšej všetko nainštalujem a nastavím sám, takže nič som nevybral.
- Choose a size – vyberieme si cenu, od ktorej samozrejme závisí – veľkosť RAM, počet procesorov, veľkosť miesta na disku a objem prenesených dát. Pre WordPress sa doporučuje minimálne 10,-USD program. Mne pre začiatok stačí najlacnejší za 5,-USD mesačne. Nie je problém programy v budúcnosti podla potreby zmeniť.
- Choose a datacenter region – vyberieme umiestnene, kde sa budú fyzicky nachádzať dáta nášho servera. Najlepšie je si vybrať čo najkratšiu vzdialenosť od návštevníkov budúcich stránok. Ja som vybral server číslo 3 umiestnený v Amsterdame.
- Available Settings – Tu som nič nezapínal. Viac info v návode TU.
- Add your SSH keys – Tu nadišiel čas pre náš pripravený SSH kľúč. Do poľa skopírujeme vytvorený verejný kľúč (public) a v poli nižšie si ho pomenujeme.
- Choose a hostname – zadáme názov svojho servera, použijeme len alfanumerické znaky, pomlčky a bodky.
Klúč uložíme kliknutím na ADD SSH KEY. - Máme hotovo. Nastavenia prekontrolujeme a všetko potvrdíme kliknutím na tlačidlo Create. Za pár sekúnd bude Váš server pripravený na používanie.
Pripojenie k serveru
Teraz si ukážeme ako sa pripojiť k serveru. Budeme potrebovať nainštalovaný program Putty. Otvoríme ho a do poľa Host Name napíšeme IP adresu, ktorú nájdete v nastaveniach Vášho servera, hneď na vrchu stránky. Je to IP adresa Vášho servera. Port necháme nastavený na 22.Prepneme sa v menu umiestnenom vľavo na Connection / Data a do pola Auto-login napíšeme prihlasovacie meno root. Root je administrátorský účet, ktorému bol pridelený náš SSH kľúč. Pokiaľ vytvárate prihlasovací účet pre iného užívateľa, tak sem zadáte jeho meno.V menu sa prepneme na Connection / SSH / Auth, kde do poľa Private key file for authentication kliknutím na Browse zadáme cestu k vytvorenému privátnemu kľúču .ppk.Teraz si všetko uložíme tak, že v menu sa vrátime späť na položku Session, kde do poľa Saved Session napíšeme meno užívateľa, alebo čokoľvek podla čoho poznáme, o ktorý účet sa jedná a uložíme profil kliknutím na Save.
Nastavenia máme uložené a teraz sa kedykoľvek označením profilu v poli Saved Session a stlačením Open pripojíme na server, funguje aj dvojklik. Pri prvom pripojení bude potrebné potvrdiť overenie totožnosti vzdialeného servera, potvrdíme kliknutím na Yes.
Gratulujem, prvý krát ste sa prihlásili na Váš VPS server, pomocou SSH kľúča.
Počiatočné nastavenie servera
Po vytvorení servera je potrebné vykonať niekoľko základných konfiguračných krokov. Je už len na Vás, či budete pokračovať podla tohoto návodu, alebo si nájdete iný spôsob nastavenia servera. DigitalOcean doporučuje tento postup:
Všeobecne sa doporučuje používať na prácu so serverom užívateľa, ktorý nemá automaticky práva administrátorského root super-užívateľa, ale keď je treba, môže ich získať pomocou príkazu „sudo„. Ukážeme si, ako užívateľa vytvoriť.
Poďme na to. Meno nového užívateľa si zvolte, aké sa Vám páči, ja tu budem uvádzať meno „jano„, to znamená, že v každom kóde meno jano nahradíte svojím menom. Prihlásime sa pomocou Putty účtu root, ktorý sme si vytvorili a do príkazového riadku v konzole napíšeme:
adduser Jano
Potvrdíme Entrom.
Teraz bude treba zadať heslo pre tohoto užívateľa. Pozor pri písaní sa kurzor vôbec nehýbe a ani sa nezobrazujú znaky, takže píšete na slepo. Doporučujem použiť aspoň 20 znakové heslo.
Nasleduje potvrdenie hesla. Potom sa nás systém spýta na celé meno, telefón atd, nič nemusíme zadávať, len všetko odentrujeme.
Následne sa nás systém spýta či sú informácie v poriadku, napíšeme „Y“ a stlačíme Enter.
Užívateľa máme vytvoreného a teraz potrebujeme pridať užívateľovi oprávnenia, aby mohol vykonávať administrátorské príkazy pomocou príkazu sudo, použijeme tento príkaz, čím ho pridáme do „sudo“ skupiny:
usermod -aG sudo Jano
Pre nového užívateľa potrebujeme vytvoriť ďalší pár SSH kľúčov. Takže postupujeme podla predchádzajúceho návodu: Ako vytvoriť SSH klúče.
Keď máme kľúče pripravené, tak (stále pokračujeme ako root) zadáme tento príkaz pomocou, ktorého sa prihlásime, ako náš nový užívateľ a zároveň nás tento príkaz premiestni do domovského adresára užívateľa jano.
su - Jano
Vytvoríme nový adresár .SSH a nastavíme mu oprávnenia príkazom:
mkdir ~/.ssh chmod 700 ~/.ssh
V adresári .ssh vytvoríme súbor authorized_keys a zároveň ho otvoríme príkazom nano:
nano ~/.ssh/authorized_keys
Do súboru skopírujeme verejný (public) kľúč, ktorý sme si vytvorili špeciálne pre nášho nového užívateľa a súbor uložíme stlačením klávesy Ctrl+X, ďalej stlačíme Y a potom Enter pre uloženie.
Súboru nastavíme oprávnenia:
chmod 600 ~/.ssh/authorized_keys
Zadaním tohoto príkazu sa vrátime naspäť do root účtu:
exit
Nový užívateľ + SSH kľúč je nastavený, treba už len nastaviť program Putty pre nového užívateľa, tak ako sme ho nastavili pre root užívateľa a môžeme sa prihlásiť pomocou SSH kľúča ako nový užívateľ. Nezabudnite, že v nastavení nového užívateľa v Putty je treba použiť prihlasovacie meno, ktoré ste teraz vytvorili a nastaviť aj jemu vytvorený privátny SSH (.ppk) kľúč.
Možno Vás napadla jedna dôležitá vec a to tá, že nepoznáme heslo ku root účtu, lebo sme pri vytváraní servera použili SSH kľúč. Môže sa stať, že ho niekedy bude treba, tak si ho poďme vytvoriť. Prihlásime sa cez Putty, ako užívateľ root a do príkazového riadku napíšeme:
passwd
Zadáme nové heslo a potvrdíme nové heslo. Doporučujem použiť heslo pre root užívateľa zložitejšie a nech má aspoň 20 znakov.
Nastavenie SSH
Najprv otvoríme ako root konfiguračný súbor sshd_config.
nano /etc/ssh/sshd_config
Port 22: V súbore nájdeme riadok s týmto textom, tento určuje cez ktorý port služba SSH komunikuje s klientom. Základné nastavenie je 22.
port 22
Časť administrátorov doporučuje tento port zmeniť a ďalšia skupina tvrdí, že je to zbytočné. Prečo zmeniť port? Automatické útoky na servery prebiehajú pomocou robotov, ktoré lozia internetom a snažia sa nájsť server s funkčným portom 22. Pokiaľ ho nájdu, tak sa skúšajú naň pripojiť a uhádnuť napríklad heslo roota, preto je veľmi dôležité mať silné heslo. Pokiaľ tento port bude nefunkčný a SSH by používalo iný, tak hlúpe roboty sa odporúčajú ďalej, no tie múdrejšie otestujú celú škálu portov a ten správny aj tak nájdu. Takže je to otázne, či tento port vôbec meniť. Ak port zmeníte, tak aspoň log súbor nebude tak preplnený. Ja zmenu portu nepovažujem za bezpečnostný prvok. Port môžeme zmeniť prepísaním čísla na číslo v škále od 1025 do 65536. Príklad:
port 4444
Dôležité – Pokiaľ zmeníte port, tak tento port musíte zmeniť aj v programe Putty. Samozrejme, až po uložení súboru a reštartovaní služby SSH na serveri.
Obmedzenie prihlásenia Root: Ak chcete úplne zakázať vzdialené prihlásenie užívateľa root na server tak zmente tento riadok:
PermitRootLogin yes
na:
PermitRootLogin no
Teraz súbor uložíme stlačením klávesy Ctrl+X, ďalej stlačíme Y a potom Enter. Aby naše nastavenia boli načítané musíme službu SSH reštartovať a to príkazom:
systemctl reload sshd
Je dôležité nastavenie vyskúšať, neodhlasujeme sa, ale skúsime sa pripojiť užívateľom jano, ktorého sme si vytvorili. Klikneme na Putty, ak sme menili port, tak ho zmeníme aj v Putty. Pokiaľ je všetko v poriadku prihlásili sme sa, teraz by sme mohli vyskúšať týmto užívateľom napríklad otvoriť sshd_config súbor, ale teraz potrebujeme už príkaz sudo.
sudo nano /etc/ssh/sshd_config
Pokiaľ nič nemeníme v súbore, tak pre ukončenie stlačíme Ctrl+X.
Toto je len základné nastavenie SSH služby a existuje mnoho ďalších spôsobov, ako a čo zmeniť. Stačí pohľadať na nete a niečo si o tom naštudovať. Ešte raz opakujem, že silné heslo je jeden z najdôležitejších bezpečnostných prvokov.
Firwall
Firwally slúžia na ochranu servera a kontrolujú prevádzku na portoch. Doporučuje sa firewal používať na každom serveri. Ubuntu server používa firewall s názvom ufw Ukážeme si základné nastavenia.
SSH démon beží na porte 22, tak ho povolíme príkazom.
sudo ufw allow OpenSSH
Pokiaľ sme port zmenili, tak použijeme tento príkaz:
sudo UFW allow 4444/tcp
Ak chceme spustiť web server, tak protokol HTTP beží na porte 80. Povolíme ho.
sudo UFW allow 80/tcp
Ak máme v pláne použiť zabezpečenie stránok protokolom SSL/TLS, tak pridáme port 443.
sudo UFW allow 443/tcp
Ak chceme používať SMTP emaily otvoríme port 25.
sudo UFW allow 25/tcp
To, čo sme zmenili si môžeme skontrolovať príkazom:
sudo ufw status
Pokiaľ je všetko v poriadku, tak firewall spustíme.
sudo ufw enable
Nastavenia ešte raz potvrdíme stlačením Y. Teraz je potrebné vyskúšať, či sme dobre nastavili port SSH. Neodhlasujeme sa, ale otvoríme Putty a skúsime sa prihlásiť na server pomocou niektorého nastaveného účtu. Pokiaľ sme sa prihlásili, tak je všetko v poriadku.
Dodám len, že firewall sa bude automaticky spúšťať pri štarte systému. Viac o nastaveniach firewallu sa dočítate napríklad TU.
Nastavenie času na serveri
Najprv si nastavíme Časovú Zónu servera. Nato potrebujeme upraviť tzdata balíček.
sudo dpkg-reconfigure tzdata
Objaví sa menu, kde si vyberieme geografickú oblasť. Šípkami hore – dole vyberáme a Entrom potvrdíme.Potom nastavíme časové pásmo.Systém bude aktualizovaný a hodiny sa nastavia na požadovaný čas. Po uložení sa výsledok nastavenia zobrazí.Teraz nakonfigurujeme NTP synchronizáciu. Táto bude zabezpečovať správny čas na serveri, tak že synchronizuje hodiny servera s časovými servermi. Službu nainštalujeme takto:
sudo apt-get update sudo apt-get install ntp
To je všetko, teraz naše hodiny budú ukazovať presný čas a táto služba sa bude automaticky spúšťať aj po reštarte servera. Viac sa dočítate o NTP srveroch TU.
Vytvorenie odkladacieho súboru – swap
Posledná a dôležitá časť tohoto článku je o vytvorení swap súboru na serveri. Doporučujem ho vytvoriť, aj keď vieme, že načítanie dát zo swap je pomalšie oproti čítaniu z RAM, ale radšej pomalší web, ako úplne nefunkčný. Musíme sa rozhodnúť, koľko miesta z disku venujeme ukladaciemu súboru, všeobecne sa doporučuje aspoň dvojnásobok pamäte RAM. Uvediem príklad, v ktorom mám nastavený swap súbor na 2GB.
sudo fallocate -l 2G /swapfile
Zmeníme prístupové oprávnenia k tomuto súboru.
sudo chmod 600 /swapfile
Povieme systému, aby naformátoval swap priestor.
sudo mkswap /swapfile
Prikážeme systému, aby začal používať swap.
sudo swapon /swapfile
Nastavíme, aby systém používal swap aj po štarte systému.
sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'
Niečo viac o nastavení swap nájdete TU.
A sme na konci. Pokiaľ ste to vydržali so mnou až do konca a všetko prebehlo v poriadku, tak GRATULUJEM, máte funkčný server, ktorý má základné nastavenia.
V ďalšom článku ukážem, ako nainštalovať na server WordPress.
Ak sa Vám článok páčil, tak ho zdieľajte.