LFCA: Osnovni varnostni nasveti za zaščito sistema Linux - 17. del


Zdaj živimo bolj kot kdaj koli prej v svetu, kjer organizacije nenehno zasipajo varnostne kršitve, ki jih spodbuja pridobivanje zelo občutljivih in zaupnih podatkov, ki so zelo dragoceni in prinašajo veliko finančno nagrado.

Presenetljivo je, da večina podjetij kljub visokemu tveganju, da bo trpela zaradi potencialno uničujočega kibernetskega napada, ni dobro pripravljena ali preprosto spregleda rdeče zastave, pogosto s poraznimi posledicami.

Leta 2016 je Equifax doživel katastrofalno kršitev podatkov, kjer so bili po vrsti varnostnih izpadov ukradeni milijoni zelo zaupnih evidenc strank. Podrobno poročilo je nakazovalo, da je bilo kršitev mogoče preprečiti, če bi varnostna skupina pri Equifaxu izvedla ustrezne varnostne ukrepe.

Dejansko so bili nekaj mesecev pred kršitvijo Equifax opozorjeni na morebitno ranljivost na njihovem spletnem portalu, ki bi ogrozila njihovo varnost, toda na žalost opozorilo ni bilo upoštevano s hudimi posledicami. Številne druge velike korporacije so postale žrtve napadov, ki se z vsakim trenutkom še bolj zapletajo.

Ne moremo dovolj poudariti, kako pomembna je varnost vašega sistema Linux. Morda niste odmevna finančna institucija, ki je potencialna tarča kršitev, vendar to ne pomeni, da bi morali razočarati.

Varnost bi vam morala biti na prvem mestu pri nastavitvi strežnika Linux, še posebej, če bo povezan z internetom in bo dostopen na daljavo. Imeti osnovne varnostne veščine je bistvenega pomena za zaščito vašega Linux strežnika.

V tem priročniku se osredotočamo na nekatere osnovne varnostne ukrepe, s katerimi lahko zaščitite svoj sistem pred vsiljivci.

Vektorji kibernetskih napadov

Vsiljivci bodo izkoristili različne tehnike napadov za dostop do vašega Linux strežnika. Preden se poglobimo v nekatere ukrepe za zaščito vašega sistema, izkoristimo nekatere pogoste vektorje napadov, ki jih heker lahko uporabi za vdor v sisteme.

Napad s surovo silo je napad, pri katerem heker s poskusi in napakami ugane uporabniške poverilnice za prijavo. Običajno bo vsiljivec uporabljal avtomatizirane skripte za neprekinjeno pridobivanje vstopa, dokler ne dobimo prave kombinacije uporabniškega imena in gesla. Ta vrsta napada je najučinkovitejša tam, kjer se uporabljajo šibka in zlahka uganljiva gesla.

Kot smo že omenili, šibke poverilnice, kot so kratka in zlahka uganljiva gesla, kot je geslo1234, predstavljajo potencialno tveganje za vaš sistem. Krajše in manj zapleteno je geslo, večje so možnosti, da bo vaš sistem ogrožen.

Lažno predstavljanje je tehnika socialnega inženiringa, pri kateri napadalec pošlje žrtvi e-pošto, za katero se zdi, da prihaja iz legitimne institucije ali nekoga, s katerim poznate ali poslujete.

Običajno e-poštno sporočilo vsebuje navodila, ki žrtev pozovejo k razkritju občutljivih podatkov ali pa vsebujejo povezavo, ki jo usmeri na lažno spletno mesto, ki se predstavlja kot spletno mesto podjetja. Ko se žrtev poskuša prijaviti, napadalec zajame njene poverilnice.

Zlonamerna programska oprema je okrajšava za zlonamerno programsko opremo. Obsega širok spekter podlih aplikacij, kot so virusi, trojanski konj, črvi in izsiljevalska programska oprema, ki so zasnovani tako, da se hitro širijo in v zameno za odkupnino zadržijo talca sistema žrtve.

Takšni napadi so lahko izčrpavajoči in lahko ohromijo poslovanje organizacije. Nekatere zlonamerne programe lahko vstavite v dokumente, kot so slike, videoposnetki, Word ali dokumenti PowerPoint, in jih zapakirate v e-poštno sporočilo z lažnim predstavljanjem.

DoS napad je napad, ki omejuje ali vpliva na razpoložljivost strežnika ali računalniškega sistema. Heker preplavi strežnik s prometnimi ali ping-paketi, zaradi katerih je strežnik uporabnikom dalj časa nedostopen.

Napad DDoS (porazdeljena zavrnitev storitve) je neke vrste DoS, ki uporablja več sistemov, ki tarčo preplavijo s prometom, zaradi katerega ta ni na voljo.

Kratica za jezik strukturiranih poizvedb, SQL je jezik, ki se uporablja za komunikacijo z bazami podatkov. Uporabnikom omogoča ustvarjanje, brisanje in posodabljanje zapisov v zbirki podatkov. Veliko strežnikov shranjuje podatke v relacijskih zbirkah podatkov, ki uporabljajo SQL za interakcijo z bazo podatkov.

Napad vbrizgavanja SQL izkorišča znano ranljivost SQL, zaradi katere strežnik razkrije občutljive podatke zbirke podatkov, ki jih sicer ne bi vbrizgal zlonamerne kode SQL. To predstavlja ogromno tveganje, če zbirka podatkov hrani osebne podatke, kot so številke kreditnih kartic, številke socialnega zavarovanja in gesla.

Napad »človek v sredini«, ki se navadno skrajša kot MITM, vključuje napadalca, ki prestreže informacije med dvema točkama z namenom prisluškovanja ali spreminjanja prometa med obema stranema. Cilj je vohuniti za žrtvijo, pokvariti podatke ali ukrasti občutljive podatke.

Osnovni nasveti za zaščito vašega Linux strežnika

Po pregledu možnih prehodov, ki jih lahko napadalec uporabi za kršitev vašega sistema, si oglejmo nekaj temeljnih ukrepov, ki jih lahko uporabite za zaščito vašega sistema.

O fizični lokaciji in varnosti vašega strežnika se ne razmišlja veliko, če pa boste strežnik uporabljali v lokalnem okolju, bi to običajno začeli.

Pomembno je zagotoviti, da je vaš strežnik varno zaščiten v podatkovnem centru z rezervno močjo, odvečno internetno povezavo in zadostnim hlajenjem. Dostop do podatkovnega centra mora biti omejen samo na pooblaščeno osebje.

Ko je strežnik nastavljen, je prvi korak posodobitev skladišč in paketov aplikacijske programske opreme, kot sledi. Posodobitev paketa popravi vse vrzeli, ki bi se lahko pojavile v obstoječih različicah aplikacij.

Za distribucije Ubuntu/Debian:

$ sudo apt update -y
$ sudo apt upgrade -y

Za distribucije RHEL/CentOS:

$ sudo yum upgrade -y

Požarni zid je aplikacija, ki filtrira dohodni in odhodni promet. Namestiti morate zanesljiv požarni zid, kot je požarni zid UFW, in mu omogočiti, da omogoča le zahtevane storitve in ustrezna vrata.

Na primer, lahko ga namestite v Ubuntu z ukazom:

$ sudo apt install ufw

Ko je nameščen, ga omogočite na naslednji način:

$ sudo ufw enable

Če želite omogočiti storitev, kot je HTTPS, zaženite ukaz;

$ sudo ufw allow https

Lahko pa dovolite ustrezna vrata, ki so 443.

$ sudo ufw allow 443/tcp

Nato znova naložite, da spremembe začnejo veljati.

$ sudo ufw reload

Če želite preveriti stanje požarnega zidu, vključno z dovoljenimi storitvami in odprtimi vrati, zaženite

$ sudo ufw status

Poleg tega razmislite o izklopu vseh neuporabljenih ali nepotrebnih storitev in vrat na požarnem zidu. Če imate več vrat, ki se ne uporabljajo, samo povečate območje napada.

Privzete nastavitve SSH niso varne, zato so potrebne nekatere prilagoditve. Upoštevajte naslednje nastavitve:

  • Onemogočite root uporabnika pri oddaljeni prijavi.
  • Omogočite overjanje SSH brez gesla z uporabo javnih/zasebnih ključev SSH.

Za prvo točko uredite datoteko/etc/ssh/sshd_config in spremenite naslednje parametre, da bodo prikazani, kot je prikazano.

PermitRootLogin no

Ko onemogočite korenskemu uporabniku oddaljeno prijavo, ustvarite običajnega uporabnika in dodelite privilegije sudo. Na primer.

$ sudo adduser user 
$ sudo usermod -aG sudo user 

Če želite omogočiti preverjanje pristnosti brez gesla, najprej pojdite na drug računalnik Linux - po možnosti vaš računalnik in ustvarite par ključev SSH.

$ ssh-keygen

Nato kopirajte javni ključ na strežnik

$ ssh-copy-id [email 

Ko ste prijavljeni, onemogočite preverjanje pristnosti gesla tako, da uredite datoteko/etc/ssh/sshd_config in spremenite prikazani parameter.

PasswordAuthentication no

Pazite, da ne izgubite zasebnega ključa ssh, saj je to edini način, s katerim se lahko prijavite. Shranite ga in ga po možnosti varnostno kopirajte v oblaku.

Na koncu ponovno zaženite SSH, da izvedete spremembe

$ sudo systemctl restart sshd

V svetu z razvijajočimi se kibernetskimi grožnjami bi morala biti varnost zelo pomembna, ko se lotite nastavitve strežnika Linux. V tem priročniku smo izpostavili nekaj osnovnih varnostnih ukrepov, s katerimi lahko okrepite svoj strežnik. V naslednji temi se bomo poglobili in si ogledali dodatne korake, s katerimi lahko okrepite strežnik.