Ubuntu server 18.04.2 II. rész

Ubuntu 18.04.2

Alap tűzfal beállítása: UFW (Uncomplicated Firewall)

Az Ubuntu alapértelmezett tűzfalbeállító eszköze az ufw. Az iptables beállításának megkönnyítésére tervezett ufw felhasználóbarát módon teszi lehetővé IPv4 vagy IPv6 kiszolgálóalapú tűzfal létrehozását. Az uwf lehetővé teszi egyszerű szabályok könnyű felvételét vagy eltávolítását

Első lépésként be kell kapcsolni az ufw-t.
Adjuk ki a következő parancsot: sudo ufw enabe Újraindítás után lesz aktív!

A tűzfal állapotának megjelenítéséhez adja ki a következőt: sudo ufw status
Részletesebb állapotinformációkért adja ki: sudo ufw status verbose

A különböző alkalmazások telepítésükkor létre tudnak maguknak hozni tűzfal szabályokat, profilokat. Nézzük meg, milyen alkalmazásunk van ami ilyen:
ufw app list majd ufw allow OpenSSH

Egy hasznos segédprogram, a Midnight commander telepítése:

sudo apt install mc

A Midnight commander egy 2 ablakos fájlkezelő alkalmazás. Könnyebb vele átlátni a könyvtárakat. Tud ftp kliensként is funkcionálni.

Hálózat beállítása

Nézzük meg, hogy milyen ip címeket kapott a szerver: ip a Három darab hálózati kártyát mutat, az első a loopback adapter(lo), a második a nat-os kártya(enp0s3) a harmadik a belső hálózatos(enp0s8). Ennek belső hálózatos kártyának szeretnénk statikus ip címet beállítani. Ehhez a netplan alkalmazást fogjuk használni. Szerkesszük meg a konfigurációs fájlt:

sudo nano /etc/netplan/50-cloud-init.yaml

A nano egy egyszerű szövegszerkesztő alkalmazás. Én ezt fogom használni a példákban. Néhány hasznos funkciója:
kijelölés: alt+ a
másolás: alt + 6
beillesztés: ctrl + u
kilépés: ctrl+x

A netplan beállításánál figyelni kell arra, hogy a tagolás nagyon fontos! Nem lehet benne tab-ot használni, az ip címeknél kell szóköz a kötőjel után! Ha kész, mentsük el, (ctrl+x, majd igen) Alkalmazás: sudo netplan apply

network:
   ethernets:
       enp0s3:
           dhcp4: true
       enp0s8:
           adresses:
           - 192.168.1.1/24
           dhcp4: false
            nameservers:
                 addresses:
                 - 192.168.1.1
                 - 8.8.8.8
                 search: []
     version: 2

Távoli hozzáférés, SSH

Most, hogy már van statikus ip címe a szerverünknek, a belső hálózatból megnézzük az SSH hozzáférést. Én ehhez egy Ubuntu 18 desktop rendszert használok. Itt arra kell figyelni, hogy amíg a szerverünk nem oszt dhcp-n ip címet, addig a kliensnek is kézzel kell megadni, lehetőleg ugyanabból a tartományból. A ping paranccsal le is tesztelhetjük, hogy látják-e egymást a gépek.

SSH kapcsolat: ssh rendszergazda@192.168.1.1 utána majd kérni fogja a jelszavát. Ha sikerült belépni, akkor a távoli gépen dolgozhatunk.

Ha nem működik: sudo nano /etc/ssh/sshd_config
A port elől vegyük ki a kommentet! Lehet neki másik portot is megadni.

Tűzfal: sudo ufw allow ssh vagy sudo ufw allow 22/tcp (amennyiben a 22-es portot adtuk meg)

DNS szerver beállítása

A dns szolgáltatást a BIND9 (Berkeley Internet Name Domain) nyújtja. A BIND9 számos módon beállítható. A leggyakoribb konfigurációk a gyorsítótárazó névkiszolgáló, elsődleges mester és másodlagos mester. Gyorsítótárazó névkiszolgálóként használva a BIND9 megkeresi a lekérdezésekre a választ, és megjegyzi azt a tartomány következő lekéréséhez. Elsődleges mesterként a BIND9 beolvassa a zóna adatait a gépen lévő fájlból, és az adott zónára irányadó lesz. Másodlagos mester konfigurációban a BIND9 a zónaadatokat másik, az adott zónában mérvadó névkiszolgálótól kapja.

Telepítése: apt install bind9
A teszteléséhez szükséges még egy csomag: apt install dnsutils
A beállításhoz szükséges fájlokat a /etc/bind mappában találjuk. Ebben a példában egy elsődleges ‘mester’ névkiszolgálót fogok létrehozni. A tartományunk neve gyakorlat.and lesz.

Közvetlen zóna fájl
A BIND9 elsődleges mesterkiszolgálóvá tétele érdekében egy DNS-zóna BIND9-hez adásának első lépése az /etc/bind/named.conf.local fájl szerkesztése:
sudo nano /etc/bind/named.conf.local

zone "gyakorlat.and" {
        type master;
        file "/etc/bind/db.gyakorlat.and";
};

Egy meglévő zónafájlt sablonként használva hozzuk létre az /etc/bind/db.gyakorlat.and fájlt, majd szerkesszük meg:
sudo cp /etc/bind/db.local /etc/bind/db.gyakorlat.and
sudo nano /etc/bind/db.gyakorlat.and

;
; BIND data file for gyakorlat.and
;
$TTL    604800
@       IN      SOA     gyakorlat.and. rendszergazda@gyakorlat.and. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
        IN      A       192.168.1.1
;
@       IN      NS      ns.gyakorlat.and.
@       IN      A       192.168.1.1
@       IN      AAAA    ::1
ns      IN      A       192.168.1.1

a módosítások életbe léptetéséhez újra kell indítani a BIND9-et:
sudo systemctl restart bind9.service

SOA rekord
gyakorlat.and. – a domain, amiről szó van
SOA – a rekord neve
gyakorlat.and. – névszerver – ez most önmagára mutat
rendszergazda.gyakorlat.and. – e-mail cím
szériaszám
slave frissítési idő
slave mennyi idő múlva próbálkozzon újra, ha sikertelen volt
a zóna lejár ekkor
egy feloldó (rezolver) mennyi ideig tartsa elérhetetlennek, ha elérhetetlen volt

Fordított zónafájl
A zóna és a nevek IP-címekké feloldásának beállítása után szükség van egy fordított zónára is. A fordított zóna segítségével a DNS fel tudja oldani a címet névvé.

Szerkessze az /etc/bind/named.conf.local fájlt, és vegye fel a következőket:
sudo nano /etc/bind/named.conf.local

zone "1.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/db.192";
};

Most hozzuk létre az /etc/bind/db.192 fájlt:

sudo cp /etc/bind/db.127 /etc/bind/db.192
Szerkesszük az /etc/bind/db.192 fájlt, és módosítsuk ugyanazokat a beállításokat, mint az /etc/bind/db.gyakorlat.and esetén:
sudo nano /etc/bind/db.192

;
; BIND reverse data file for local 192.168.1.XXX net
;
$TTL    604800
@       IN      SOA     ns.gyakorlat.and. rendszergazda.gyakorlat.and. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.
10      IN      PTR     ns.gyakorlat.and.

A fordított zóna létrehozása után indítsuk újra a BIND9 démont:
sudo systemctl restart bind9.service

Állapot lekérdezése: sudo systemctl status bind9.service

Ellenőrizzük, hogy névszerverünk szolgáltatja-e a domaint: dig @localhost gyakorlat.and

Ne felejtsük el a tűzfal szabályt felvenni! ufw allow Bind9

DNS szolgáltatás ellenőrzése:

resolv.conf

A szerver gépen az /etc/resolv.conf fájlba fel kell venni az ip címét is, illetve a saját tartományt! (a példákban eltérőek lehetnek az ip címek mert nem egy konfigról készültek… tehát itt 192.168.1.1 és search gyakorlat.and a helyes!)
sudo nano /etc/resolv.conf
Plusz be kell állítani: /etc/default/bind9 fájlban RESOLVCONF=no helyett RESOLVCONF=yes
sudo nano /etc/default/bind9

sudo nano /etc/netplan/50-cloud-init.yaml
Nyilván itt is 192.168.1.1-van, csak másik konfigról készült a képernyőmentés.

dig

A BIND9 telepítése után használja a dig programot a visszacsatolási felületen, és győződjön meg róla, hogy az figyel az 53-as porton. Adja ki a következő parancsot:

dig -x 127.0.0.1
A parancs kimenetében a következőhöz hasonló sorokat kell látnia:

;; Query time: 1 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)

ping

A ping parancsnak oda-vissza mennie kell: ping 192.168.1.1 és ping gyakorlat.and-nek szintén

named-checkzone

A zónafájlok tesztelésére jó módszer a bind9 csomaggal telepített named-checkzone segédprogram használata. Ez a segédprogram lehetővé teszi a beállítások helyességének ellenőrzését a BIND9 újraindítása és a változtatások életbe lépése előtt.

named-checkzone gyakorlat.and /etc/bind/db.gyakorlat.and
Ha minden megfelelően van beállítva, akkor a következőhöz hasonló kimenetet kell látnia:

zone gyakorlat.and/IN: loaded serial 6
OK
A fordított zóna teszteléséhez adja ki a következőt:

named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.192
A kimenetnek ehhez hasonlónak kell lennie:

zone 1.168.192.in-addr.arpa/IN: loaded serial 3
OK

Ha valamelyik nem OK, akkor újra át kell nézni a config fájlokat! Javítás után ne felejtsük el: sudo systemctl restart bind9.service