Úvod
U jakéhokoli serveru by primárním cílem měla být vždy bezpečnost. Mnoho uživatelů je obětí škodlivých infiltrací na jejich serverech kvůli chybějícím bezpečnostním hranicím stanoveným od začátku. Začněme na správné cestě položením našich základů s bezpečností. Tento návod vám pomůže s počátečním nastavením na Fedoře 21, abyste mohli úspěšně zabezpečit svůj server a zároveň vám dá klid na duši s vědomím, že váš server je chráněn.
Co potřebujete?
Potřebujete server Fedory 21 nakonfigurovaný se statickou IP adresou. Pokud ještě nemáte server, zvažte cenově výhodný server od Atlantic.Net a buďte vzhůru za 30 sekund.
Příprava serveru
Chcete-li začít, přihlaste se ke svému serveru Fedora 21 přes SSH nebo konzolu VNC umístěnou zde. Servery Atlantic.Net Cloud jsou nastaveny jako minimální instalace, aby se zabránilo tomu, že budou instalovány a nikdy použity zbytečné balíčky. Pokud některé softwarové balíčky, na které jste zvyklí, nejsou ve výchozím nastavení nainstalovány, můžete si je podle potřeby nainstalovat.
Ujistíme se, že váš server je plně aktuální.
yum update
Můžeme pokračovat v procesu a zabezpečit váš server pomocí aktuálního serveru.
Aktualizujte heslo kořene Fedory 21
Zadejte následující příkaz pro aktivaci vašeho požadavku a postupujte podle pokynů na obrazovce pro aktualizaci/potvrzení hesla uživatele root:
passwd
Vytvořte nového uživatele s právy sudo
Po úspěšné aktualizaci hesla se doporučuje vytvořit nového uživatele s oprávněními sudo/root. Vzhledem k tomu, že typický uživatel admin pro mnoho operačních systémů Linux, jako je Fedora 21, je „root“, vytvoříme nového uživatele admin, který bude používán pro každodenní úkoly správy. Vytvoření nového uživatele s oprávněními root zvýší zabezpečení způsobu přístupu k vašemu serveru. Jednotlivci, kteří chtějí cílit na váš systém, budou cílit na uživatele root, protože je známo, že jde o výchozí účet správce. Vytvořením nového uživatele s oprávněními sudo/root a deaktivací uživatele root zvýšíte zabezpečení použitím uživatele, který ještě není veřejně známý.
Zadejte následující příkaz pro vytvoření nového uživatele, který nahradí „user1“ vaším uživatelským jménem a potvrďte.
adduser user1
Vytvořte heslo pro tohoto uživatele zadáním následujícího příkazu pro aktivaci vašeho požadavku a podle pokynů na obrazovce aktualizujte/potvrďte své heslo „user1“:
passwd user1
Jakmile vytvoříte nového uživatele a vytvoříte heslo pro tohoto uživatele, je čas přidat uživatele do skupiny sudo wheel. Ve Fedoře 21, jakmile je přidáte do skupiny sudo wheel, jsou jim automaticky přiřazena oprávnění sudo/root. Spusťte následující příkaz a přidejte uživatele do skupiny sudo wheel.
gpasswd -a user1 wheel
Nakonec, když vytvoříte uživatele s oprávněními sudo/root, můžete ukončit relaci a znovu se přihlásit pomocí svého „uživatele1“, abyste ověřili provedené změny. Případně můžete spustit následující příkaz a přepnout uživatele z root na „user1“, který vás požádá o heslo tohoto uživatele.
su - user1
Konfigurace přístupu SSH
Port 22 je výchozí port pro vzdálená připojení přes SSH v systémech Linux. Změnou portu ssh zvýšíte zabezpečení svého serveru tím, že zabráníte útokům hrubou silou a nechtěným uživatelům, aby se dostali na váš server pomocí výchozího portu. V tomto tutoriálu použijeme jako příklad port 5022.
Otevřete svůj konfigurační soubor SSH, najděte řádek Port, odstraňte znak # a změňte číslo 22 na svůj vlastní port. Uložte a ukončete.
sudo vi /etc/ssh/sshd_config
#Port 22 Port 5022
Aby váš systém aktualizoval nastavení z konfiguračního souboru SSH, musíme restartovat službu sshd.
sudo systemctl restart sshd.service
SSH je nyní nakonfigurováno pro použití portu 5022, a pokud se pokusíte přihlásit pomocí portu 22, vaše přihlášení se nezdaří. Neukončujte však svou relaci, protože musíme nejprve nakonfigurovat vlastní port v části konfigurace firewallů, kterou nakonfigurujeme v následujících krocích.
Omezit přístup root
Protože jsme vytvořili nového uživatele s oprávněními root a vytvořili vlastní port ssh, není potřeba udržovat skutečného uživatele root dostupného a zranitelného přes SSH na vašem serveru. Pojďme omezit přístup uživatele root k místnímu serveru a udělit oprávnění novému uživateli pouze přes SSH.
Otevřete konfigurační soubor SSH, najděte řádek PermitRootLogin, odstraňte znak # a změňte jej z yes na no.
sudo vi /etc/ssh/sshd_config
#PermitRootLogin yes PermitRootLogin no
Aby váš systém aktualizoval nová nastavení v konfiguračním souboru SSH, musíme restartovat službu sshd.
sudo systemctl restart sshd.service
Poznámka:Nyní budete mít uživatele root zakázáno provádět tyto změny, takže se musíte přihlásit na svůj server pomocí „uživatele1“, který jste vytvořili. Neukončujte však relaci. V nadcházejících krocích musíme nakonfigurovat vlastní port na firewallu.
Vytvořte soukromý klíč SSH
Soukromé/veřejné klíče SSH jsou skvělé doplňkové funkce, které zvyšují bezpečnost v metodě serveru. Nastavení však vyžaduje trochu více úsilí. Otázkou je, zda váš server stojí za extra zabezpečení? Pokud chcete implementovat následující funkce zabezpečení, můžete pokračovat dalšími kroky. Pokračujme a vygenerujeme klíč SSH.
ssh-keygen
Pokud chcete změnit umístění, kam bude klíč SSH uložen, můžete to zadat zde. Výchozí umístění, kde je uloženo, by však mělo být v pořádku. Až budete vyzváni k následující otázce, stiskněte enter a poté zadejte přístupovou frázi, pokud ji nechcete.
Enter file in which to save the key (/home/user1/.ssh/id_rsa):
Toto je výchozí webová stránka při instalaci klíčů SSH na server Fedora21
Konfigurace klíče SSH je zásadní. Musíme zkopírovat celý klíčový řetězec do dokumentu Word/Poznámkový blok. Klíč lze zobrazit v následujícím umístění pomocí příkazu cat.
cat ~/.ssh/id_rsa.pub
Zkopírujte klíč SSH, začínající ssh-rsa a končící [email protected], do dokumentu aplikace Word/Poznámkový blok, abyste jej později přidali do konfiguračního souboru.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbFd5OZFm8qDh21f28igkEVVb0rwkvyvxpH+LX9FBIgLfXTYZRz8PhCUi6NtugZMJ3F9vwq4Cq3zTYuwqhdb4Nt8z8MiS6sKX8JpgLyKreEwaxfK9IKBskyAkpln7zc7bHVCYsTJsvr/1B7kTvX4jIa0/EJQS7xvCTGdMDOD+Ux7bGJiA8ohc4DfELfJnlcURfNwB3PZ5ukdoul7/+yeabRsj18rc0yZfJ3/MgaipdSTwK/2mpaR0xlKGQhj47FsERKu6rztBL5lIQXWWZK71L8O2aprgsBBP+G2lKVKNNXeBfd+4Kx+4D980mWZlEdZ8KfgOZqCMXF3Jfjqcpvf0D [email protected]
Jakmile je klíč SSH bezpečně uložen, potřebuje adresář pro klíče SSH omezená oprávnění, aby soubor mohl číst, zapisovat a spouštět pouze vlastník.
chmod 700 .ssh
Do adresáře SSH je třeba přidat soubor obsahující klíč SSH, jednoduše pomocí editoru (v tomto případě VI) v následujícím umístění:
vi .ssh/authorized_keys
Vložte klíč SSH, uložte jej a ukončete pomocí formátu VI.
Nakonec musíme omezit oprávnění souboru author_keys, který jsme právě vytvořili, aby mohl číst a zapisovat pouze vlastník.
chmod 600 .ssh/authorized_keys
Nyní bychom mohli ověřit, že klíč funguje, uzavřením relace a zadáním [email protected] nebo názvu hostitele vašeho serveru do vaší konzoly SSH. Kromě toho můžete kliknutím „sem“ zobrazit náš článek Jak generovat a používat klíče SSH, kde najdete další informace.
Základní pravidla brány firewall
sudo systemctl start firewalld
Dále přidáme pravidlo, které umožní dříve vytvořenému vlastnímu portu SSH 5022 veřejný přístup k serveru. Zároveň odstraníme předchozí výchozí pravidlo umožňující přístup SSH na TCP/22.
sudo firewall-cmd --permanent --add-port=5022/tcp
sudo firewall-cmd --permanent --remove-service=ssh
Pokud máte webový server, možná budete chtít povolit následujícím pravidlům přístup k vašim stránkám přes internet.
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https
Můžete to použít pro podobná pravidla týkající se jakýchkoli systémů, které chcete být veřejně přístupné. Tento testovací server je nastaven tak, aby hostoval web a e-mailové služby, takže kromě aktualizovaných pravidel SSH a HTTP(S) byla přidána další pravidla pro zabezpečené POP3, IMAP a SMTP.
sudo firewall-cmd --permanent --add-service=pop3s sudo firewall-cmd --permanent --add-service=imaps sudo firewall-cmd --permanent --add-service=smtp
Aby brána firewall akceptovala tato nastavení, musíte ji restartovat.
sudo firewall-cmd --reload
Vaše nastavení budou uložena a můžete pokračovat.
Chcete-li ověřit všechny dostupné služby/porty, spusťte následující:
sudo firewall-cmd --permanent --list-all
Toto je výchozí webová stránka po dokončení pravidel Firewallu na serveru Fedora21
Synchronizace času NTP
Protokol NTP (Network Time Protocol) se používá k synchronizaci času a data počítačů v síti, aby zůstaly přesné a aktuální. Začněme instalací NTP (pokud nebyl nainstalován) a nakonfigurováním služby pro synchronizaci s jejich servery.
sudo yum install ntp
Jakmile je služba NTP nainstalována, musíme se ujistit, že je zapnutá.
sudo systemctl start ntpd
Nyní, když je služba spuštěna, povolme serveru NTP neustále aktualizovat čas serveru ze serveru NTP.
sudo systemctl enable ntpd
Přidat odkládací soubor
Swap soubor je jednoduše malé množství prostoru vytvořeného na pevném disku serveru pro simulaci RAM. Pokud má server málo paměti, podívá se na pevný disk a usnadní zatížení, aby si systém myslel, že má více paměti. Nastavíme odkládací soubor na pevném disku, abychom ještě trochu zvýšili výkon serveru.
Začněte kontrolou zdrojů, abyste se ujistili, že můžeme soubor přidat. Když spustíte následující příkaz, uvidíte procento místa na pevném disku, které je aktuálně využíváno.
df -h
Při vytváření odkládacího souboru obvykle chcete přidat polovinu své stávající paměti RAM až na 4 GB (pokud máte 1 GB skutečné paměti RAM, přidáte soubor 512 MB). V této části přidám na disk 512 MB odkládací soubor. Způsob, jakým se to počítá, je 1024 x 512 MB =524288 velikost bloku.
sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288
Nyní, když jsme přidali odkládací soubor, je pro pokračování potřeba vytvořit oblast.
sudo mkswap /swapfile
S vytvořeným odkládacím souborem a přidanou oblastí odkládacího souboru jsme mohli pokračovat a přidat k souboru oprávnění, aby mohl číst a zapisovat pouze vlastník.
sudo chown root:root /swapfile sudo chmod 0600 /swapfile
Nyní, když má odkládací soubor příslušná oprávnění, můžeme pokračovat a aktivovat jej.
sudo swapon /swapfile
Nově přidaný odkládací soubor můžete ověřit následujícím způsobem.
sudo swapon -s
Aby byl odkládací soubor vždy aktivní i po restartu, musíme jej odpovídajícím způsobem nakonfigurovat.
sudo vi /etc/fstab
Vložte následující příkaz do spodní části souboru, uložte svou práci a ukončete.
/swapfile swap swap defaults 0 0
Nakonec ověřte, zda je váš odkládací soubor aktivován zadáním následujícího příkazu:
free -m
Toto je výchozí stránka po vytvoření odkládacího souboru na serveru Fedora21
Co dál?
Díky tomu nyní máte server se silným bezpečnostním základem, který vám poskytne klid s vědomím, že váš server je chráněn. Nyní můžete přistoupit k budování platformy podle svých potřeb. Děkujeme, že nás sledujete, a neváhejte nás kontaktovat pro další aktualizace.
Zjistěte více o našich hostingových službách VPS a ceně hostingu VPS.