[[oktatas:linux|< Linux]] ====== Szerver előkészítése ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2018 * [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: http://szit.hu ===== Bevezetés ===== Amikor telepítesz egy új Debian GNU/Linux szervert, érdemes néhány beállítást elvégezni. Ezzel növeljük a rendszer biztonságát, megbízhatóságát. ===== Új felhasználó készítése ===== Készítsünk egy felhasználót a root helyet, akinek a nevében elvégezzük majd a rendszergazdai feladatokat. Az új felhasználónak a sudoval adhatunk jogokat, ezért telepítenünk kell azt: apt install sudo Válasszunk egy tetszőleges adminisztrátori nevet. Legyen például admina. Vegyük fel a felhasználót: adduser admina Tegyük a sudo csoportba: usermod -aG sudo admina ===== Alaptűzfal beállítása ===== Láncok ürítése: iptables -F Saját láncok törlése: iptables -X Számlálók nullázása: iptables -Z Nat tábla láncainak ürítése: iptables -t nat -F Alapértelmezett irányelvek, minden tiltva, kivéve kifele: iptables -P FORWARD DROP iptables -P INPUT DROP iptables -P OUTPUT ACCEPT A már meglévő kapcsolatok engedélyezése: iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT Helyi kapcsolatok engedélyezése: iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT SSH engedélyezése befele: iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT ===== A tűzfal perzisztensé tétele ===== A szükséges csomag telepítése: apt install netfilter-persistent Plugin telepítése: apt install iptables-persistent Igaz, ez utóbbi telepítésével fel kerül a netfilter-persistent csomag is. A csomag konfiguráló rákérdez, hogy szeretnénk a meglévő tűzfal szabályokat menteni. Ezt megteszi IPv4 és IPv6 esetén: Csomag konfiguráció | iptables-persistent konfigurálása | Current iptables rules can be saved to the configuration file /etc/iptables/rules.v4. These rules will then be loaded automatically during system startup. Rules are only saved automatically during package installation. See the manual page of iptables-save(8) for instructions on keeping the rules file up-to-date. Save current IPv4 rules? Csomag konfiguráció | iptables-persistent konfigurálása | Current iptables rules can be saved to the configuration file /etc/iptables/rules.v6. These rules will then be loaded automatically during system startup. Rules are only saved automatically during package installation. See the manual page of ip6tables-save(8) for instructions on keeping the rules file up-to-date. Save current IPv6 rules? Újrakonfigurálás: dpkg-reconfigure iptables-persistent De kézzel is elmenthetjük tűzfal-szabályokat: iptables-save >/etc/iptables/rules.v4 ip6tables-save >/etc/iptables/rules.v6 A iptables-persistent csomag függőségként telepíti a netfilter-persistent csomagot. Ezzel a tűzfal perzisztenciája szabályozható: netfilter-persistent flush netfilter-persistent save * A flush parancs az aktuális tűzfal szabályokat törli. * A save parancs elmenti az aktuális tűzfal szabályokat, a visszaállításhoz. ===== Távoli hozzáférés engedélyezése ===== Távoli bejelentkezéshez használjunk SSH kulcsot. A helyi gépen készítsük el a nyilvános kulcspárt. ssh-keygen -t rsa Létrejön egy $HOME/.ssh/id_rsa titkos kulcs, és egy $HOME/.ssh/id_rsa.pub nyilvános kulcs. A nyilvános kulcsot másoljuk a távoli gépre. Ehhez adjuk ki a parancsot helyben: scp $HOME/.ssh/id_rsa.pub janos@192.168.5.6:/tmp/id_rsa.pub A távoli gépen tegyük a nyilvános kulcsot a helyére: cat /tmp/id_rsa.pub >> /home/janos/.ssh/authorized_keys Az alábbi helyen leírást talál a kulcsalapú hitelesítésről: * [[oktatas:linux:távoli_elérés#automatikus_bejelentkezés|Kulcs alapú hitelesítés]] ===== Függelék ===== ==== Ufw tűzfal ==== Az ufw azt ígéri egyszerűbben állíthatjuk be a tűzfalat. Az ufw a telepítendő csomag neve, és a használható parancs is ez. Telepítés: apt install ufw Az ufw gyorsan munkára bírható. Engedélyezzük a távoli SSH elérést: ufw allow ssh Engedélyezzük magát a tűzfalat: ufw enable Ellenőrizzük: ufw status Az ufw csomaggal kialakított tűzfal újraindítás után is működik, így nem kell külön gondoskodni róla. ==== Tűzfal szabályok automatizálása egyszerűen ==== Ebben a részben a tűzfal szabályokat egyszerűen egy fájlba mentjük, amit egy scripttel töltünk vissza az /etc/network könyvtár segítségével. A szükséges programok a iptables-save és iptables-restore, de ezek alapból telepítésre kerülnek, az iptables paranccsal együtt. Mentsük el a tűzfal aktuális állapotát egy fájlba. Például: iptables-save > /etc/iptables.up.rules Hozzunk létre egy scriptet a /etc/network/if-pre-up.d/ könyvtárban: nano /etc/network/if-pre-up.d/iptables A tartalma a következő legyen: #!/bin/sh /sbin/iptables-restore < /etc/iptables.up.rules Adjunk futtatási jogot a scriptre: chmod +x /etc/network/if-pre-up.d/iptables Természetesen megoldás lenne, egy systemd script írása is. ===== Forrás ===== * [[https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-18-04|https://www.digitalocean.com/]] (2018) * https://wiki.debian.org/DebianFirewall (2018) * https://wiki.debian.org/iptables (2018)