Aj keď pre Nextcloud sa odporúča v súčastnosti Ubuntu 20.04 LTS, alebo Red Hat Enterprise Linux 8, ja som si nejak obľúbil OS Debian a Nextcloud postavim v LAMP stacku nad Debianom 10. V minulom článku sme spustili LXC s Debianom, takže dnes sa cez SSH prihlásime a naozaj začneme pracovať. Ešte spomeniem, že keď sme pripravovali LXC, tak na prihlásenie sme nezadávali heslo, ale SSH public key. Takéto prihlasovanie je oveľa rýchlejšie a bezpečnejšie.
Všetky články seriálu
- Nasadzujeme Nextcloud
- Systémové požiadavky pre Nextcloud
- LXC pre Nextcloud
- Pripravujeme Debian 10 pre Nextcloud
- Vytvárame doménu pre Nextcloud
- LAMP stack pre Nextcloud
- Konfigurácia serverov pre Nextcloud
- Inštalácia Nextcloud Hub
- Poinštalačné nastavenia v Nextcloud Hub
- Kancelária pre Nextcloud
V tomto návode budeme používať
- IP adresa servera: 192.168.1.108
- meno užívateľa: jany
Keďže ja používam linux aj na pracovnej stanici, tak mi stačí použiť kombináciu Ctrl+Alt+T a priamo sa prihlásim na server príkazom
ssh root@192.168.1.108
Tí ktorí pracujú v MS Windows, tak môžu na prihlásenie používať aplikáciu putty. Ako je videť z príkazu, tak na server sme sa prihlásili ako root, takže najprv spravíme základne nastavenia
- Aktualizujeme systém
- Nastavíme správny čas
- Nainštalujeme sudo
- Vytvoríme užívateľa a pridáme ho do skupiny
- Nainštalujeme MC
apt update && apt upgrade -y
dpkg-reconfigure tzdata
apt install sudo
adduser jany
usermod -aG sudo jany
apt install mc -y
Teraz sa musíme z terminálu odhlásiť príkazom exit, alebo použijeme klávesovú skratku Ctrl+D. Na desktope som už dávno generoval kľúče kde som sa o tom zmienil v tomto článku a teraz ich potrebujem preniesť na server aby som sa vedel ako obyčajný užívateľ prihlasovať bez hesla. Takže na desktope spustíme tento príkaz a po vyzvaní zadáme heslo.
ssh-copy-id 192.168.1.108
Teraz sa budeme môcť prihlasovať bez hesla príkazom
ssh jany@192.168.1.108
Z bezpečnostného hľadiska zakážeme prihlasovanie sa rootovi a zmeníme SSH port z 22 na nejaký neštandardný, napr. 2299. Výber čísla portu je samozrejme na nás, ale je treba vyberať z rozumom
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.orig
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin no/' /etc/ssh/sshd_config
sudo sed -i 's/#Port 22/Port 2299/' /etc/ssh/sshd_config
sudo systemctl restart sshd
Od teraz sa už root cez SSH neprihlási a mi si musíme zmeniť pri prihlasovaní port, takže príkaz na prihlásenie bude vyzerať následovne
ssh jany@192.168.1.108 -p 2299
Teraz nainštalujeme a nastavíme Uncomplicated FireWall UFW. Odporúčm nastaviť SSH port 2299 len na lokálny subnet. Ďalej povolíme http 80 a https 443 porty. Potom UFW povolíme a vytlačíme čo sme nastavili
sudo apt install ufw
sudo ufw allow from 192.168.1.0/24 to any port 2299 proto tcp
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
2299/tcp ALLOW IN 192.168.1.0/24
80 ALLOW IN Anywhere
443 ALLOW IN Anywhere
80 (v6) ALLOW IN Anywhere (v6)
443 (v6) ALLOW IN Anywhere (v6)
Čo sa týka bezpečnosti, tak na terminál sa nedokáže prihlásiť root. Ak by nám náhodou niekto ukradol privátný kľúč, tak UFW nepovolí pripojenie z inej siete ako je LAN v ktorej sa nachádza server. Ak by sa útočník nachádzal v LAN, tak by musel zistiť SSH port, ktorý nie je štandardný (na to sa dá samozrejme použiť nástroj nmap). Jednoducho útočník by to mal dosť sťažené a predpoklad, že sa nabúra do systému je minimálny. Samozrejme, každý príčetný administrátor pravidelne zálohuje a servery monitoruje, takže asi by sa o nejakom útoku skôr či neskôr dozvedel.
V nasledujúcom článku budeme zakladať doménu tretieho radu na changeip.com. Tento DNS server je celkom stabilný a domény tretieho radu sú úplne zdarma. Myslím, že na jeden účet je možné založiť až 7 domén.