![A Chrome inkognitólapjainak zárolása iPhone-on](/f/b8c909c288cd32a5b79d2ccc2f306318.jpg?width=100&height=100)
Ez az oktatóanyag végigvezeti Önt az első alapvető lépéseken, amelyeket új telepítéskor kell konfigurálnia Ubuntu szerver biztonságának és megbízhatóságának növelése érdekében.
Az ebben a témakörben ismertetett konfigurációk szinte minden Ubuntu szerverrendszernél megegyeznek, tekintettel az alapul szolgáló operációs rendszer platformjára, függetlenül attól, hogy Ubuntu csupasz fém szerverre, privát virtuális gépre vagy VPS nyilvános felhőben kinyomtatott virtuális gépre van telepítve.
Az első lépés, amire vigyáznia kell a friss telepítés esetén Ubuntu szerver vagy új telepítve Ubuntu VPS annak biztosítása, hogy a rendszer és a rendszer összes összetevője, például a rendszermag, a alkalmas csomagkezelő és minden más telepített csomag naprakész a legújabb verziókkal és biztonsági javítások.
Az Ubuntu szerver frissítéséhez jelentkezzen be a szerver konzoljába root jogosultságú fiókkal vagy közvetlenül rootként, és futtassa az alábbi parancsokat a frissítési és frissítési folyamat végrehajtásához.
$ sudo apt frissítés
A frissítési parancs futtatása után látni fogja a frissítési folyamathoz rendelkezésre álló csomagok számát és a csomagok frissítéseinek listázására használt parancsot.
$ sudo apt list -frissíthető.
Miután megnézte a frissíthető csomagok listáját, adja ki az alábbi parancsot a rendszerfrissítési folyamat elindításához.
$ sudo apt frissítés.
Annak érdekében, hogy távolítsa el az összes helyileg letöltött deb csomagot és minden mást apt-get cache, hajtsa végre az alábbi parancsot.
$ sudo apt autoremove. $ sudo apt tiszta.
Alapértelmezés szerint biztonsági intézkedésként a root fiók teljesen le van tiltva az Ubuntuban. Ahhoz, hogy új fiókot hozzon létre a rendszeren, jelentkezzen be a rendszerbe a root jogosultságokkal rendelkező felhasználóval, és hozzon létre egy új fiókot az alábbi paranccsal.
Ez az új fiók root jogosultságokkal fog rendelkezni a címen keresztül sudo parancs és rendszergazdai feladatok ellátására szolgálnak. Győződjön meg róla, hogy erős jelszót állított be a fiók védelmére. Kövesd a felhasználó hozzáadása kérje a felhasználói adatok és jelszó beállítását.
$ sudo adduser ubuntu_user.
Ha ezt a fiókot egy másik rendszergazdához rendeli hozzá, a következő parancs kiadásával kényszerítheti a felhasználót a jelszó megváltoztatására az első bejelentkezési kísérlet során.
$ sudo chage -d0 ubuntu_user.
Az új hozzáadott felhasználó egyelőre nem végezhet adminisztrációs feladatokat a sudo segédprogramon keresztül. Ha adminisztrátori jogosultságokkal kívánja ellátni ezt az új felhasználói fiókot, akkor fel kell vennie a felhasználót a „sudo”Rendszercsoportot az alábbi parancs kiadásával.
$ sudo usermod -a -G sudo ubuntu_user.
Alapértelmezés szerint a „sudo”Csoport root parancsokkal hajthat végre parancsokat a (z) keresztül sudo segédprogram. A Sudo parancsot a végrehajtáshoz szükséges parancs írása előtt kell használni, amint azt az alábbi példa is mutatja.
$ sudo apt install package_name.
Tesztelje, hogy az új felhasználó rendelkezik -e root jogosultságokkal, jelentkezzen be a rendszerbe, és futtassa a találó frissítés parancs előtagja sudo.
$ su - ubuntu_user. $ sudo apt frissítés.
Általában a gép gazdagépneve a rendszer telepítési folyamata során vagy a VPS felhőben történő létrehozásakor kerül beállításra. Meg kell azonban változtatnia a gép nevét, hogy jobban tükrözze a szerver célállomását, vagy jobban leírja annak végső célját.
Egy nagyvállalatnál a gépeket összetett elnevezési sémákról nevezték el, hogy könnyen azonosítani tudják a gépet az adatközpont állványain. Például, ha az Ubuntu gépe levelezőszervert fog üzemeltetni, a gép nevének tükröznie kell ezt a tényt, és beállíthatja a gép gazdagépnevét mx01.mydomain.lan, például.
A gép gazdagépnevének részleteinek megjelenítéséhez futtassa a következő parancsot.
$ hostnamectl.
A gép nevének megváltoztatásához adjon ki problémát hostnamectl parancs az új névvel, amelyet a gépéhez konfigurál, amint azt az alábbi részlet illusztrálja.
$ sudo hostnamectl set-hostname tecmint.
Ellenőrizze a rendszer új nevét az alábbi parancsok egyikével.
$ hostname. $ hostname -s. $ cat /etc /hostname
Az Ubuntu szerver rendszerbiztonsági fokának növeléséhez állítsa be az SSH nyilvános kulcsos hitelesítését egy helyi fiókhoz. Az SSH kulcspár létrehozásához a nyilvános és a privát kulcs, egy kulcshossz megadásával, például 2048 bit, hajtsa végre a következő parancsot a szerverkonzolon.
Győződjön meg arról, hogy bejelentkezett a rendszerbe azzal a felhasználóval, aki beállítja az SSH kulcsot.
$ su - ubuntu_user. $ ssh -keygen -t RSA -b 2048.
Amíg a kulcs létrejön, a rendszer felkéri a hozzáadásra jelszó a kulcs rögzítése érdekében. Megadhat egy erős jelszót, vagy hagyhatja üresen a jelszót, ha SSH -kiszolgálón keresztül szeretné automatizálni a feladatokat.
Az SSH kulcs létrehozása után az alábbi parancs végrehajtásával másolhatja a nyilvános kulcsot egy távoli szerverre. A nyilvános kulcs távoli SSH -kiszolgálóra történő telepítéséhez szüksége lesz egy távoli felhasználói fiókra, megfelelő jogosultságokkal és hitelesítő adatokkal, hogy bejelentkezzen a távoli szerverre.
$ ssh-copy-id [e -mail védett]_szerver.
Lehetővé kell tennie, hogy SSH -n keresztül automatikusan bejelentkezzen a távoli szerverre a nyilvános kulcs hitelesítési módszerrel. Az SSH nyilvános kulcsos hitelesítés használatakor nem kell hozzáadnia a távoli felhasználói jelszót.
Miután bejelentkezett a távoli szerverre, elkezdheti végrehajtani a parancsokat, mint pl w parancs az ssh távoli bejelentkezett felhasználók listázásához, amint az az alábbi képernyőképen látható.
A távoli SSH -munkamenet bezárásához írja be az exit parancsot a konzolba.
$ ssh [e -mail védett]_szerver. $ w. $ kijárat.
Ha meg szeretné tekinteni a nyilvános SSH -kulcs tartalmát annak érdekében, hogy manuálisan telepítse a kulcsot egy távoli SSH -kiszolgálóra, adja ki a következő parancsot.
$ cat ~/.ssh/id_rsa.pub.
Az SSH démon védelme érdekében módosítsa az alapértelmezett SSH portszámot 22 véletlenszerű portra, magasabb, mint 1024, és tiltsa le a távoli SSH -hozzáférést a root fiókhoz jelszóval vagy kulccsal, nyissa meg az SSH -kiszolgáló fő konfigurációs fájlját, és hajtsa végre a következő módosításokat.
$ sudo vi/etc/ssh/sshd_config.
Először keresse meg a megjegyzett sort #Port22 és adjon hozzá egy új sort alatta (ennek megfelelően cserélje ki a hallgatási port számát):
Port 2345.
Ne zárja be a fájlt, görgessen lefelé, és keresse meg a sort #PermitRootLogin igen, szüntesse meg a megjegyzést a sor eltávolításával # jel (hashtag) a sor elejétől, és módosítsa a sort úgy, hogy az az alábbi részletben látható legyen.
PermitRootLogin sz.
Ezt követően indítsa újra az SSH -kiszolgálót az új beállítások alkalmazásához, és tesztelje a konfigurációt úgy, hogy az új portszámon keresztül megpróbál bejelentkezni egy távoli gépről ebbe a kiszolgálóba a root fiókkal. Korlátozni kell a root fiókhoz való hozzáférést SSH -n keresztül.
$ sudo systemctl indítsa újra az sshd fájlt.
Ezenkívül fuss netstat vagy ss parancs és szűrje a kimenetet grep parancs az SSH kiszolgáló új hallgatási portszámának megjelenítéséhez.
$ sudo ss -tlpn | grep ssh. $ sudo netstat -tlpn | grep ssh.
Vannak olyan helyzetek, amikor automatikusan szeretné válassza le az összes távoli SSH -kapcsolatot egy bizonyos tétlenségi idő után létrejön a szerverén.
A funkció engedélyezéséhez hajtsa végre az alábbi parancsot, amely hozzáadja a TMOUT bash változót a fiókjába .bashrc rejtett fájlt, és a felhasználó nevével létrehozott minden SSH-kapcsolatot le kell bontani vagy meg kell szakítani 5 perc tétlenség után.
$ echo 'TMOUT = 300' >> .bashrc.
Fuss farokparancs hogy ellenőrizze, hogy a változó helyesen lett -e hozzáadva a végén .bashrc fájlt. Mostantól minden további SSH -kapcsolat automatikusan leáll 5 perc tétlenség után.
$ farka .bashrc.
Az alábbi képernyőképen a távoli SSH munkamenet a drupal gépről az Ubuntu szerverre az ubuntu_user fiókon keresztül elévült, és 5 perc elteltével automatikusan kijelentkezik.
Minden szervernek szüksége van egy jól konfigurált tűzfalra a rendszer hálózati szintű védelme érdekében. Az Ubuntu szerver használja UFW alkalmazás az iptables szabályainak kezelésére a szerveren.
Ellenőrizze az UFW tűzfal alkalmazás állapotát az Ubuntuban az alábbi parancsok kiadásával.
$ sudo systemctl állapot ufw. $ sudo ufw állapot.
Általában az UFW tűzfal démon fut és fut az Ubuntu szerverén, de a szabályokat alapértelmezés szerint nem alkalmazzák. Mielőtt engedélyezné az UFW tűzfal házirendjét a rendszerében, először hozzá kell adnia egy új szabályt, amely lehetővé teszi, hogy az SSH -forgalom áthaladjon a tűzfalon a megváltozott SSH -porton keresztül. A szabály az alábbi parancs végrehajtásával adható hozzá.
$ sudo ufw 2345/tcp engedélyezése.
Miután engedélyezte az SSH forgalmat, a következő parancsokkal engedélyezheti és ellenőrizheti az UFW tűzfal alkalmazást.
$ sudo ufw enable. $ sudo ufw állapot.
Új tűzfalszabályok hozzáadásához a kiszolgálón később telepített egyéb hálózati szolgáltatásokhoz, mint pl HTTP -kiszolgáló, levelezőszerver vagy más hálózati szolgáltatások, használja az alábbi tűzfal -parancsokat útmutató.
$ sudo ufw engedélyezi a http #allow http forgalmat. $ sudo ufw engedélyezi a proto tcp -t bármelyik portról 25,443 # engedélyezi a https és az smtp forgalmat.
Az összes tűzfalszabály listázásához futtassa az alábbi parancsot.
$ sudo ufw állapot részletes.
Az Ubuntu szerver órájának és más kapcsolódó időbeállítások vezérléséhez vagy lekérdezéséhez hajtsa végre timedatectl parancs érvelés nélkül.
A szerver időzóna beállításainak módosításához először hajtsa végre timedatectl parancs list-timezones argumentummal listázza az összes rendelkezésre álló időzónát, majd állítsa be a rendszer időzónáját az alábbi részlet szerint.
$ sudo timedatectl $ sudo timedatectl list-timezones $ sudo timedatectl set-timezone Europe/Vienna.
Az új systemd-timesyncd A systemd démon kliens használható az Ubuntu -ban annak érdekében, hogy pontos időt biztosítson a szerver számára a hálózaton keresztül, és szinkronizálja az időt egy felsőbb szintű társszerverrel.
A Systemd ezen új funkciójának alkalmazásához módosítsa systemd-timesyncd démon konfigurációs fájlt, és adja hozzá a földrajzilag legközelebbi NTP -kiszolgálókat az NTP utasítássorhoz, amint az az alábbi fájlrészletben látható:
$ sudo nano /etc/systemd/timesyncd.conf.
Adja hozzá a következő konfigurációt timesyncd.conf fájl:
[Idő] NTP = 0.pool.ntp.org 1.pool.ntp.org. FallbackNTP = ntp.ubuntu.com.
A legközelebbi földrajzilag NTP -kiszolgálók hozzáadásához tekintse meg az NTP -készletprojekt -kiszolgálók listáját az alábbi címen: http://www.pool.ntp.org/en/
Ezt követően indítsa újra a Systemd timesync démont, hogy tükrözze a változásokat, és ellenőrizze a démon állapotát az alábbi parancsok futtatásával. Az újraindítás után a démon elkezdi szinkronizálni az időt az új ntp szerver társával.
$ sudo systemctl indítsa újra a systemd-timesyncd.service $ sudo systemctl állapot systemd-timesyncd.service.
Annak érdekében, hogy az összes TCP és UDP hálózati szolgáltatás listája alapértelmezés szerint működjön az Ubuntu kiszolgálón, hajtsa végre a ss vagy netstat parancs.
$ sudo netstat -tulpn. VAGY. $ sudo ss -tulpn.
Bámulva Ubuntu 16.10 kiadás, az alapértelmezett DNS -feloldó vezérli most systemd-megoldott szolgáltatás, amint azt a netstat vagy ss parancsokat.
Azt is ellenőriznie kell systemd-megoldott szolgáltatás állapotát a következő parancs futtatásával.
$ sudo systemctl állapot systemd-resol.service.
Az systemd-megoldott a szolgáltatás köt minden engedélyezett hálózati interfészen, és hallgat a portokon 53 és 5355 TCP és UDP.
Futás rendszerrel megoldott a DNS -démon gyorsítótárazása egy éles kiszolgálón veszélyes lehet, mivel a rosszindulatú hackerek számos DDOS -támadást hajtanak végre a nem biztonságos DNS -kiszolgálók ellen.
A szolgáltatás leállításához és letiltásához hajtsa végre a következő parancsokat.
$ sudo systemctl állítsa le a systemd-megoldást. $ sudo systemctl letiltja a systemd-resolved-et.
Ellenőrizze, hogy a szolgáltatást leállították -e és letiltották -e kibocsátásával ss vagy netstat parancs. A rendszer által feloldott figyelőportokat, az 53-as és 5355-ös TCP-t és UDP-t nem szabad felsorolni a netstat vagy az ss parancs kimenetében, ahogy az alább látható.
Ismét újra kell indítania a gépet az összes rendszer által feloldott démonszolgáltatás teljes letiltásához és az alapértelmezett visszaállításához /etc/resolv.conf fájlt.
$ sudo ss -tulpn. $ sudo netstat -tulpn. $ sudo systemctl újraindítás.
Bár letiltott néhány nem kívánt hálózati szolgáltatást a kiszolgálón való futtatáshoz, a rendszerben más szolgáltatások is telepítve vannak és futnak, mint pl. lxc folyamat és snapd szolgáltatás. Ezek a szolgáltatások könnyen felismerhetők a ps, tetején vagy pstree parancsokat.
$ sudo ps aux. $ sudo felső. $ sudo pstree.
Ha nem fogja használni az LXC konténer virtualizációt a szerverén, vagy nem kezdi el a szoftver telepítését Ha a Snap csomagkezelőn keresztül csomagolták, akkor az alábbiak kiadásával teljesen tiltsa le és távolítsa el ezeket a szolgáltatásokat parancsokat.
$ sudo apt autoremove --purge lxc-common lxcfs. $ sudo apt autoremove --purge snapd.
Ez minden! Most az Ubuntu szerver készen áll az egyedi hálózati szolgáltatásokhoz szükséges további szoftverek telepítésére, vagy alkalmazások, például webszerver, adatbázis -kiszolgáló, fájlmegosztó szolgáltatás vagy más speciális telepítése és konfigurálása alkalmazások.