Vyhledávání na webu

Počáteční nastavení serveru a konfigurace na RHEL 7


V tomto tutoriálu probereme první konfigurační kroky, o které se musíte postarat po nové instalaci Red Hat Enterprise Linux 7 na holý kovový server nebo na virtuální privátní server.

Požadavky

  1. RHEL 7 Minimální instalace

Důležité: Uživatelé CentOS 7 mohou podle tohoto článku provést počáteční nastavení serveru na CentOS 7.

Aktualizujte systém RHEL 7

V prvním kroku se přihlaste do své serverové konzole RHEL pomocí účtu s právy root nebo přímo jako root a spusťte níže uvedený příkaz, abyste mohli plně aktualizovat systémové komponenty, jako jsou nainstalované balíčky, jádro nebo použít jiné bezpečnostní záplaty.

yum check-update
yum update

Chcete-li odstranit všechny lokálně stažené balíčky a další související mezipaměti YUM, spusťte níže uvedený příkaz.

yum clean all

Nainstalujte systémové nástroje na RHEL 7

Následující nástroje se mohou ukázat jako užitečné pro každodenní správu systému: nano (textový editor nahrazující editor vi), wget, curl (nástroje používané pro stahování balíčků většinou přes síť) net-tools, lsof (nástroje pro správu místní sítě) a bash-completion (automatické doplňování příkazového řádku).

Nainstalujte je všechny najednou provedením níže uvedeného příkazu.


yum install nano wget curl net-tools lsof bash-completion

Nastavení sítě v RHEL 7

RHEL 7 má širokou škálu nástrojů, které lze použít ke konfiguraci a správě sítě, od ruční úpravy konfiguračního souboru sítě po použití příkazů jako ip, ifconfig, nmtui, nmcli nebo trasa.

Nejjednodušší nástroj, který může začátečník použít ke správě a změně konfigurace sítě, je nmtui grafický příkazový řádek.

Chcete-li změnit název hostitele systému pomocí nástroje nmtui, spusťte příkaz nmtui-hostname, nastavte název hostitele počítače a dokončete stisknutím OK, jak je znázorněno na obrázku na níže uvedeném snímku obrazovky.


nmtui-hostname

Chcete-li manipulovat se síťovým rozhraním, spusťte příkaz nmtui-edit, vyberte rozhraní, které chcete upravit, a z pravé nabídky vyberte upravit, jak je znázorněno na obrázku níže.

Jakmile se dostanete do grafického rozhraní poskytovaného nástrojem nmtui, můžete nastavit IP nastavení síťového rozhraní, jak je znázorněno na níže uvedeném snímku obrazovky. Po dokončení přejděte na OK pomocí klávesy [tab] pro uložení konfigurace a ukončení.

Chcete-li použít novou konfiguraci síťového rozhraní, spusťte příkaz nmtui-connect, vyberte rozhraní, které chcete spravovat, a klepnutím na možnost Deaktivovat/Aktivovat jej deaktivujte a aktivujte. rozhraní s nastavením IP, jak je uvedeno na níže uvedených snímcích obrazovky.


nmtui-connect

Chcete-li zobrazit nastavení síťového rozhraní, můžete zkontrolovat obsah souboru rozhraní nebo můžete zadat níže uvedené příkazy.


ifconfig enp0s3
ip a
ping -c2 google.com

Další užitečné nástroje, které lze použít ke správě rychlosti, stavu připojení nebo získání informací o síťových rozhraních stroje, jsou ethtool a mii-tool.


ethtool enp0s3
mii-tool enp0s3

Vytvořit nový uživatelský účet

V dalším kroku, když jste přihlášeni jako root k vašemu serveru, vytvořte nového uživatele pomocí níže uvedeného příkazu. Tento uživatel bude později použit k přihlášení do vašeho systému a provádění administrativních úkolů.

adduser tecmint_user

Po přidání uživatele pomocí výše uvedeného příkazu nastavte pro tohoto uživatele silné heslo zadáním níže uvedeného příkazu.

passwd tecmint_user

V případech, kdy chcete tohoto nového uživatele přinutit ke změně hesla při prvním pokusu o přihlášení, proveďte níže uvedený příkaz.

chage -d0 tecmint_user

Tento nový uživatelský účet s má prozatím běžná oprávnění účtu a nemůže provádět administrativní úlohy pomocí příkazu sudo.

Abyste se vyhnuli použití účtu root k provádění administrátorských oprávnění, udělte tomuto novému uživateli administrátorská oprávnění přidáním uživatele do systémové skupiny „wheel “.

Uživatelé patřící do skupiny „wheel“ mohou ve výchozím nastavení v RHEL spouštět příkazy s právy root pomocí nástroje sudo před napsáním příkazu potřebného k provedení.

Chcete-li například přidat uživatele „tecmint_user “ do skupiny „wheel “, proveďte níže uvedený příkaz.

usermod -aG wheel tecmint_user

Poté se přihlaste do systému s novým uživatelem a zkuste systém aktualizovat pomocí příkazu „sudo yum update“, abyste otestovali, zda má uživatel oprávnění root.

su - tecmint_user
sudo yum update

Nakonfigurujte ověřování pomocí veřejného klíče SSH na RHEL 7

V dalším kroku za účelem zvýšení zabezpečení služby RHEL nakonfigurujte autentizaci pomocí veřejného klíče SSH pro nového uživatele. Chcete-li vygenerovat pár klíčů SSH, veřejný a soukromý klíč, spusťte na konzole serveru následující příkaz. Ujistěte se, že jste přihlášeni do systému pomocí uživatele, kterému nastavujete klíč SSH.

su - tecmint_user
ssh-keygen -t RSA

Během generování klíče budete vyzváni k přidání přístupové fráze, aby byl klíč zabezpečen. Můžete zadat silné přístupové heslo nebo nechat heslo prázdné, pokud chcete automatizovat úlohy prostřednictvím serveru SSH.

Po vygenerování klíče SSH zkopírujte pár veřejných klíčů na vzdálený server provedením níže uvedeného příkazu. Chcete-li nainstalovat veřejný klíč na vzdálený server SSH, budete potřebovat uživatelský účet, který má přihlašovací údaje pro přihlášení k tomuto serveru.

ssh-copy-id [email 

Nyní byste se měli pokusit přihlásit přes SSH ke vzdálenému serveru pomocí soukromého klíče jako metody ověřování. Měli byste být schopni se přihlásit automaticky, aniž by SSH server požadoval heslo.

ssh [email 

Chcete-li zobrazit obsah svého veřejného klíče SSH, pokud chcete klíč ručně nainstalovat na vzdálený server SSH, zadejte následující příkaz.

cat ~/.ssh/id_rsa

Zabezpečte SSH na RHEL 7

Chcete-li zabezpečit démona SSH a zakázat vzdálený přístup SSH k účtu root pomocí hesla nebo klíče, otevřete hlavní konfigurační soubor serveru SSH a proveďte následující změny.

sudo vi /etc/ssh/sshd_config

Vyhledejte řádek #PermitRootLogin yes, odkomentujte řádek odstraněním znaku # (hashtag) ze začátku řádku a upravte řádek tak, aby vypadal jako níže výňatek.

PermitRootLogin no

Poté restartujte server SSH, abyste použili nová nastavení, a otestujte konfiguraci pokusem o přihlášení k tomuto serveru pomocí účtu root. Přístup k účtu root přes SSH by měl být nyní omezen.

sudo systemctl restart sshd

Existují situace, kdy možná budete chtít po určité době nečinnosti automaticky odpojit všechna vzdálená připojení SSH k vašemu serveru.

Chcete-li povolit tuto funkci v celém systému, spusťte níže uvedený příkaz, který přidá proměnnou bash TMOUT do hlavního souboru bashrc a vynutí odpojení nebo přerušení každého připojení SSH- po 5 minutách nečinnosti.

su -c 'echo "TMOUT=300" >> /etc/bashrc'

Spusťte příkaz tail a zkontrolujte, zda byla proměnná správně přidána na konec souboru /etc/bashrc. Všechna následující připojení SSH budou od této chvíle automaticky uzavřena po 5 minutách nečinnosti.

tail /etc/bashrc

Na níže uvedeném snímku obrazovky byla vzdálená relace SSH z počítače drupal na server RHEL automaticky odhlášena po 5 minutách.

Nakonfigurujte bránu firewall na RHEL 7

V dalším kroku nakonfigurujte firewall za účelem dalšího zabezpečení systému na úrovni sítě. RHEL 7 se dodává s aplikací Firewalld pro správu pravidel iptables na serveru.

Nejprve se zadáním níže uvedeného příkazu ujistěte, že ve vašem systému běží firewall. Pokud je démon Firewalld zastaven, měli byste jej spustit následujícím příkazem.

sudo systemctl status firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld

Jakmile je brána firewall ve vašem systému povolena a spuštěna, můžete pomocí nástroje příkazového řádku firewall-cmd nastavit informace o zásadách brány firewall a povolit provoz na některé konkrétní síťové porty, jako je démon SSH, vytvořené připojení na interní webový server nebo jiné související síťové služby.

Protože na našem serveru právě spouštíme démona SSH, můžeme upravit zásady brány firewall tak, aby povolily provoz pro port služby SSH, zadáním následujícího příkazu.

sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --reload

Chcete-li přidat pravidlo brány firewall za běhu, bez použití pravidla při příštím spuštění serveru, použijte níže uvedenou syntaxi příkazu.

sudo firewall-cmd --add-service=sshd

Pokud na svůj server nainstalujete další síťové služby, jako je HTTP server, poštovní server nebo jiné síťové služby, můžete přidat pravidla pro povolení konkrétních připojení následovně.

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=smtp

Chcete-li zobrazit všechna pravidla brány firewall, spusťte níže uvedený příkaz.

sudo firewall-cmd --permanent --list-all

Odstraňte nepotřebné služby v RHEL 7

Chcete-li získat seznam všech síťových služeb (TCP a UDP), které ve výchozím nastavení běží na vašem serveru RHEL, zadejte příkaz ss, jak je znázorněno na příkladu níže.

sudo ss -tulpn

Příkaz ss odhalí některé zajímavé služby, které jsou ve vašem systému standardně spouštěny a spuštěny, jako je hlavní služba Postfix a server zodpovědný za protokol NTP.

Pokud neplánujete nakonfigurovat tento server jako poštovní server, měli byste zastavit, zakázat a odstranit démona Postfix vydáním níže uvedených příkazů.

sudo systemctl stop postfix.service 
sudo yum remove postfix

Nedávno byly hlášeny některé ošklivé útoky DDOS přes protokol NTP. V případě, že neplánujete nakonfigurovat svůj server RHEL tak, aby běžel jako server NTP, aby interní klienti synchronizovali čas s tímto serverem, měli byste démona Chrony zcela deaktivovat a odstranit zadáním níže uvedených příkazů.

sudo systemctl stop chronyd.service 
sudo yum remove chrony

Znovu spusťte příkaz ss, abyste zjistili, zda jsou ve vašem systému spuštěny další síťové služby, a deaktivujte je a odstraňte.

sudo ss -tulpn

Chcete-li vašemu serveru poskytnout přesný čas a synchronizovat čas s nadřazeným časovým serverem, můžete si nainstalovat nástroj ntpdate a synchronizovat čas s veřejným serverem NTP provedením níže uvedených příkazů.

sudo yum install ntpdate
sudo ntpdate 0.uk.pool.ntp.org

Chcete-li automatizovat provádění příkazu ntpdate time synchronize každý den bez zásahu uživatele, naplánujte spuštění nové úlohy crontab o půlnoci s následujícím obsahem.

sudo crontab -e

Výňatek ze souboru Crontab:

@daily /usr/sbin/ntpdate 0.uk.pool.ntp.org

To je vše! Nyní je váš server RHEL připraven k instalaci dalšího softwaru potřebného pro vlastní síťové služby nebo aplikace, jako je instalace a konfigurace webového serveru, databázového serveru, služby sdílení souborů nebo jiných specifických aplikací.

Chcete-li dále zabezpečit a posílit server RHEL 7, přečtěte si následující články.

  1. The Mega Guide to Harden and Secure RHEL 7 – Part 1
  2. The Mega Guide to Harden and Secure RHEL 7 – Part 2

Pokud plánujete nasadit webové stránky na tomto systému RHEL 7, zjistěte, jak nastavit a nakonfigurovat zásobník LAMP nebo zásobník LEMP.