Nesigurna autentifikacija x window ubuntu. Opasne ranjivosti Linuxa. Ranjivosti u osnovnim aplikacijama

Naravno, to možemo reći Linux više sigurno(zaštićeno) nego Windows. Sigurnost V Linux ugrađena, a ne zašrafljena negdje sa strane, kao što je implementirano u Windows-u. Sigurnost sistemima Linux pokriva područje od kernela do radne površine, ali postoje šanse da hakeri oštete vaš početni direktorij (/home).

Vaši bajtovi fotografija, kućni video, dokumenti i podaci o kreditnoj kartici ili novčaniku najvredniji su dio informacija sadržanih na računaru. Naravno, Linux nije podložan svim vrstama internetskih crva i virusa za Windows. Ali napadači mogu pronaći način da pristupe vašim podacima u vašem kućnom direktoriju.

Nakon što ste pripremili svoj stari računar ili HDD formatiranje prije prodaje, mislite li da će biti dovoljno? Postoji mnogo modernih alata za oporavak podataka. Haker može lako povratiti vaše podatke tvrdi disk, bez obzira na OS na kojem ste radili.

Na ovu temu, prisjećam se iskustva jedne kompanije u otkupu polovnih računara i diskova. U toku svojih aktivnosti donijeli su presudu da 90% prethodnih vlasnika svog računara nije na pravi način pobrinulo za čišćenje svojih medija za skladištenje podataka prije nego što su ga prodali. I izvukli su vrlo osjetljive bajtove podataka. Zastrašujuće je i zamisliti da će negdje u kutijama vašeg tvrdog diska biti informacija za prijavu u vašu internet banku ili online novčanik.

Započnite s osnovama sigurnosti Linuxa

Pređimo na osnove (), koje će odgovarati gotovo svakome
Linux distribucije.

Hajde da šifriramo sistem datoteka u Linuxu za potpuniju sigurnost Linuxa

Prilagođene lozinke neće riješiti problem osim ako stvarno ne želite da niko ne može pročitati vaš početni direktorij (/home) ili određenu veličinu bajta. To možete učiniti na način da čak ni korisnik s najvišim root privilegijama neće moći zavući nos u to.

Izbrišite osjetljive datoteke tako da ih niko drugi ne može oporaviti

Ako odlučite da prodate ili poklonite svoj računar ili medij za skladištenje, nemojte misliti da će jednostavno formatiranje trajno izbrisati vaše datoteke. Možete instalirati alat za sigurno brisanje na vaš Linux, koji uključuje srm uslužni program za sigurno brisanje datoteka.

Također, ne zaboravite na zaštitni zid u Linux kernelu. Uključeno u sve Linux distribucije uključuje lptables, koji je dio jezgre. Lptables vam omogućava filtriranje mrežnih paketa. Naravno, ovaj uslužni program možete konfigurirati u terminalu. Ali ova metoda je izvan mogućnosti mnogih, uključujući i mene. Tako da ga instaliram i konfigurišem lako kao da igram igricu.

Kao i svi operativni sistemi, Linux je sklon gomilanju svih vrsta smeća prilikom pokretanja raznih aplikacija. I nije Linux kriv, jer razne aplikacije, kao što su pretraživači, uređivači teksta, pa čak i video plejeri, ne rade na nivou kernela i akumuliraju privremene fajlove. Možete instalirati uslužni program BleachBit za univerzalno uklanjanje smeća.

Anonimno surfanje, skrivanje vašeg IP-a - vrlo važno za sigurnost vašeg identiteta pod Linuxom


U zaključku, želim vam reći o anonimnom surfanju webom. Ponekad se desi da je to neophodno, kao što radim kada, krišom od supruge, posećujem sajtove sa erotskim sadržajem. Naravno da sam se šalio.

Napadačima će biti teško doći do vas ako ne mogu odrediti vašu lokaciju. Pokrivamo naše staze jednostavnim podešavanjem dva uslužna programa koji rade zajedno pod nazivom privoxy i tor.

Po mom mišljenju, pridržavanje i konfigurisanje svih ovih pravila očuvaće vas i vaš računar 90% sigurnim.

P.S. Koristim oblak koji se zove dropbox. U njega pohranjujem svoje stare i nove, još neobjavljene članke. Pogodno je imati pristup vašim datotekama s bilo kojeg mjesta u svijetu i na bilo kojem računaru. Kada pišete članke za web stranicu u uređivač teksta, ja čuvam svoje tekstualni dokumenti sa lozinkom i tek nakon toga ga postavljam na dropbox server. Nikada ne smijete zanemariti dodatnu sigurnost, koja će vam samo igrati na ruku.

Pozdrav svima... Svi administratori početnici pod Ubuntu-om imaju zadatak da podese mrežna sučelja (mreža, mrežne kartice).U ovom članku ću vam pokazati kako se to radi... Radi se vrlo jednostavno...

Ako ste nekako propustili postavljanje mreže ili ste vidjeli poteškoće u instalaciji distribucije, sada ćemo to učiniti ručno. I tako imamo instaliranu distribuciju i čeka nas u napadu... Moramo konfigurisati 2 mrežne kartice..... Jedan od nas se suočava sa provajderom a drugi se suočava lokalna mreža. Hajde da se odmah dogovorimo i odredimo svoja sučelja i adrese.

eth0— 192.168.0.1 (recimo da je ovo adresa koju je izdao provajder) Interfejs koji gleda na Internet (provajder)
eth1— 10.0.0.1 (adresa koju želimo da damo ovom interfejsu) Interfejs okrenut prema lokalnoj mreži

Prije svega, provjerimo koje smo interfejse već pokrenuli naredbom ifconfig Vidjet ćete ovako nešto (samo sa vašim podacima umjesto xxxxx)

Eth0 Link encap:Ethernet HWaddr hh:hh:hh:hh:hh:hh inet addr:xxx.xxx.xxx.xxx Bcast:xxx.xxx.xxxx.xxx Mask:255.255.255.252 inet6 addr: xxx: xxx :xxx:xxxx/64 Opseg:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX paketi:31694097 greške:0 ispušteni:0 prekoračenja:0 okvir:0 TX paketi:15166512 greške:0 ispušteni:0 carriru 0 sudara: 0 Txqueuelun: 100 RX bajtovi: 2215593127 (2,2 hb) TX bajti: 1577680249 (1,5 GB) Memorija: B8820000-B8840000 ETH1 Link ENCAP: Ethernet HwadDr XX: XX: XX: XX: XX: XX INET Addr: 10.0. 0.1 Bcast:10.0.0.255 Mask:255.255.255.0 inet6 xxxx: xxxx::xxxx:xxxf:xxx:xxx/64 Opseg:Link UP BROADCAST RUNNING MULTICAST MTU:1500 pad14 paketa:0 ispuštenih14 metričkih grešaka:0. :0 okvir:0 TX paketi:21539638 greške:0 ispušteno:0 prekoračenja:0 nosilac:0 kolizije:0 txqueuelen:100 RX bajtova:1262641422 (1.2 GB) TX bajtovi:1922838889 (1.9b8080b link) Memory0080b80b encap:Local loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Opseg:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX paketi:3823 greške:0: dropped:0 frameruns 0 TX paketa:3823 greške:0 ispušteno:0 prekoračenja:0 nosilac:0 kolizije:0 txqueuelen:0 RX bajtova:717663 (717,6 KB) TX bajtova:717663 (717,6 KB)

Ako se jedan od interfejsa ne prikaže, onda je u redu. Samo je onemogućeno, upalimo ga komandom sudo ifconfig eth1 up(umjesto eth1 upišite svoj interfejs, ako imate 2 mrežne kartice, onda postoje samo 2 interfejsa: eth0 i eth1) I tako omogućavamo naš interfejs:

sudo ifconfig eth1 up

I tako počnimo sa postavljanjem.

Dodijelimo eth0 interfejsu IP adresu koju je izdao provajder sa sljedećom naredbom:

sudo ifconfig eth1 inet 192.168.0.2

I navedite mrežnu masku:

sudo ifconfig eth0 netmask 255.255.255.0

Postavke napravljene na ovaj način se resetiraju nakon ponovnog pokretanja servera.
Kako biste spriječili da se to dogodi, morate promijeniti postavke u konfiguracijski fajl mrežna sučelja. Za ovo su vam potrebna Root prava. Hajde da dobijemo prava Root sa sljedećom komandom:

sudo su

Konfiguracijski fajl mrežnih sučelja nalazi se na /etc/network/interfaces Za uređivanje koristimo Nano editor (možete koristiti svoj vlastiti editor) Sviđa mi se Nano

nano /etc/network/interfaces

vidimo sljedeće:

# Ova datoteka opisuje mrežna sučelja dostupna na vašem sistemu # i kako ih aktivirati. Za više informacija pogledajte interfejsi(5). # Mrežni interfejs povratne petlje auto lo iface lo inet loopback # Primarno mrežno sučelje//Primarni mrežni interfejs auto eth0//Dodjeljivanje sljedećih atributa mrežnom sučelju iface eth0 inet static//Automatski omogući mrežno sučelje adresa 192.168.0.2//ip adresa naše mrežne kartice (izdaje provajder) mrežna maska ​​255.255.255.0//Mrežna maska ​​u kojoj se nalazi naš IP mreža 192.168.0.0//Mreža cijelog raspona emitirana 192.168.0.255//Maks. broj adresa gateway 192.168.0.1//Gateway # opcije dns-* su implementirane od strane paketa resolvconf, ako je instaliran

Potrebno ga je svesti na sljedeći oblik

# Ova datoteka opisuje mrežna sučelja dostupna na vašem sistemu # i kako ih aktivirati. Za više informacija pogledajte interfejsi(5). # Loopback mrežni interfejs auto lo iface lo inet loopback # Primarno mrežno sučelje auto eth0 iface eth0 inet statička adresa 192.168.0.2 mrežna maska ​​255.255.255.0 mreža 192.168.0.0 gateway 192.16 su implementirane opcije d. ako je instaliran dns-nameservers 192.168.22.22 192.168.33.33 #Sučelje koje gleda u lokalnu mrežu auto eth1 iface eth1 inet static adresa 10.0.0.1 mrežna maska ​​255.255.255.0

Sačuvajte promjene klikom Ctrl tipke+ O i izađite pritiskom na Ctrl + X

Adrese DNS servera se mogu podesiti u datoteci /etc/network/interfaces, ali adresama DNS servera u Ubuntu-u se upravlja preko datoteke /etc/resolv.conf; za mene to izgleda ovako:

server imena xx.xx.xx.xx server imena xx.xx.xx.xx

Konfigurišite DNS; da biste to uradili, unesite sledeću naredbu u red:

Sudo nano /etc/resolv.conf # IP adrese servera imena DNS servera vašeg provajdera hh.hhh.hhh.hhh servera imena hhh.hhh.hh.hhh

Sačuvajmo Ctrl+O i izlazimo Ctrl +x također morate ponovo pokrenuti mrežu sa sljedećom komandom.

Svi znamo da je operaciona sala Linux sistem mnogo sigurniji od Windowsa zahvaljujući svojoj arhitekturi i posebnom sistemu za distribuciju pristupa između korisnika. Ali i programeri su ljudi, ma koliko nam se to sviđalo, i oni griješe. I zbog ovih grešaka nastaju rupe u sistemu kroz koje napadači mogu zaobići sigurnosne sisteme.

Ove greške se nazivaju ranjivosti i mogu se pojaviti u razni programi pa čak iu samoj srži sistema, narušavajući njegovu sigurnost. Iza poslednjih godina Popularnost Linuxa je počela da raste i istraživači bezbednosti posvećuju više pažnje ovom sistemu. Otkriva se sve više ranjivosti, a zahvaljujući otvorenom izvornom kodu mogu se vrlo brzo eliminirati. U ovom članku ćemo pogledati najopasnije Linux ranjivosti koje su otkrivene u posljednjih nekoliko godina.

Prije nego što pređemo na listu ranjivosti, važno je razumjeti šta su i šta jesu. Kao što sam rekao, ranjivost je greška u programu koja omogućava korisniku da koristi program na način koji nije namijenio njegov programer.

To može biti nedostatak provjere ispravnosti primljenih podataka, provjere izvora podataka i, što je najzanimljivije, veličine podataka. Najopasnije ranjivosti su one koje omogućavaju izvršavanje proizvoljnog koda. IN ram memorija svi podaci imaju određenu veličinu i program je dizajniran da upisuje podatke od korisnika određene veličine u memoriju. Ako korisnik prosledi više podataka, trebalo bi da izbaci grešku.

Ali ako programer napravi grešku, podaci će prepisati programski kod, a procesor će pokušati da ga izvrši, stvarajući na taj način ranjivosti prelivanja bafera.

Također, sve ranjivosti se mogu podijeliti na lokalne, koje rade samo ako haker ima pristup lokalni računar i daljinski, kada je dovoljan pristup putem Interneta. Sada pređimo na listu ranjivosti.

1.Dirty COW

Prva na našoj listi biće nova ranjivost koja je otkrivena ove jeseni. Ime Dirty COW je skraćenica za Kopiraj na pisanje. Došlo je do greške u sistemu datoteka tokom kopiranja-upisivanja. Ovo je lokalna ranjivost koja omogućava svakom neprivilegovanom korisniku da dobije pun pristup sistemu.

Ukratko, da biste iskoristili ranjivost potrebna su vam dva fajla, jedan je upisan samo u ime superkorisnika, a drugi za nas. Počinjemo da upisujemo podatke u našu datoteku mnogo puta i čitamo iz datoteke superkorisnika, do kraja određeno vrijeme doći će vrijeme kada se baferi oba fajla pomiješaju i korisnik će moći upisati podatke u datoteku koju ne može upisati, dajući sebi na taj način root prava u sistemu.

Ranjivost je bila u kernelu oko 10 godina, ali je nakon otkrića brzo otklonjena, iako još uvijek postoje milioni Andoid uređaja u kojima kernel nije ažuriran i ne razmišlja, a gdje se ova ranjivost može iskoristiti. Šifra ranjivosti je bila CVE-2016-5195.

2. Glibc ranjivost

Šifra ranjivosti je bila CVE-2015-7547. Ovo je jedna od ranjivosti o kojima se najviše govori među projektima otvorenog koda. U februaru 2016. godine otkriveno je da Glibc biblioteka ima veoma ozbiljnu ranjivost koja omogućava napadaču da izvrši svoj kod na udaljenom sistemu.

Važno je napomenuti da je Glibc implementacija standardne biblioteke C i C++, koja se koristi u većini Linux programi, uključujući usluge i programske jezike kao što su PHP, Python, Perl.

Došlo je do greške u kodu za raščlanjivanje odgovora DNS servera. Dakle, ranjivost bi mogla biti iskorištena od strane hakera čijem su DNS-u pristupile ranjive mašine, kao i od strane onih koji izvode MITM napad. Ali ranjivost je dala potpunu kontrolu nad sistemom

Ranjivost je bila u biblioteci od 2008. godine, ali nakon otkrivanja, zakrpe su objavljene prilično brzo.

3.Heartbleed

2014. godine otkrivena je jedna od najozbiljnijih ranjivosti u smislu razmjera i posljedica. Prouzrokovana je greškom u modulu za mrtvu dušu OpenSSL programa, pa otuda i naziv Heartbleed. Ranjivost je omogućila napadačima da dobiju direktan pristup do 64 kilobajta RAM-a servera; napad se mogao ponavljati dok se sva memorija ne pročita.

Iako je popravka objavljena vrlo brzo, pogođene su mnoge stranice i aplikacije. U stvari, sve stranice koje su koristile HTTPS za osiguranje prometa bile su ranjive. Napadači su mogli dobiti korisničke lozinke, njihove lične podatke i sve što je bilo u memoriji u trenutku napada. Šifra ranjivosti je bila CVE-2014-0160.

4.Stagefright

Ako je ranjivost dobila kodno ime, to jasno znači da zaslužuje pažnju. Ranjivost Stagerfight nije izuzetak. Istina, ovo zapravo nije problem s Linuxom. Stagefright je biblioteka za obradu multimedijalnih formata u Androidu.

Implementiran je u C++, što znači da zaobilazi sve Java sigurnosne mehanizme. U 2015. godini otkrivena je čitava grupa ranjivosti koje su omogućile daljinsko izvršavanje proizvoljnog koda na sistemu. Evo ih: CVE-2015-1538, CVE-2015-1539, CVE-2015-3824, CVE-2015-3826, CVE-2015-3827, CVE-2015-3828 i CVE-2015-3829.

Sve što je napadač trebalo da uradi je da pošalje MMS na ranjivi pametni telefon sa posebno modifikovanim medijskim fajlom, i on bi dobio potpunu kontrolu nad uređajem uz mogućnost pisanja i čitanja podataka sa memorijske kartice. Ranjivost je otklonjena od strane Android programera, ali milioni uređaja i dalje ostaju ranjivi.

5. Ranjivost jezgra nultog dana

Ovo je lokalna ranjivost koja omogućava podizanje privilegija. trenutni korisnik na root zbog greške u sistemu za rad sa kriptografskim podacima kernela pohranjenim u memoriji. Otkriven je u februaru 2016. i pokriva sve kernelove počevši od 3.8, što znači da je ranjivost postojala 4 godine.

Grešku mogu koristiti hakeri ili zlonamjerni softver da poveća njihov autoritet u sistemu, ali je vrlo brzo ispravljen.

6. Ranjivost u MySQL-u

Ova ranjivost je dobila kod CVE-2016-6662 i uticala je na sve dostupne verzije serveri baze podataka MySQL podaci(5.7.15, 5.6.33 i 5.5.52), Oracle baze podataka i klonovi MariaDB i PerconaDB.

Napadači bi mogli dobiti pun pristup sistemu putem SQL upit poslan je kod koji vam je omogućio da zamijenite my.conf svojom verzijom i ponovo pokrenete server. Također je bilo moguće izvršiti zlonamjerni kod sa pravima superkorisnika.

MariaDB i PerconaDB rješenja su objavila zakrpe prilično brzo, Oracle je odgovorio, ali mnogo kasnije.

7. Shellshock

Ova ranjivost je otkrivena 2014. prije nego što je trajala 22 godine. Dodijeljen mu je CVE-2014-6271 i kodnog naziva Shellshock. Ova ranjivost je uporediva po opasnosti sa Heartbleedom, koji već znamo. Uzrokuje ga greška u tumaču komandi Bash, koji je zadani tumač komandi u većini Linux distribucija.

Bash vam omogućava da deklarirate varijable okruženja bez provjere autentičnosti korisnika, ali zajedno možete izvršiti bilo koju naredbu u njima. Ovo je posebno opasno u CGI skriptama, koje podržava većina sajtova. Ne samo da su serveri ranjivi, već i personalni računari korisnika, rutera i drugih uređaja. Zapravo, napadač može izvršiti bilo koju komandu na daljinu; ovo je punopravni daljinski upravljač bez autentifikacije.

Sve verzije Bash-a su pogođene, uključujući 4.3, iako su programeri brzo objavili ispravku nakon što je problem otkriven.

8. Quadrooter

Ovo je čitav niz ranjivosti u Androidu, koji je otkriven u avgustu 2016. Dobili su kodove CVE-2016-5340, CVE-2016-2059, CVE-2016-2504, CVE-2016-2503. Više od 900 miliona je pogođeno greškom Android uređaji. Sve ranjivosti su pronađene u upravljačkom programu Qualcomm ARM procesora i sve se one mogu koristiti za dobijanje root-a pristup uređaju.

Kao i DirtyCOW, ovdje vam nisu potrebne nikakve dozvole, samo instalirajte zlonamjernu aplikaciju i ona će moći dobiti sve vaše podatke i prenijeti ih napadaču.

9. Ranjivost u OpenJDK

Ovo je veoma ozbiljna ranjivost Linux 2016 na OpenJDK Java mašini sa kodom CVE-2016-0636, utiče na sve korisnike koji koriste Oracle Java SE 7 Update 97 i 8 Update 73 i 74 za Windows, Solaris, Linux i Mac OS X. Ovo ranjivost omogućava napadaču da izvrši proizvoljan kod izvan Java mašine ako otvorite posebnu stranicu u pretraživaču sa ranjivom verzijom Jave.

Ovo je omogućilo napadaču da pristupi vašim lozinkama, ličnim podacima, kao i da pokrene programe na vašem računaru. U svemu Java verzije Greška je vrlo brzo ispravljena, postoji od 2013. godine.

10. Ranjivost HTTP/2 protokola

Ovo je čitav niz ranjivosti koje su otkrivene 2016. godine u HTTP/2 protokolu. Dobili su kodove CVE-2015-8659, CVE-2016-0150, CVE-2016-1546, CVE-2016-2525, CVE-2016-1544. Sve implementacije ovog protokola u Apache, Nginx Microsoft, Jetty i nghttp2 bile su ranjive.

Svi oni omogućavaju napadaču da u velikoj mjeri uspori web server i izvrši napad uskraćivanjem usluge. Na primjer, jedna od grešaka je dovela do mogućnosti slanja male poruke, koja je na serveru bila raspakirana u gigabajte. Greška je vrlo brzo otklonjena i stoga nije izazvala veliku buku u zajednici.

Jeste li sigurni?

U ovom članku pogledali smo najopasnije ranjivosti Linuxa iz 2016., 2015. i 2014. godine. Većina njih mogla bi ozbiljno oštetiti sistem ako se ne ispravi na vrijeme. Zahvaljujući otvorenom izvornom kodu, takve ranjivosti Linuxa se efikasno otkrivaju i brzo popravljaju. Samo zapamtite da ažurirate svoj sistem. Problem ostaje samo sa Androidom. Neki uređaji više ne primaju ažuriranja i još uvijek nema rješenja za ovaj problem.

Postoji uobičajena zabluda da su serveri koji koriste Linux OS najsigurniji i zaštićeni od vanjskih upada. Nažalost, to nije slučaj, sigurnost svakog servera zavisi od niza faktora i mjera kojima se ona osigurava i praktično je nezavisna od operativnog sistema koji se koristi.

Odlučili smo da započnemo seriju članaka posvećenih mrežnoj sigurnosti sa Ubuntu Serverom, budući da su rješenja na ovoj platformi od velikog interesa za naše čitatelje i pošto mnogi vjeruju da su Linux rješenja sama po sebi sigurna.

Istovremeno, ruter sa namjenskom IP adresom je „kapija“ u lokalnu mrežu, a samo od administratora će zavisiti da li će ova kapija biti pouzdana barijera ili će se pokazati kao seoska kapija zatvorena noktiju.

Još jedna uobičajena zabluda je rezonovanje u stilu: "kome treba, našem serveru, nemamo ništa zanimljivo." Zaista, vaša lokalna mreža možda neće biti od interesa za napadače, ali oni mogu koristiti hakovani server za slanje neželjene pošte, napade na druge servere, anonimni proxy, ukratko, kao početnu tačku za svoje sumnjive poslove.

A to je već neugodno i može poslužiti kao izvor raznih problema: od provajdera do agencija za provođenje zakona. I o širenju virusa, krađi i uništavanju važna informacija Takođe ne treba zaboraviti, kao i činjenicu da zastoj preduzeća dovodi do prilično opipljivih gubitaka.

Unatoč činjenici da je članak posvećen Ubuntu serveru, prvo ćemo se osvrnuti na opća sigurnosna pitanja koja se podjednako odnose na bilo koju platformu i predstavljaju osnove, bez kojih nema smisla detaljnije raspravljati o ovom pitanju.

Gdje počinje sigurnost?

Ne, sigurnost ne počinje od zaštitnog zida, uopće ne počinje od zaštitnog zida. tehnička sredstva, sigurnost počinje od korisnika. Uostalom, kakva je korist od najhladnijih metalnih vrata koja postavljaju najbolji stručnjaci ako vlasnik ostavi ključ ispod tepiha?

Stoga, prva stvar koju treba da uradite je da izvršite bezbednosnu reviziju. Nemojte se plašiti ove riječi, sve nije tako komplikovano: nacrtajte šematski plan mreže na kojem označite sigurnu zonu, potencijalno opasnu zonu i zonu visoke opasnosti, a također napravite listu korisnika koji imaju (treba da imaju pristup) ovim zonama.

Sigurna zona bi trebala uključivati interni resursi mreže koje nisu dostupne izvana i za koje je prihvatljiv nizak nivo sigurnosti. To mogu biti radne stanice, serveri datoteka itd. uređaji kojima je pristup ograničen na lokalnu mrežu preduzeća.

Potencijalna opasna zona uključuje servere i uređaje koji nemaju direktan pristup vanjskoj mreži, ali čiji su pojedinačni servisi dostupni izvana, na primjer, web i mail serveri koji se nalaze iza firewall-a, ali i dalje opslužuju zahtjeve s vanjske mreže.

Opasna zona bi trebala uključivati ​​uređaje koji su direktno dostupni izvana; u idealnom slučaju, ovo bi trebao biti jedan ruter.

Ako je moguće, potencijalno opasnu zonu treba postaviti u posebnu podmrežu - demilitarizovanu zonu (DMZ), koja je odvojena od glavne mreže dodatnim zaštitnim zidom.

LAN uređaji bi trebali imati pristup samo onim uslugama u DMZ-u koje su im potrebne, kao što su SMTP, POP3, HTTP, a druge veze bi trebale biti blokirane. Ovo će vam omogućiti da pouzdano izolirate napadača ili zlonamjerni softver koji je iskoristio ranjivost u zasebnoj usluzi u demilitariziranoj zoni, uskraćujući im pristup glavnoj mreži.

Fizički, DMZ se može organizirati instaliranjem zasebnog servera / hardverskog firewall-a ili dodavanjem dodatnog mrežna kartica u ruter, ali u potonjem slučaju ćete morati obratiti veliku pažnju na sigurnost rutera. Ali u svakom slučaju, mnogo je lakše osigurati sigurnost jednog servera nego grupe servera.

Sljedeći korak bi trebao biti analiza liste korisnika, da li im je svima potreban pristup DMZ-u i ruteru (sa izuzetkom javnih servisa), posebnu pažnju treba obratiti na korisnike koji se povezuju izvana.

Obično ovo zahtijeva vrlo nepopularan korak primjene politike lozinke. Sve lozinke za korisnike koji imaju pristup kritičnim servisima i imaju mogućnost povezivanja izvana moraju sadržavati najmanje 6 znakova i sadržavati, osim mala slova, znakovi iz dvije od tri kategorije: velika slova, brojevi, neabecedni znakovi.

Osim toga, lozinka ne bi trebala uključivati ​​korisničku prijavu ili njen dio, ne bi trebala sadržavati datume ili imena koja se mogu povezati s korisnikom i, po mogućnosti, ne bi trebala biti riječ iz rječnika.

Dobra je ideja da uđete u praksu mijenjanja lozinki svakih 30-40 dana. Jasno je da takva politika može uzrokovati odbijanje od strane korisnika, ali uvijek treba imati na umu da se lozinke sviđaju 123 ili qwerty ekvivalentno ostavljanju ključa ispod tepiha.

Sigurnost servera - ništa dodatno.

Sada, imajući ideju šta želimo da zaštitimo i od čega, pređimo na sam server. Napravite listu svih usluga i usluga, a zatim razmislite da li su svi potrebni na ovom serveru ili se mogu premjestiti negdje drugdje.

Što je manje usluga, lakše je osigurati sigurnost i manje su šanse da server bude kompromitovan zbog kritične ranjivosti u jednoj od njih.

Konfigurirajte servise koji opslužuju lokalnu mrežu (na primjer, squid) tako da prihvaćaju zahtjeve isključivo s lokalnog sučelja. Što je manje usluga dostupnih eksterno, to bolje.

Skener ranjivosti će biti dobar pomoćnik u osiguranju sigurnosti; treba ga koristiti za skeniranje vanjskog interfejsa servera. Koristili smo demo verziju jednog od najpoznatijih proizvoda - XSpider 7.7.

Skener pokazuje otvoreni portovi, pokušava odrediti tip servisa koji je pokrenut i, ako je uspješan, ranjivosti za nju. Kao što vidite, ispravno konfigurisan sistem je prilično siguran, ali ne biste trebali ostaviti ključ ispod tepiha, prisustvo otvorenih portova 1723 (VPN) i 3389 (RDP, proslijeđeno na terminal server) je dobar razlog da razmislite o svojoj politici lozinke.

Treba razgovarati i o SSH sigurnosti; ovu uslugu obično koriste administratori daljinski upravljač server i od većeg je interesa za napadače. SSH postavke su pohranjene u datoteci /etc/ssh/sshd_config, sve izmjene opisane u nastavku su napravljene na njemu. Prije svega, trebali biste onemogućiti autorizaciju pod root korisnikom; da biste to učinili, dodajte opciju:

PermitRootLogin br

Sada će napadač morati da pogodi ne samo lozinku, već i login, a i dalje neće znati lozinku superkorisnika (nadamo se da se ne poklapa sa vašom lozinkom). Sve administrativne poslove pri povezivanju izvana treba obavljati odozdo sudo prijavljujete se kao neprivilegirani korisnik.

Vrijedi eksplicitno navesti listu dozvoljenih korisnika, a možete koristiti unose poput korisnik@host, koji dozvoljava određenom korisniku da se poveže samo sa navedenog hosta. Na primjer, da biste omogućili korisniku ivanov da se poveže od kuće (IP 1.2.3.4), trebali biste dodati sljedeći unos:

AllowUser [email protected]

Također onemogućite korištenje zastarjelog i manje sigurnog SSH1 protokola, dozvoljavajući samo drugoj verziji protokola, da to učinite, promijenite sljedeći red u obrazac:

Protokol 2

Uprkos svim poduzetim mjerama, i dalje će biti pokušaja povezivanja na SSH i druge javne servise; da biste spriječili pogađanje lozinke, koristite uslužni program fail2ban, koji vam omogućava da automatski zabranite korisnika nakon nekoliko neuspješnih pokušaja prijave. Možete ga instalirati naredbom:

Sudo apt-get install fail2ban

Ovaj uslužni program je spreman za rad odmah nakon instalacije, međutim, savjetujemo vam da odmah promijenite neke parametre; da biste to učinili, izvršite promjene u datoteci /etc/fail2ban/jail.conf. Standardno se kontrolira samo pristup SSH-u i vrijeme zabrane je 10 minuta (600 sekundi), po našem mišljenju vrijedi ga povećati promjenom sljedeće opcije:

Bantime = 6000

Zatim skrolujte kroz datoteku i omogućite sekcije za usluge koje rade na vašem sistemu tako što ćete postaviti parametar iza imena odgovarajuće sekcije omogućeno u državi istinito, na primjer za uslugu proftpd to će izgledati ovako:


omogućeno = tačno

Drugi važan parametar maxretry, koji je odgovoran za maksimalan broj pokušaja povezivanja. Nakon promjene postavki, ne zaboravite ponovo pokrenuti uslugu:

Sudo /etc/init.d/fail2ban restart

Dnevnik uslužnih programa možete vidjeti na /var/log/fail2ban.log.

Prema cvedetails.com, od 1999. godine, u Linux kernelu je pronađeno 1.305 ranjivosti, od kojih je 68 pronađeno 2015. godine. Većina njih ne predstavlja nikakve posebne probleme, označeni su kao lokalni i niski, a neki se mogu pozvati samo kada su povezani sa određenim aplikacijama ili postavkama OS-a. U principu, brojke su male, ali kernel nije cijeli OS. Ranjivosti se takođe nalaze u GNU Coreutils, Binutils, glibs i, naravno, u korisničkim aplikacijama. Pogledajmo one najzanimljivije.

RANJIVOSTI U LINUX KENELU

OS: Linux
Nivo: Srednje, Nisko
Vektor: Daljinski
CVE: CVE-2015-3331, CVE-2015-4001, CVE-2015-4002, CVE-2015-4003
Eksploatacija: koncept, https://lkml.org/lkml/2015/5/13/740, https://lkml.org/lkml/2015/5/13/744

Ranjivost pronađena u lipnju u Linux kernelu prije 3.19.3 u funkciji __driver_rfc4106_decrypt u arch/x86/crypto/aesni-intel_glue.c je posljedica implementacije RFC4106 za x86 procesore koji podržavaju ekstenziju AES skupa instrukcija AES-NI (predloženo Intel, Intel Advanced Encryption Standard Instructions) u nekim slučajevima ne izračunava ispravno adrese bafera. Ako je IPsec tunel konfiguriran da koristi ovaj način rada (AES algoritam - CONFIG_CRYPTO_AES_NI_INTEL), ranjivost može dovesti do oštećenja memorije, rušenja i potencijalno udaljenog izvršavanja CryptoAPI koda. Štaviše, najzanimljivije je da problem može nastati sam od sebe, u potpuno legalnom saobraćaju, bez spoljne intervencije. U trenutku objavljivanja, problem je riješen.

Pet ranjivosti je identifikovano u Linux 4.0.5 ozwpan drajveru, koji ima eksperimentalni status, od kojih četiri omogućavaju da organizujete DoS napad rušenjem kernela slanjem posebno dizajniranih paketa. Problem je vezan za prekoračenje bafera zbog pogrešnog rukovanja potpisanim cijelim brojevima, pri čemu je izračunavanje u memcpy između required_size i ofseta vratilo negativan broj, kao rezultat toga, podaci se kopiraju u hrpu.

Nalazi se u funkciji oz_hcd_get_desc_cnf u drajverima/staging/ozwpan/ozhcd.c i u funkcijama oz_usb_rx i oz_usb_handle_ep_data datoteke drajvera/staging/ozwpan/ozusbsvc1.c. Ostale ranjivosti su uključivale moguću podjelu sa 0, sistemsku petlju ili mogućnost čitanja iz područja izvan granica dodijeljenog bafera.

Ozwpan drajver, novi dodatak za Linux, može se upariti sa postojećim bežičnim uređajima koji su kompatibilni sa tehnologijom Ozmo Devices ( Wi-Fi Direct). Pruža implementaciju USB host kontrolera, ali trik je u tome što umjesto fizičke veze, periferija komunicira putem Wi-Fi veze. Drajver prihvata mrežne pakete tipa (ethertype) 0x892e, zatim ih analizira i prevodi u različite USB funkcije. Za sada se koristi u rijetkim slučajevima, tako da se može onemogućiti izbacivanjem modula ozwpan.ko.

LINUX UBUNTU

OS: Linux Ubuntu 04/12–04/15 (jezgro do 15. juna 2015.)
Nivo: Kritično
Vektor: Lokalno
CVE: CVE-2015-1328
Eksploatacija: https://www.exploit-db.com/exploits/37292/

Kritična ranjivost u sistemu datoteka OverlayFS omogućava root pristup na Ubuntu sistemima koji dozvoljavaju montiranje OverlayFS particija od strane neprivilegovanog korisnika. Podrazumevane postavke potrebne za iskorištavanje ranjivosti koriste se u svim granama Ubuntua 12.04–15.04. Sam OverlayFS se pojavio u Linux kernelu relativno nedavno - počevši od 3.18-rc2 (2014), to je SUSE razvoj koji zamjenjuje UnionFS i AUFS. OverlayFS vam omogućava da kreirate virtuelni višeslojni sistem podataka, koji kombinuje nekoliko delova drugih sistema datoteka.

Datotečni sistem je kreiran iz donjeg i gornjeg sloja, od kojih je svaki vezan za zasebne direktorije. Donji sloj se koristi samo za čitanje u direktorijima bilo kojeg datotečnog sustava podržanog u Linuxu, uključujući i mrežne. Na gornji sloj se obično može pisati i on će nadjačati podatke u donjem sloju ako su datoteke duplicirane. Potreban je u Live distribucijama, sistemima virtuelizacije kontejnera i za organizovanje rada kontejnera za neke desktop aplikacije. Prostori korisničkih imena vam omogućavaju da kreirate sopstvene skupove korisničkih i grupnih ID-ova u kontejnerima. Ranjivost je uzrokovana neispravnom provjerom prava pristupa prilikom kreiranja novih datoteka u direktoriju osnovnog sistema datoteka.

Ako je kernel napravljen sa CONFIG_USER_NS=y (omogućavanje korisničkog imenskog prostora) i FS_USERNS_MOUNT zastavica je specificirana prilikom montiranja, OverlayFS može montirati normalan korisnik u drugom imenskom prostoru, uključujući i operacije sa root prava. U ovom slučaju, operacije s datotekama s root pravima koje se izvode u takvim imenskim prostorima dobijaju iste privilegije kada izvode radnje s osnovnim sistemom datoteka. Stoga možete montirati bilo koju FS particiju i pregledati ili modificirati bilo koju datoteku ili direktorij.

U vrijeme objavljivanja, ažuriranje kernela sa fiksnim OverlayFS modulom iz Ubuntua je već bilo dostupno. A ako se sistem ažurira, ne bi trebalo biti problema. U istom slučaju, kada ažuriranje nije moguće, kao privremenu mjeru, trebali biste prestati koristiti OverlayFS uklanjanjem modula overlayfs.ko.

RANJIVOSTI U KLJUČNIM APLIKACIJAMA

OS: Linux
Nivo: Kritično
Vektor: lokalno, udaljeno
CVE: CVE-2015-0235
Eksploatacija: https://www.qualys.com/research/security-advisories/exim_ghost_bof.rb

Opasna ranjivost u standardna biblioteka GNU glibc, koji je osnovni dio Linux OS-a, te u nekim verzijama Oracle Communications Applications i Oracle Pillar Axiom, otkriven tokom revizije koda od strane Qualys hakera. Primio kodno ime GHOST. Ovo je prelivanje bafera unutar funkcije __nss_hostname_digits_dots(), koju koriste glibc funkcije kao što su gethostbyname() i gethostbyname2() da bi dobili ime hosta (otuda ime GetHOST). Da biste iskoristili ranjivost, morate uzrokovati prekoračenje međuspremnika koristeći nevažeći argument imena hosta aplikaciji koja provodi rješavanje imena preko DNS-a. Odnosno, teoretski, ova ranjivost se može primijeniti na bilo koju aplikaciju koja koristi mrežu u ovom ili onom stupnju. Može se pozvati lokalno i daljinski, omogućavajući izvršavanje proizvoljnog koda.

Najzanimljivije je da je greška ispravljena još u maju 2013. godine, predstavljena je zakrpa između izdanja glibc 2.17 i 2.18, ali problem nije klasifikovan kao bezbednosna zakrpa, pa se na njega nije obraćala pažnja. Kao rezultat toga, mnoge distribucije su se pokazale ranjivim. Prvobitno je objavljeno da je prva ranjiva verzija 2.2 od 10. novembra 2000. godine, ali postoji mogućnost da će se pojaviti i do 2.0. Između ostalog, pogođene su distribucije RHEL/CentOS 5.x–7.x, Debian 7 i Ubuntu 12.04 LTS. Hitne ispravke su trenutno dostupne. Sami hakeri su predložili uslužni program koji objašnjava suštinu ranjivosti i omogućava vam da provjerite svoj sistem. Sve je u redu u Ubuntu 12.04.4 LTS:

$ wget https : //goo.gl/RuunlE

$gcc gistfile1. c - o CVE - 2015 - 0235

$. / CVE - 2015 - 0235

nije ranjiv

Provjera sistema na GHOST-u

Gotovo odmah, pušten je modul koji omogućava daljinsko izvršavanje koda na x86 i x86_64 Linux sa radnim mail server Exim (sa omogućenim helo_try_verify_hosts ili helo_verify_hosts). Kasnije su se pojavile i druge implementacije, na primjer, Metasploit modul za provjeru bloga na WordPress-u.

Malo kasnije, 2015. godine, otkrivene su još tri ranjivosti u GNU glibc-u koje su omogućavale udaljenom korisniku da izvrši DoS napad ili prepiše memorijske ćelije izvan granica steka: CVE-2015-1472, CVE-2015-1473, CVE-2015- 1781.

OS: Linux (GNU Coreutils)
Nivo: Nisko
Vektor: Lokalno, udaljeno
CVE: CVE-2014-9471
Eksploatacija: br

GNU Coreutils je jedan od glavnih *nix paketa, uključujući skoro sve osnovne uslužne programe (cat, ls, rm, date...). Problem je pronađen u datumu. Greška u funkciji parse_datetime dozvoljava udaljenog napadača bez račun na sistemu, uzrokovati uskraćivanje usluge i eventualno izvršiti proizvoljan kod preko posebno kreiranog niza datuma koristeći vremensku zonu. Ranjivost izgleda ovako:

$ dodirnite ‘-- datum = TZ = ”123”345”@1’

Greška segmentacije

$ datum - d ‘TZ = ”Evropa/Moskva” “00 : 00 + 1 sat”'

Greška segmentacije

$ datum ‘-- datum = TZ = ”123”345”@1’

* * * Greška u `datumu': besplatno () : nevažeći pokazivač : 0xbfc11414 * * *

Ranjivost u GNU Coreutils-u

Ako nema ranjivosti, primit ćemo poruku o pogrešnom formatu datuma. Gotovo svi programeri Linux distribucije prijavili su prisustvo ranjivosti. Trenutno je dostupno ažuriranje.


Normalan izlaz zakrpljenih GNU Coreutil-a

OS: Linux (grep 2.19–2.21)
Nivo: Nisko
Vektor: Lokalno
CVE: CVE-2015-1345
Eksploatacija: br

Ranjivosti se rijetko nalaze u uslužnom programu grep, koji se koristi za traženje teksta pomoću šablona. Ali ovaj uslužni program često nazivaju i drugi programi, uključujući i sistemske, pa je prisustvo ranjivosti mnogo problematičnije nego što se čini na prvi pogled. Greška u funkciji bmexec_trans u kwset.c može rezultirati čitanjem neinicijaliziranih podataka iz područja izvan dodijeljenog bafera ili uzrokovati pad aplikacije. Haker može iskoristiti ovo stvaranjem posebnog skupa podataka koji se unose u aplikaciju koristeći grep -F. Ažuriranja su trenutno dostupna. Ne postoje eksploatacije koje koriste ranjivost ili modul za Metasploit.

RANJIVOST U FREEBSD-u

OS: FreeBSD
Nivo: Nisko
Vektor: Lokalno, udaljeno
CVE: CVE-2014-0998, CVE-2014-8612, CVE-2014-8613
Eksploatacija: https://www.exploit-db.com/exploits/35938/

U bazi podataka CVE za 2015. godinu nema mnogo ranjivosti, tačnije svega šest. Tri ranjivosti su pronađene u FreeBSD 8.4–10.x krajem januara 2015. od strane istraživača iz Core Exploit Writers tima. CVE-2014-0998 se odnosi na implementaciju drajvera VT konzole (Newcons), koji obezbeđuje više virtuelnih terminala, omogućenih parametrom kern.vty=vt u /boot/loader.conf.
CVE-2014-8612 se javlja kada se koristi SCTP protokol i uzrokovan je greškom u kodu za verifikaciju ID-a SCTP toka koji implementira SCTP utičnice (lokalni port 4444). Suština je greška izvan memorije u funkciji sctp_setopt() (sys/netinet/sctp_userreq.c). Ovo daje lokalnom neprivilegovanom korisniku mogućnost da upiše ili pročita 16 bitova podataka iz memorije kernela i eskalira svoje privilegije na sistemu, otkrije osjetljive podatke ili sruši sistem.

CVE-2014-8613 dozvoljava da se dereferenciranje NULL pokazivača pokrene prilikom obrade eksterno primljenog SCTP paketa kada je postavljena opcija SCTP_SS_VALUE SCTP utičnice. Za razliku od prethodnih verzija, CVE-2014-8613 se može koristiti za daljinsko izazivanje pada kernela slanjem posebno kreiranih paketa. U FreeBSD 10.1, možete se zaštititi postavljanjem varijable net.inet.sctp.reconfig_enable na 0, čime ćete onemogućiti obradu RE_CONFIG blokova. Ili jednostavno zabranite aplikacije (pretraživače, mail klijenti i tako dalje). Iako su u vrijeme objavljivanja programeri već objavili ažuriranje.


FreeBSD statistika ranjivosti

RANJIVOST U OPENSSL-u

OS: OpenSSL
Nivo: Daljinski
Vektor: Lokalno
CVE: CVE-2015-1793
Eksploatacija: br

U 2014. otkrivena je kritična Heartbleed ranjivost u OpenSSL-u, široko korištenom kriptografskom paketu za rad sa SSL/TLS-om. Incident je svojevremeno izazvao masovne kritike na račun kvaliteta koda, a to je, s jedne strane, dovelo do pojave alternativa poput LibreSSL-a, s druge strane, sami programeri su se konačno bacili na posao.

Najbolji dobavljači prema ranjivosti

Kritičnu ranjivost otkrili su Adam Langley iz Google-a i David Benjamin iz BoringSSL-a. Promjene napravljene u OpenSSL verzijama 1.0.1n i 1.0.2b dovele su do toga da OpenSSL pokuša pronaći alternativni lanac provjere certifikata ako je prvi pokušaj izgradnje lanca povjerenja bio neuspješan. Ovo vam omogućava da zaobiđete proceduru provjere certifikata i organizirate potvrđenu vezu koristeći lažni certifikat, drugim riječima - da mirno namamite korisnika na lažne stranice ili servere Email ili implementirati bilo koji MITM napad gdje se koristi certifikat.

Nakon što je ranjivost otkrivena, programeri su 9. jula objavili izdanja 1.0.1p i 1.0.2d, koja su riješila ovaj problem. Verzije 0.9.8 ili 1.0.0 nemaju ovu ranjivost.

Linux.Encoder

Kraj jeseni obilježila je pojava većeg broja enkripcijskih virusa, prvo Linux.Encoder.0, a zatim modifikacije Linux.Encoder.1 i Linux.Encoder.2, koje su zarazile više od 2.500 lokacija. Prema antivirusnim kompanijama, napadnuti su Linux i FreeBSD serveri sa web lokacijama koje koriste različite CMS-ove - WordPress, Magento CMS, Joomla i druge. Hakeri iskorištavaju neidentifikovanu ranjivost. Zatim je postavljena shell skripta (fajl error.php), uz pomoć koje bilo dalje radnje(preko pretraživača). Konkretno, lansiran je Linux koder Trojan.

Encoder, koji je odredio arhitekturu OS-a i pokrenuo ransomware. Enkoder je pokrenut sa pravima web servera (Ubuntu - www-data), što je sasvim dovoljno za šifrovanje fajlova u direktorijumu u kojem se nalaze CMS fajlovi i komponente. Šifrirani fajlovi dobijaju novu ekstenziju.encrypted.

Ransomware također pokušava zaobići druge direktorije OS-a; ako su prava neispravno konfigurirana, onda bi lako mogla izaći izvan granica web stranice. Zatim je u direktorij spremljena datoteka README_FOR_DECRYPT.txt koja sadrži upute za dešifriranje datoteka i zahtjeve hakera. On ovog trenutka antivirusne kompanije su uvele uslužne programe koji vam omogućavaju da dešifrujete direktorijume. Na primjer, set iz Bitdefendera. Ali morate imati na umu da svi uslužni programi dizajnirani za dešifriranje datoteka ne uklanjaju shellcode i sve se može ponoviti.

S obzirom na to da mnogi korisnici koji razvijaju ili eksperimentiraju s administracijom web stranice često instaliraju web server kućni računar, trebali biste brinuti o sigurnosti: blokirajte pristup izvana, ažurirajte softver, provodite eksperimente na VM-u. I sama ideja bi se u budućnosti mogla koristiti za napad na kućne sisteme.

ZAKLJUČAK

Kompleksni softver bez grešaka fizički ne postoji, pa se morate pomiriti sa činjenicom da će se ranjivosti stalno otkrivati. Ali ne mogu svi biti zaista problematični. A možete se zaštititi uzimanjem jednostavnim koracima: uklonite neiskorišteni softver, pratite nove ranjivosti i obavezno instalirajte sigurnosna ažuriranja, konfigurirajte zaštitni zid, instalirajte antivirus. I ne zaboravite na posebne tehnologije poput SELinuxa, koje su prilično sposobne da ugroze demon ili korisničku aplikaciju.