Kako utrditi strežnik Ubuntu 18.04 v 5 preprostih korakih
Linux je dobro znan po tem, da je eden najbolj varnih operacijski sistemi na voljo. Toda to ne pomeni, da lahko računate, da bo čim bolj varen takoj iz škatle. Obstaja nekaj hitrih in preprostih korakov, s katerimi lahko zagotovite, da je vaša platforma še bolj varna.
Tukaj je pet nalog za krepitev varnosti, ki jih je treba izvesti na novo nameščeni platformi Ubuntu Server 18.04.
Varen skupni pomnilnik
Ena od prvih stvari, ki jih morate storiti, je zavarovati skupno spomin uporablja v sistemu. Če ne veste, se lahko skupni pomnilnik uporabi za napad na delujočo storitev. Zaradi tega zavarujte ta del sistemskega pomnilnika. To lahko storite tako, da spremenite /etc/fstab mapa. Takole:
-
Odprite datoteko za urejanje z ukazom:
sudo nano /etc/fstab
-
Dodajte naslednjo vrstico na dno te datoteke:
tmpfs /run/shm tmpfs defaults, noexec, nosuid 0 0
Shranite in zaprite datoteko.
-
Da bodo spremembe začele veljati, znova zaženite strežnik s tem ukazom:
sudo ponovni zagon
Omogoči prijavo SSH samo za določene uporabnike
Za prijavo v oddaljene strežnike Linux uporabite orodje Secure Shell (SSH). Čeprav je SSH privzeto dokaj varen, ga lahko povečate tako, da omogočite prijavo SSH samo za določene uporabnike, na primer, če želite dovoliti samo vnos SSH za uporabnika Jack, z naslova IP 192.168.1.162.
To storite tako:
Odprite okno terminala.
-
Odprite konfiguracijsko datoteko SSH za urejanje s tem ukazom:
sudo nano /etc/ssh/sshd_config
-
Na dnu datoteke dodajte vrstico:
AllowUsers [email protected]
Shranite in zaprite datoteko.
-
Znova zaženite sshd s tem ukazom:
sudo systemctl znova zaženi sshd
Secure Shell bo zdaj dovolil vstop samo uporabnikom Jack z naslova IP 192.168.1.162. Če uporabnik ni Jack poskusi SSH v strežnik, so pozvani k vnosu gesla, vendar geslo ne bo sprejeto (ne glede na to, ali je pravilno) in vstop bo zavrnjen.
Uporabite lahko nadomestne znake, na primer, da omogočite dostop vsem uporabnikom z določenega naslova IP. Če želite vsem uporabnikom v vašem lokalnem omrežju omogočiti dostop do strežnika prek SSH, dodajte naslednjo vrstico:
Dovoli uporabnike *@192.168.1.*
Znova zaženite strežnik SSH in že ste pripravljeni.
Vključite pasico za varnostno prijavo
Čeprav se dodajanje pasice za varnostno prijavo morda ne zdi najučinkovitejši varnostni ukrep, ima prednosti. Na primer, če nezaželeni uporabnik pridobi dostop do vašega strežnika in če vidi, da ste vključili določeno informacije v pasici za prijavo (opozorilo jih na posledice njihovih dejanj), bi lahko dvakrat premislili nadaljevanje. Takole ga lahko nastavite:
Odpri a terminalsko okno.
-
Izdajte ukaz:
sudo nano /etc/issue.net
Uredite datoteko, da dodate ustrezno opozorilo.
Shranite in zaprite datoteko.
-
Onemogoči sporočilo pasice iz sporočila dneva (motd). Odprite terminal in izdajte ukaz:
sudo nano /etc/pam.d/sshd
-
Ko je ta datoteka odprta za urejanje, komentirajte naslednji dve vrstici (dodajte a # na začetek vsake vrstice):
seja neobvezna pam_motd.so motd=/run/motd.dynamic
seja neobvezna pam_motd.so noupdate -
Nato odprite /etc/ssh/sshd_config z ukazom:
sudo nano /etc/ssh/sshd_config
-
Odkomentirajte vrstico (odstranite # simbol):
Pasica /etc/issue.net
Shranite in zaprite to datoteko.
-
Znova zaženite strežnik SSH z ukazom:
sudo systemctl znova zaženi sshd
-
Ko se nekdo prijavi v vaš strežnik s pomočjo SSH, vidi vašo novo dodano pasico, ki ga opozarja na morebitne posledice nadaljnjega ukrepanja.
Omejite dostop do SU
Če ni drugače konfigurirano, lahko uporabniki Linuxa uporabljajo su ukaz spremeniti na drugega uporabnika. Ko to storijo, pridobijo privilegije, dodeljene temu drugemu uporabniku. Torej, če uporabnik A (ki ima omejen dostop do strežnika) uporablja su spremeniti v uporabnika B (ki ima manj omejen dostop do strežnika), uporabnik A je zdaj uporabnik B in strežniku lahko naredi več. Zaradi tega onemogočite dostop do ukaza su. Takole:
-
Ustvarite novo skrbniško skupino na strežniku s tem ukazom:
sudo groupadd admin
-
Dodajte uporabnike v to skupino, na primer, če želite dodati uporabnika Jack skupini. Ukaz za to je:
sudo usermod -a -G skrbniški priključek
Če ste prijavljeni kot uporabnik Jack, odjavite se in se znova prijavite, da bodo spremembe začele veljati.
-
Dovolite dostop do ukaza su skrbniški skupini z ukazom:
sudo dpkg-statoverride --update --add root admin 4750 /bin/su
-
Če se v svoj strežnik Ubuntu prijavite kot uporabnik Jack in poskusite uporabiti ukaz su za preklop na drugega uporabnika, je dovoljeno, ker Jack je član admin. Drugim uporabnikom je onemogočen dostop do ukaza su.
Namesti fail2ban
Fail2ban je sistem za preprečevanje vdorov, ki spremlja datoteke dnevnika in išče določene vzorce, ki ustrezajo neuspešnemu poskusu prijave. Če je določeno število neuspešnih prijav zaznano z določenega naslova IP (v določenem času), fail2ban blokira dostop s tega naslova IP.
Evo, kako namestiti fail2ban:
-
Odprite terminalsko okno in izdajte ta ukaz:
sudo apt-get install fail2ban
-
Imenik /etc/fail2ban vsebuje glavno konfiguracijsko datoteko, jail.conf. V tem imeniku je tudi podimenik, zapor.d. The jail.conf datoteka je glavna konfiguracijska datoteka in zapor.d vsebuje sekundarne konfiguracijske datoteke. Ne urejajte jail.conf mapa. Namesto tega ustvarite novo konfiguracijo, ki spremlja prijave SSH. Vnesite naslednji ukaz:
sudo nano /etc/fail2ban/jail.local
-
V to novo datoteko dodajte naslednjo vsebino:
[sshd]
omogočeno = res
vrata = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3Ta konfiguracija omogoča zapor, nastavi vrata SSH za spremljanje na 22, uporablja filter sshd in nastavi datoteko dnevnika za nadzor.
Shranite in zaprite to datoteko.
-
Znova zaženite fail2ban z ukazom:
sudo systemctl ponovni zagon fail2ban
-
Če poskusite Secure Shell v ta strežnik in trikrat ne uspete prijaviti (nastavljeno kot privzeto z fail2ban), je dostop blokiran iz IP naslov iz katerega delate.