Nezanesljivo preverjanje pristnosti x okno ubuntu. Nevarne ranljivosti Linuxa. Ranljivosti v osnovnih aplikacijah

Seveda lahko to rečemo Linux več varno(zaščiteno) kot Windows. Varnost V Linux vgrajen, in ne privijačen nekje ob strani, kot je implementirano v Windowsih. Varnost sistemi Linux pokriva območje od jedra do namizja, vendar obstajajo možnosti, da hekerji poškodujejo vaš domači imenik (/home).

Vaši bajti fotografij, domači videoposnetki, dokumenti in podatki o kreditni kartici ali denarnici so najdragocenejši del informacij v računalniku. Seveda Linux ni dovzeten za vse vrste internetnih črvov in virusov za Windows. Toda napadalci lahko najdejo način za dostop do vaših podatkov v domačem imeniku.

Ko ste svoj stari računalnik pripravili oz HDD formatiranje pred prodajo, mislite, da bo dovolj? Obstaja veliko sodobnih orodij za obnovitev podatkov. Heker lahko zlahka obnovi vaše podatke iz trdi disk, ne glede na OS, v katerem ste delali.

Ob tej temi se spomnim izkušnje enega podjetja pri odkupu rabljenih računalnikov in diskov. Med svojim delovanjem so izrekli sodbo, da 90% prejšnjih lastnikov svojega računalnika pred prodajo ni ustrezno poskrbelo za čiščenje pomnilniškega medija. In ekstrahirali so zelo občutljive bajte podatkov. Grozljivo si je celo predstavljati, da bodo nekje v zabojnikih vašega trdega diska informacije za prijavo v vašo spletno banko ali spletno denarnico.

Začnite z osnovami varnosti Linuxa

Stopimo k osnovam (), ki bodo ustrezale skoraj vsem
Linux distribucije.

Šifrirajmo datotečni sistem v Linuxu za popolnejšo varnost Linuxa

Gesla po meri ne bodo rešila težave, razen če res želite, da nihče ne more brati vašega domačega imenika (/home) ali določene velikosti bajtov. To lahko storite tako, da tudi uporabnik z najvišjimi korenskimi pravicami ne bo mogel pomoliti nosu vanj.

Izbrišite občutljive datoteke, da jih nihče drug ne more obnoviti

Če se odločite prodati ali podariti svoj računalnik ali pomnilniški medij, ne mislite, da boste s preprostim formatiranjem trajno izbrisali svoje datoteke. V svoj Linux lahko namestite orodje za varno brisanje, ki vključuje pripomoček srm za varno brisanje datotek.

Prav tako ne pozabite na požarni zid v jedru Linuxa. Vključeno v vse Linux distribucije vključuje lptables, ki je del jedra. Lptables vam omogoča filtriranje omrežnih paketov. Seveda lahko ta pripomoček konfigurirate v terminalu. Toda ta metoda presega zmožnosti mnogih, vključno z mano. Zato ga namestim in konfiguriram tako preprosto, kot če bi igral igro.

Kot vsi operacijski sistemi je tudi Linux nagnjen k kopičenju vseh vrst smeti med izvajanjem različnih aplikacij. In za to ni kriv Linux, saj različne aplikacije, kot so brskalniki, urejevalniki besedil in celo video predvajalniki, ne delujejo na ravni jedra in kopičijo začasne datoteke. Za univerzalno odstranjevanje smeti lahko namestite pripomoček BleachBit.

Anonimno deskanje, skrivanje vašega IP-ja - zelo pomembno za varnost vaše identitete pod Linuxom


Na koncu vam želim povedati o anonimnem brskanju po spletu. Včasih se zgodi, da je to nujno, tako kot jaz, ko na skrivaj od žene obiskujem strani z erotično vsebino. Seveda sem se šalil.

Napadalci vas bodo težko dosegli, če ne morejo določiti vaše lokacije. Svoje sledi prikrivamo s preprosto nastavitvijo dveh pripomočkov, ki delujeta skupaj, imenovanih privoxy in tor.

Po mojem mnenju bosta upoštevanje in konfiguriranje vseh teh pravil poskrbela za 90-odstotno varnost vas in vašega računalnika.

P.S. Uporabljam oblak, imenovan dropbox. Vanj hranim svoje stare in nove, še neobjavljene članke. Priročno je imeti dostop do svojih datotek od koder koli na svetu in v katerem koli računalniku. Pri pisanju člankov za spletno stran v urejevalnik besedil, jaz prihranim svoje besedilni dokumenti z geslom in šele nato naložim na dropbox strežnik. Nikoli ne smete zanemariti dodatne varnosti, ki vam bo šla le na roko.

Pozdravljeni vsi... Vsi administratorji začetniki pod Ubuntujem imajo nalogo nastaviti omrežne vmesnike (omrežje, omrežne kartice).V tem članku vam bom pokazal, kako se to naredi... To se naredi zelo preprosto...

Če ste nekako zamudili nastavitev omrežja ali opazili težave pri namestitvi distribucije, bomo zdaj to storili ročno. In tako imamo nameščeno distribucijo in nas čaka v napadu... Konfigurirati moramo 2 omrežni kartici..... Eden od nas je obrnjen proti ponudniku, drugi pa proti ponudniku. lokalno omrežje. Takoj se dogovorimo in določimo naše vmesnike in naslove.

eth0— 192.168.0.1 (recimo, da je to naslov, ki ga je izdal ponudnik) Vmesnik, ki gleda v internet (ponudnik)
eth1— 10.0.0.1 (naslov, ki ga želimo dati temu vmesniku) Vmesnik gleda v lokalno omrežje

Najprej preverimo, katere vmesnike smo z ukazom že zagnali ifconfig Videli boste nekaj takega (samo z vašimi podatki namesto xxxxx)

Eth0 Link encap:Ethernet HWaddr хх:хх:хх:хх:хх:хх inet addr:xxx.xxx.xxx.xxx Bcast:xxx.xxx.xxxx.xxx Maska:255.255.255.252 inet6 addr: xxx::xxx:xxx :xxx:xxxx/64 Obseg: Povezava NAVZGOR BROADCAST RUNNING MULTICAST MTU: 1500 Metrika: 1 RX paketi: 31694097 napake: 0 izpuščeno: 0 prekoračitev: 0 okvir: 0 TX paketi: 15166512 napake: 0 izpuščeno: 0 prekoračitev: 0 nosilec: 0 trkov: 0 txqueulen: 100 rx bajtov: 2215593127 (2,2 GB) TX bajtov: 1577680249 (1,5 GB) Pomnilnik: B8820000-B8840000 ETH1 Link ENCAP: Ethernet Hwaddr: XX: XX: XX: XX: XX ENT A DDR: 10.0. 0.1 Bcast:10.0.0.255 Maska:255.255.255.0 inet6 xxxx: xxxx::xxxx:xxxf:xxx:xxx/64 Obseg:Poveži GOR ODDAJANJE SE IZVAJA MULTICAST MTU:1500 Metrika:1 RX paketi:11352041 napake:0 padlo:0 prekoračitev :0 okvir:0 paketi TX:21539638 napake:0 padlo:0 prekoračitve:0 nosilec:0 trki:0 txqueuelen:100 bajtov RX:1262641422 (1,2 GB) bajti TX:1922838889 (1,9 GB) Pomnilnik:b8800000-b8820000 povezava lo encap:Lokalna povratna zanka inet addr:127.0.0.1 Maska:255.0.0.0 inet6 addr: ::1/128 Obseg:Host UP LOOPback RUNNING MTU:16436 Metrika:1 RX paketi:3823 napake:0 padlo:0 prekoračitve: 0 okvir: 0 paketov TX:3823 napak:0 padlo:0 prekoračitev:0 nosilec:0 trkov:0 txqueuelen:0 bajtov RX:717663 (717,6 KB) bajtov TX:717663 (717,6 KB)

Če se eden od vmesnikov ne prikaže, je v redu. Samo onemogočen je, vklopimo ga z ukazom sudo ifconfig eth1 up(namesto eth1 vnesite svoj vmesnik, če imate 2 omrežni kartici, potem sta samo 2 vmesnika: eth0 in eth1) In tako omogočimo naš vmesnik:

sudo ifconfig eth1 up

In tako se lotimo postavljanja.

Vmesniku eth0 dodelimo IP naslov, ki ga izda ponudnik z naslednjim ukazom:

sudo ifconfig eth1 inet 192.168.0.2

In določite omrežno masko:

sudo ifconfig eth0 omrežna maska ​​255.255.255.0

Tako narejene nastavitve se po ponovnem zagonu strežnika ponastavijo.
Da se to ne bi zgodilo, morate spremeniti nastavitve v konfiguracijsko datoteko omrežni vmesniki. Za to potrebujete Root pravice. Pridobimo si pravice Root z naslednjim ukazom:

sudo su

Konfiguracijska datoteka omrežnih vmesnikov se nahaja na /etc/network/interfaces Za urejanje uporabljamo urejevalnik Nano (lahko uporabite svoj urejevalnik). Všeč mi je Nano

nano /etc/network/interfaces

Vidimo naslednje:

# Ta datoteka opisuje omrežne vmesnike, ki so na voljo v vašem sistemu # in kako jih aktivirati. Za več informacij glejte vmesniki (5). # Omrežni vmesnik s povratno zanko avto lo iface lo inet povratna zanka # Primarni omrežni vmesnik//Primarni omrežni vmesnik avto eth0//Dodeljevanje naslednjih atributov omrežnemu vmesniku iface eth0 inet static//Samodejno omogoči omrežni vmesnik naslov 192.168.0.2//ip naslov naše omrežne kartice (izdal ga je ponudnik) omrežna maska ​​255.255.255.0//Omrežna maska, v kateri se nahaja naš IP omrežje 192.168.0.0//Omrežje celotnega obsega oddaja 192.168.0.255//Najv. število naslovov prehod 192.168.0.1//Gateway # možnosti dns-* implementira paket resolvconf, če je nameščen

Treba ga je zmanjšati na naslednjo obliko

# Ta datoteka opisuje omrežne vmesnike, ki so na voljo v vašem sistemu # in kako jih aktivirati. Za več informacij glejte vmesniki (5). # Omrežni vmesnik s povratno zanko auto lo iface lo inet povratna zanka # Primarni omrežni vmesnik auto eth0 iface eth0 inet statični naslov 192.168.0.2 omrežna maska ​​255.255.255.0 omrežje 192.168.0.0 prehod 192.168.0.1 # možnosti dns-* izvaja paket resolvconf, če so nameščeni dns-nameservers 192.168.22.22 192.168.33.33 #Vmesnik, ki gleda v lokalno omrežje avto eth1 iface eth1 inet static naslov 10.0.0.1 omrežna maska ​​255.255.255.0

Spremembe shranite s klikom Tipke Ctrl+ O in zapustite s pritiskom na Ctrl + X

Naslove strežnikov DNS je mogoče nastaviti v datoteki /etc/network/interfaces, vendar se naslovi strežnikov DNS v Ubuntuju upravljajo prek datoteke /etc/resolv.conf. Meni je videti takole:

imenski strežnik xx.xx.xx.xx imenski strežnik xx.xx.xx.xx

Konfigurirajmo DNS, v vrstico vnesite naslednji ukaz:

Sudo nano /etc/resolv.conf # IP naslovi strežnikov DNS vašega ponudnika nameserver хх.ххх.ххх.ххх nameserver ххх.ххх.хх.ххх

Varčujmo Ctrl+O in gremo ven Ctrl +x morate tudi znova zagnati omrežje z naslednjim ukazom.

Vsi vemo, da je operacijska soba sistem Linux veliko varnejši od Windows zahvaljujoč svoji arhitekturi in posebnemu sistemu za porazdelitev dostopa med uporabniki. A tudi programerji smo ljudje, ne glede na to, kako nam je všeč, tudi oni delajo napake. In zaradi teh napak se v sistemu pojavijo luknje, skozi katere lahko napadalci zaobidejo varnostne sisteme.

Te napake se imenujejo ranljivosti in se lahko pojavijo v različne programe in celo v samem jedru sistema, kar spodkopava njegovo varnost. zadaj Zadnja leta Priljubljenost Linuxa je začela rasti in varnostni raziskovalci temu sistemu namenjajo več pozornosti. Odkriva se vedno več ranljivosti, ki jih je zaradi odprtokodne kode mogoče zelo hitro odpraviti. V tem članku si bomo ogledali najnevarnejše ranljivosti Linuxa, ki so bile odkrite v zadnjih nekaj letih.

Preden preidemo na seznam ranljivosti, je pomembno razumeti, kaj so in kaj so. Kot sem rekel, je ranljivost napaka v programu, ki uporabniku omogoča uporabo programa na način, ki ga razvijalec ni nameraval.

To je lahko pomanjkanje preverjanja pravilnosti prejetih podatkov, preverjanje vira podatkov in, kar je najbolj zanimivo, velikosti podatkov. Najbolj nevarne ranljivosti so tiste, ki omogočajo izvajanje poljubne kode. IN pomnilnik z naključnim dostopom vsi podatki imajo določeno velikost in program je namenjen zapisovanju uporabnikovih podatkov določene velikosti v pomnilnik. Če uporabnik posreduje več podatkov, bi moralo vrniti napako.

Toda če se programer zmoti, bodo podatki prepisali programsko kodo in procesor jo bo poskušal izvesti, kar bo povzročilo ranljivost prelivanja medpomnilnika.

Prav tako lahko vse ranljivosti razdelimo na lokalne, ki delujejo le, če ima heker dostop do njih lokalni računalnik in na daljavo, ko zadostuje dostop prek interneta. Zdaj pa pojdimo na seznam ranljivosti.

1. Umazana KRAVA

Prva na našem seznamu bo sveža ranljivost, ki smo jo odkrili to jesen. Ime Dirty COW pomeni Copy on Write. Med kopiranjem ob pisanju se pojavi napaka v datotečnem sistemu. To je lokalna ranljivost, ki vsakemu neprivilegiranemu uporabniku omogoča popoln dostop do sistema.

Skratka, za izkoriščanje ranljivosti potrebujete dve datoteki, eno je zapisljivo samo v imenu superuporabnika, drugo za nas. Podatke začnemo velikokrat zapisovati v našo datoteko in brati iz datoteke superuporabnika določen čas prišel bo čas, ko se medpomnilniki obeh datotek pomešajo in bo uporabnik lahko zapisal podatke v datoteko, ki je ne more pisati, in si tako podelil korenske pravice v sistemu.

Ranljivost je bila v jedru približno 10 let, a je bila po odkritju hitro odpravljena, čeprav je še vedno na milijone naprav Andoid, v katerih jedro ni posodobljeno in ne misli, in kjer je to ranljivost mogoče izkoristiti. Koda ranljivosti je bila CVE-2016-5195.

2. Ranljivost Glibc

Koda ranljivosti je bila CVE-2015-7547. To je bila ena izmed ranljivosti, o kateri se je največ govorilo med odprtokodnimi projekti. Februarja 2016 je bilo ugotovljeno, da ima knjižnica Glibc zelo resno ranljivost, ki napadalcu omogoča izvajanje kode v oddaljenem sistemu.

Pomembno je omeniti, da je Glibc implementacija standardne knjižnice C in C++, ki se uporablja v večini Linux programi, vključno s storitvami in programskimi jeziki, kot so PHP, Python, Perl.

V kodi za razčlenjevanje odgovora strežnika DNS je prišlo do napake. Tako bi lahko ranljivost izkoristili hekerji, do katerih DNS so dostopali ranljivi stroji, pa tudi tisti, ki izvajajo napad MITM. Toda ranljivost je omogočila popoln nadzor nad sistemom

Ranljivost je bila v knjižnici že od leta 2008, a po odkritju so bili dokaj hitro izdani popravki.

3. Srčna krvavitev

Leta 2014 je bila odkrita ena najresnejših ranljivosti po obsegu in posledicah. Povzročila ga je napaka v modulu Heartdead programa OpenSSL, od tod tudi ime Heartbleed. Ranljivost je napadalcem omogočila neposreden dostop do 64 kilobajtov pomnilnika strežnika; napad se je lahko ponavljal, dokler ni bil prebran ves pomnilnik.

Čeprav je bil popravek izdan zelo hitro, je bilo prizadetih veliko spletnih mest in aplikacij. Pravzaprav so bila vsa spletna mesta, ki so za varovanje prometa uporabljala HTTPS, ranljiva. Napadalci so lahko pridobili uporabniška gesla, njihove osebne podatke in vse, kar je bilo v spominu v času napada. Koda ranljivosti je bila CVE-2014-0160.

4. Trema

Če je ranljivost dobila kodno ime, to jasno pomeni, da si zasluži pozornost. Ranljivost Stagerfight ni izjema. Res je, da to pravzaprav ni problem Linuxa. Stagefright je knjižnica za obdelavo večpredstavnostnih formatov v sistemu Android.

Implementiran je v C++, kar pomeni, da obide vse varnostne mehanizme Java. Leta 2015 je bila odkrita cela skupina ranljivosti, ki je omogočala oddaljeno izvajanje poljubne kode v sistemu. Tukaj so: CVE-2015-1538, CVE-2015-1539, CVE-2015-3824, CVE-2015-3826, CVE-2015-3827, CVE-2015-3828 in CVE-2015-3829.

Napadalec je moral le poslati MMS na ranljivi pametni telefon s posebej spremenjeno medijsko datoteko in pridobil je popoln nadzor nad napravo z možnostjo pisanja in branja podatkov s pomnilniške kartice. Ranljivost so odpravili razvijalci za Android, vendar je na milijone naprav še vedno ranljivih.

5. Ranljivost jedra zero-day

To je lokalna ranljivost, ki omogoča dvig privilegijev. Trenutni uporabnik za root zaradi napake v sistemu za delo s kriptografskimi podatki jedra, shranjenimi v pomnilniku. Odkrita je bila februarja 2016 in je zajela vsa jedra od 3.8 naprej, kar pomeni, da je ranljivost obstajala 4 leta.

Napako lahko uporabijo hekerji ali zlonamerni programsko opremo povečati svojo avtoriteto v sistemu, a je bila zelo hitro popravljena.

6. Ranljivost v MySQL

Ta ranljivost je prejela kodo CVE-2016-6662 in vplivala na vse razpoložljive različice strežniki baz podatkov Podatki MySQL(5.7.15, 5.6.33 in 5.5.52), baze podatkov Oracle in kloni MariaDB in PerconaDB.

Napadalci bi lahko pridobili popoln dostop do sistema prek SQL poizvedba poslana je bila koda, ki vam je omogočila zamenjavo my.conf s svojo različico in ponovni zagon strežnika. Možno je bilo izvajati tudi zlonamerno kodo s pravicami superuporabnika.

Rešitvi MariaDB in PerconaDB sta precej hitro izdali popravke, Oracle se je odzval, a veliko kasneje.

7.Shellshock

Ta ranljivost je bila odkrita leta 2014, preden je trajala 22 let. Imel je oznako CVE-2014-6271 in kodno ime Shellshock. Ta ranljivost je po nevarnosti primerljiva s Heartbleedom, ki ga že poznamo. Povzroča ga napaka v tolmaču ukazov Bash, ki je privzeti tolmač ukazov v večini distribucij Linuxa.

Bash vam omogoča deklaracijo spremenljivke okolja brez avtentikacije uporabnika, lahko pa skupaj izvedeta poljuben ukaz. To je še posebej nevarno pri skriptih CGI, ki jih podpira večina spletnih mest. Ranljivi niso samo strežniki, ampak tudi osebni računalniki uporabniki, usmerjevalniki in druge naprave. Pravzaprav lahko napadalec izvede kateri koli ukaz na daljavo;

Prizadete so bile vse različice Bash, vključno z 4.3, čeprav so po odkritju težave razvijalci hitro izdali popravek.

8. Quadrooter

Gre za celo vrsto ranljivosti v Androidu, ki so jo odkrili avgusta 2016. Prejeli so kode CVE-2016-5340, CVE-2016-2059, CVE-2016-2504, CVE-2016-2503. Več kot 900 milijonov je prizadetih zaradi napake naprave Android. Vse ranljivosti so bile najdene v gonilniku procesorja Qualcomm ARM in vse jih je mogoče uporabiti za pridobivanje root dostop do naprave.

Tako kot DirtyCOW tukaj ne potrebujete nobenih dovoljenj, samo namestite zlonamerno aplikacijo in ta bo lahko pridobila vse vaše podatke in jih prenesla do napadalca.

9. Ranljivost v OpenJDK

To je zelo resna ranljivost Linuxa 2016 v stroju OpenJDK Java s kodo CVE-2016-0636, vpliva na vse uporabnike, ki uporabljajo Oracle Java SE 7 Update 97 in 8 Update 73 in 74 za Windows, Solaris, Linux in Mac OS X. To ranljivost omogoča napadalcu, da izvede poljubno kodo zunaj stroja Java, če odprete posebno stran v brskalniku z ranljivo različico Jave.

To je napadalcu omogočilo dostop do vaših gesel, osebnih podatkov in zagon programov na vašem računalniku. V vsem Java različice Napaka je bila zelo hitro odpravljena; obstaja že od leta 2013.

10. Ranljivost protokola HTTP/2

Gre za celo vrsto ranljivosti, ki so jih leta 2016 odkrili v protokolu HTTP/2. Prejeli so kode CVE-2015-8659, CVE-2016-0150, CVE-2016-1546, CVE-2016-2525, CVE-2016-1544. Vse implementacije tega protokola v Apache, Nginx Microsoft, Jetty in nghttp2 so bile ranljive.

Vsi ti omogočajo napadalcu, da močno upočasni spletni strežnik in izvede napad z zavrnitvijo storitve. Na primer, ena od napak je povzročila možnost pošiljanja majhnega sporočila, ki je bilo na strežniku razpakirano v gigabajte. Napaka je bila odpravljena zelo hitro in zato ni povzročila veliko hrupa v skupnosti.

Ste varni?

V tem članku smo si ogledali najnevarnejše ranljivosti Linuxa v letih 2016, 2015 in 2014. Večina jih lahko povzroči resno škodo sistemom, če jih ne odpravimo pravočasno. Zahvaljujoč odprti kodi se takšne ranljivosti Linuxa učinkovito odkrijejo in hitro odpravijo. Samo ne pozabite posodobiti svojega sistema. Problem ostaja samo pri Androidu. Nekatere naprave ne prejemajo več posodobitev in za to težavo še ni rešitve.

Obstaja pogosta napačna predstava, da so strežniki z operacijskim sistemom Linux najbolj varni in zaščiteni pred zunanjimi vdori. Žal temu ni tako; varnost katerega koli strežnika je odvisna od številnih dejavnikov in ukrepov za njeno zagotavljanje in je praktično neodvisna od uporabljenega operacijskega sistema.

Odločili smo se, da začnemo serijo člankov, posvečenih omrežni varnosti z Ubuntu Serverjem, saj so rešitve na tej platformi zelo zanimive za naše bralce in ker mnogi menijo, da so rešitve Linuxa same po sebi varne.

Hkrati je usmerjevalnik z namenskim naslovom IP »vrata« v lokalno omrežje in samo od skrbnika bo odvisno, ali bodo ta vrata zanesljiva ovira ali pa se bodo izkazala kot državna vrata, zaprta z žebelj.

Druga pogosta napačna predstava je sklepanje v stilu: "kdo ga potrebuje, naš strežnik, nimamo nič zanimivega." Vaše lokalno omrežje morda ne bo zanimivo za napadalce, lahko pa uporabijo vdrti strežnik za pošiljanje neželene pošte, napade na druge strežnike, anonimni proxy, skratka, kot izhodišče za svoje sumljive posle.

In to je že neprijetno in lahko služi kot vir različnih težav: od ponudnika do organov pregona. Pa o širjenju virusov, krajah in uničevanju pomembna informacija Prav tako ne smete pozabiti, kot tudi dejstva, da izpadi podjetja vodijo do precej oprijemljivih izgub.

Kljub temu, da je članek posvečen strežniku Ubuntu, si bomo najprej ogledali splošne varnostne probleme, ki veljajo enako za vsako platformo in so osnove, brez katerih nima smisla podrobneje razpravljati o tem vprašanju.

Kje se začne varnost?

Ne, varnost se ne začne s požarnim zidom, sploh se ne začne s požarnim zidom. tehnična sredstva, se varnost začne pri uporabniku. Konec koncev, kakšna je uporaba najbolj kul kovinskih vrat, ki jih vgradijo najboljši strokovnjaki, če lastnik pusti ključ pod preprogo?

Zato morate najprej opraviti varnostno revizijo. Naj vas ta beseda ne prestraši, vse ni tako zapleteno: narišite shematski načrt omrežja, na katerem označite varno območje, potencialno nevarno območje in visoko nevarno območje ter naredite seznam uporabnikov, ki imajo (morajo imeti) dostop) do teh območij.

Varno območje mora vključevati notranji viri omrežja, ki niso dostopna od zunaj in za katera je sprejemljiva nizka stopnja varnosti. To so lahko delovne postaje, datotečni strežniki itd. naprave, do katerih je dostop omejen na lokalno omrežje podjetja.

Potencialno nevarno območje vključuje strežnike in naprave, ki nimajo neposrednega dostopa do zunanjega omrežja, vendar so njihove posamezne storitve dostopne od zunaj, na primer spletni in poštni strežniki, ki se nahajajo za požarnim zidom, vendar še vedno služijo zahtevam iz zunanjega omrežja.

Nevarno območje bi moralo vključevati naprave, ki so neposredno dostopne od zunaj, v idealnem primeru bi to moral biti en usmerjevalnik.

Če je možno, je treba potencialno nevarno cono postaviti v ločeno podomrežje – demilitarizirano cono (DMZ), ki je od glavnega omrežja ločena z dodatnim požarnim zidom.

Naprave LAN morajo imeti dostop samo do tistih storitev v DMZ, ki jih potrebujejo, kot so SMTP, POP3, HTTP, druge povezave pa morajo biti blokirane. To vam bo omogočilo, da zanesljivo izolirate napadalca ali zlonamerno programsko opremo, ki je izkoristila ranljivost v ločeni storitvi v demilitariziranem območju in jim onemogočila dostop do glavnega omrežja.

Fizično je DMZ mogoče organizirati z namestitvijo ločenega požarnega zidu za strežnik/strojno opremo ali dodajanjem dodatnega omrežno kartico v usmerjevalnik, vendar boste v slednjem primeru morali zelo paziti na varnost usmerjevalnika. A v vsakem primeru je veliko lažje zagotoviti varnost enega strežnika kot skupine strežnikov.

Naslednji korak naj bo analiza seznama uporabnikov, ali vsi potrebujejo dostop do DMZ in do usmerjevalnika (z izjemo javnih storitev), posebno pozornost je treba nameniti uporabnikom, ki se povezujejo od zunaj.

Običajno to zahteva zelo nepriljubljen korak uveljavljanja politike gesel. Vsa gesla za uporabnike, ki imajo dostop do kritičnih storitev in imajo možnost povezave od zunaj, morajo vsebovati vsaj 6 znakov in vsebovati, razen male črke, znaki iz dveh kategorij od treh: velike tiskane črke, številke, neabecedni znaki.

Poleg tega geslo ne sme vključevati uporabnikove prijave ali njenega dela, ne sme vsebovati datumov ali imen, ki jih je mogoče povezati z uporabnikom, in po možnosti ne sme biti beseda iz slovarja.

Dobro je, da začnete spreminjati gesla vsakih 30-40 dni. Jasno je, da lahko takšna politika povzroči zavrnitev s strani uporabnikov, vendar se morate vedno zavedati, da so gesla všeč 123 oz qwerty enakovredno puščanju ključa pod preprogo.

Varnost strežnika - nič dodatnega.

Zdaj, ko imamo idejo o tem, kaj želimo zaščititi in pred čim, pojdimo na sam strežnik. Naredite seznam vseh storitev in storitev, nato razmislite, ali so vse potrebne na tem določenem strežniku ali jih je mogoče premakniti kam drugam.

Manj ko je storitev, lažje je zagotoviti varnost in manjša je možnost, da bi bil strežnik ogrožen zaradi kritične ranljivosti v eni od njih.

Konfigurirajte storitve, ki služijo lokalnemu omrežju (na primer squid), tako da sprejemajo zahteve izključno iz lokalnega vmesnika. Čim manj storitev je na voljo zunaj, tem bolje.

Dober pomočnik pri zagotavljanju varnosti bo skener ranljivosti, ki ga je treba uporabiti za skeniranje zunanjega vmesnika strežnika. Uporabili smo demo različico enega najbolj znanih produktov - XSpider 7.7.

Skener pokaže odprta vrata, poskuša določiti vrsto storitve, ki se izvaja, in, če je uspešna, ranljivosti zanjo. Kot lahko vidite, je pravilno konfiguriran sistem precej varen, vendar ne smete pustiti ključa pod preprogo, prisotnost odprtih vrat 1723 (VPN) in 3389 (RDP, posredovan na terminalski strežnik) je dober razlog, da razmislite o svoji politiki gesel.

Govoriti moramo tudi o varnosti SSH; to storitev običajno uporabljajo skrbniki daljinec strežnik in je zelo zanimiv za napadalce. Nastavitve SSH so shranjene v datoteki /etc/ssh/sshd_config, vse spodaj opisane spremembe se izvajajo na njem. Najprej morate onemogočiti avtorizacijo pod root uporabnikom, dodajte možnost:

DovoljenjeRootLogin št

Zdaj bo moral napadalec uganiti ne le geslo, ampak tudi prijavo, gesla superuporabnika pa še vedno ne bo poznal (upamo, da se ne ujema z vašim geslom). Vsa administrativna opravila pri povezovanju od zunaj naj se izvajajo od spodaj sudo prijava kot neprivilegirani uporabnik.

Vredno je izrecno določiti seznam dovoljenih uporabnikov in lahko uporabite vnose, kot je uporabnik@gostitelj, ki podanemu uporabniku omogoča povezavo samo z navedenega gostitelja. Na primer, če želite uporabniku ivanov omogočiti povezavo od doma (IP 1.2.3.4), dodajte naslednji vnos:

AllowUser [e-pošta zaščitena]

Onemogočite tudi uporabo zastarelega in manj varnega protokola SSH1, ki omogoča samo drugo različico protokola, za to spremenite naslednjo vrstico v obrazec:

Protokol 2

Kljub vsem sprejetim ukrepom bodo še vedno obstajali poskusi povezovanja s SSH in drugimi javnimi storitvami, uporabite pripomoček fail2ban, ki omogoča samodejno prepoved uporabnika po več neuspešnih poskusih prijave. Namestite ga lahko z ukazom:

Sudo apt-get install fail2ban

Ta pripomoček je pripravljen za delo takoj po namestitvi, vendar vam svetujemo, da to storite takoj, spremenite datoteko /etc/fail2ban/jail.conf. Privzeto je nadzorovan samo dostop do SSH in čas prepovedi je 10 minut (600 sekund), po našem mnenju ga je vredno povečati s spremembo naslednje možnosti:

Bantime = 6000

Nato se pomikajte po datoteki in omogočite razdelke za storitve, ki se izvajajo v vašem sistemu, tako da nastavite parameter za imenom ustreznega razdelka omogočeno v stanju prav, na primer za storitev proftpd izgledalo bo takole:


omogočeno = res

Še ena pomemben parameter maxretry, ki je odgovoren za največje število poskusov povezave. Po spremembi nastavitev ne pozabite znova zagnati storitve:

Znova zaženite Sudo /etc/init.d/fail2ban

Dnevnik pripomočka si lahko ogledate na /var/log/fail2ban.log.

Po podatkih cvedetails.com je bilo od leta 1999 v jedru Linuxa najdenih 1305 ranljivosti, od tega 68 leta 2015. Večina jih ne predstavlja posebnih težav, označeni so kot Local in Low, nekatere pa je mogoče priklicati le ob povezavi z določenimi aplikacijami ali nastavitvami OS. Načeloma so številke majhne, ​​vendar jedro ni celoten OS. Ranljivosti najdemo tudi v GNU Coreutils, Binutils, glibs in seveda v uporabniških aplikacijah. Poglejmo si najbolj zanimive.

RANLJIVOST V JEDRU LINUX

OS: Linux
stopnja: Srednje, Nizko
Vektor: Daljinsko
CVE: CVE-2015-3331, CVE-2015-4001, CVE-2015-4002, CVE-2015-4003
Izkoriščanje: koncept, https://lkml.org/lkml/2015/5/13/740, https://lkml.org/lkml/2015/5/13/744

Ranljivost, odkrita junija v jedru Linuxa pred 3.19.3 v funkciji __driver_rfc4106_decrypt v arch/x86/crypto/aesni-intel_glue.c, je posledica implementacije RFC4106 za procesorje x86, ki podpirajo razširitev niza navodil AES AES-NI (predlagano Intel, Intel Advanced Encryption Standard Instructions) v nekaterih primerih ne izračuna pravilno naslovov medpomnilnika. Če je tunel IPsec konfiguriran za uporabo tega načina (algoritem AES - CONFIG_CRYPTO_AES_NI_INTEL), lahko ranljivost povzroči okvaro pomnilnika, zrušitve in potencialno oddaljeno izvajanje kode CryptoAPI. Še več, najbolj zanimivo je to, da lahko težava nastane sama od sebe, v povsem legalnem prometu, brez zunanjega posredovanja. V času objave je bila težava rešena.

V gonilniku ozwpan za Linux 4.0.5, ki ima eksperimentalni status, je bilo ugotovljenih pet ranljivosti, od katerih štiri omogočajo organizacijo napada DoS z zrušitvijo jedra s pošiljanjem posebej zasnovanih paketov. Težava je povezana s prekoračitvijo vmesnega pomnilnika zaradi nepravilnega ravnanja s predpisanimi celimi števili, pri čemer je izračun v memcpy med required_size in offset vrnil negativno število, posledično se podatki prekopirajo v kopico.

Najdeno v funkciji oz_hcd_get_desc_cnf v drivers/staging/ozwpan/ozhcd.c in v funkcijah oz_usb_rx in oz_usb_handle_ep_data datoteke drivers/staging/ozwpan/ozusbsvc1.c. Druge ranljivosti so vključevale možno deljenje z 0, sistemsko zanko ali zmožnost branja iz območij zunaj meja dodeljenega medpomnilnika.

Gonilnik ozwpan, nov dodatek k Linuxu, je mogoče združiti z obstoječimi brezžičnimi napravami, ki so združljive s tehnologijo Ozmo Devices ( Wi-Fi Direct). Zagotavlja izvedbo gostiteljskega krmilnika USB, vendar je trik v tem, da periferna naprava namesto fizične povezave komunicira prek Wi-Fi. Gonilnik sprejme omrežne pakete z vrsto (ethertype) 0x892e, jih nato razčleni in prevede v različne funkcije USB. Zaenkrat se uporablja v redkih primerih, zato ga lahko onemogočite z razkladanjem modula ozwpan.ko.

LINUX UBUNTU

OS: Linux Ubuntu 04/12–04/15 (jedro do 15. junija 2015)
stopnja: Kritično
Vektor: Lokalno
CVE: CVE-2015-1328
Izkoriščanje: https://www.exploit-db.com/exploits/37292/

Kritična ranljivost v datotečnem sistemu OverlayFS omogoča korenski dostop do sistemov Ubuntu, ki dovoljujejo namestitev particij OverlayFS neprivilegiranemu uporabniku. Privzete nastavitve, potrebne za izkoriščanje ranljivosti, se uporabljajo v vseh vejah Ubuntu 12.04–15.04. Sama OverlayFS se je v jedru Linuxa pojavila razmeroma nedavno - od 3.18-rc2 (2014) je razvoj SUSE za zamenjavo UnionFS in AUFS. OverlayFS vam omogoča ustvarjanje navideznega večplastnega sloja datotečni sistem, ki združuje več delov drugih datotečnih sistemov.

Datotečni sistem je ustvarjen iz spodnje in zgornje plasti, od katerih je vsaka pritrjena na ločene imenike. Spodnja plast se uporablja samo za branje v imenikih vseh datotečnih sistemov, ki jih podpira Linux, vključno z omrežnimi. Zgornja plast je običajno zapisljiva in bo preglasila podatke v spodnji plasti, če so datoteke podvojene. Zahtevan je v distribucijah Live, sistemih za virtualizacijo vsebnikov in za organizacijo delovanja vsebnikov za nekatere namizne aplikacije. Uporabniški imenski prostori vam omogočajo ustvarjanje lastnih nizov ID-jev uporabnikov in skupin v vsebnikih. Ranljivost je posledica nepravilnega preverjanja pravic dostopa pri ustvarjanju novih datotek v imeniku osnovnega datotečnega sistema.

Če je jedro zgrajeno s CONFIG_USER_NS=y (omogočanje uporabniškega imenskega prostora) in je pri namestitvi podana zastavica FS_USERNS_MOUNT, lahko OverlayFS namesti običajni uporabnik v drugem imenskem prostoru, vključno s tistimi, kjer operacije z korenske pravice. V tem primeru operacije z datotekami s korenskimi pravicami, ki se izvajajo v takšnih imenskih prostorih, prejmejo enake privilegije, ko izvajajo dejanja z osnovnim datotečnim sistemom. Zato lahko namestite katero koli particijo FS in si ogledate ali spremenite katero koli datoteko ali imenik.

V času objave je bila že na voljo posodobitev jedra s fiksnim modulom OverlayFS iz Ubuntuja. In če je sistem posodobljen, ne bi smelo biti težav. V istem primeru, ko posodobitev ni mogoča, morate kot začasen ukrep prenehati uporabljati OverlayFS tako, da odstranite modul overlayfs.ko.

RANLJIVOST V KLJUČNIH APLIKACIJAH

OS: Linux
stopnja: Kritično
Vektor: lokalno, oddaljeno
CVE: CVE-2015-0235
Izkoriščanje: https://www.qualys.com/research/security-advisories/exim_ghost_bof.rb

Nevarna ranljivost v standardna knjižnica GNU glibc, ki je osrednji del operacijskega sistema Linux in v nekaterih različicah Oracle Communications Applications in Oracle Pillar Axiom, ki so ga med revizijo kode odkrili hekerji Qualys. Prejel je kodno ime DUH. To je prekoračitev medpomnilnika znotraj funkcije __nss_hostname_digits_dots(), ki jo uporabljajo funkcije glibc, kot sta gethostbyname() in gethostbyname2(), da pridobijo ime gostitelja (od tod tudi ime GetHOST). Če želite izkoristiti ranljivost, morate povzročiti prekoračitev medpomnilnika z uporabo neveljavnega argumenta imena gostitelja za aplikacijo, ki izvaja razreševanje imen prek DNS. Teoretično je to ranljivost mogoče uporabiti za katero koli aplikacijo, ki v eni ali drugi meri uporablja omrežje. Lahko se kliče lokalno in na daljavo, kar omogoča izvajanje poljubne kode.

Najbolj zanimivo je, da je bila napaka odpravljena že maja 2013, popravek je bil predstavljen med izdajama glibc 2.17 in 2.18, vendar težava ni bila razvrščena kot varnostni popravek, zato ji ni bila posvečena pozornost. Posledično se je veliko distribucij izkazalo za ranljive. Sprva so poročali, da je bila prva ranljiva različica 2.2 z dne 10. novembra 2000, vendar obstaja možnost, da se bo pojavila do 2.0. Med drugim so bile prizadete distribucije RHEL/CentOS 5.x–7.x, Debian 7 in Ubuntu 12.04 LTS. Trenutno so na voljo hitri popravki. Hekerji so sami predlagali pripomoček, ki pojasnjuje bistvo ranljivosti in vam omogoča, da preverite svoj sistem. V Ubuntu 12.04.4 LTS je vse v redu:

$ wget https : //goo.gl/RuunlE

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

$. / CVE - 2015 - 0235

ni ranljiv

Preverjanje sistema na GHOST

Skoraj takoj je bil izdan modul, ki omogoča oddaljeno izvajanje kode na x86 in x86_64 Linux z delujočim poštni strežnik Exim (z omogočenimi helo_try_verify_hosts ali helo_verify_hosts). Kasneje so se pojavile druge izvedbe, na primer modul Metasploit za preverjanje bloga na WordPressu.

Malo kasneje, leta 2015, so bile v GNU glibc odkrite še tri ranljivosti, ki so oddaljenemu uporabniku omogočile izvedbo napada DoS ali prepisovanje pomnilniških celic zunaj meja sklada: CVE-2015-1472, CVE-2015-1473, CVE-2015- 1781.

OS: Linux (GNU Coreutils)
stopnja: Nizka
Vektor: Lokalno, oddaljeno
CVE: CVE-2014-9471
Izkoriščanje:št

GNU Coreutils je eden glavnih paketov *nix, ki vključuje skoraj vse osnovne pripomočke (cat, ls, rm, date ...). Težava je bila najdena v datumu. Napaka v funkciji parse_datetime omogoča oddaljenemu napadalcu brez račun v sistemu povzroči zavrnitev storitve in po možnosti izvede poljubno kodo prek posebej izdelanega datumskega niza z uporabo časovnega pasu. Ranljivost je videti takole:

$ dotik '-- datum = TZ = ”123”345”@1'

Napaka segmentacije

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

Napaka segmentacije

$ datum '-- datum = TZ = ”123”345”@1'

* * * Napaka v ` datumu ': brezplačno () : neveljaven kazalec : 0xbfc11414 * * *

Ranljivost v GNU Coreutils

Če ni nobene ranljivosti, bomo prejeli sporočilo o nepravilni obliki datuma. Skoraj vsi razvijalci distribucij Linuxa so poročali o prisotnosti ranljivosti. Trenutno je na voljo posodobitev.


Običajni izhod popravljenih GNU Coreutils

OS: Linux (grep 2.19–2.21)
stopnja: Nizka
Vektor: Lokalno
CVE: CVE-2015-1345
Izkoriščanje:št

Ranljivosti so redko najdene v pripomočku grep, ki se uporablja za iskanje besedila z vzorcem. Toda ta pripomoček pogosto kličejo drugi programi, vključno s sistemskimi, zato je prisotnost ranljivosti veliko bolj problematična, kot se zdi na prvi pogled. Napaka v funkciji bmexec_trans v kwset.c lahko povzroči branje neinicializiranih podatkov iz območja zunaj dodeljenega medpomnilnika ali povzroči zrušitev aplikacije. Heker lahko to izkoristi tako, da z uporabo grep -F ustvari poseben nabor podatkov, dobavljenih v vhod aplikacije. Posodobitve so trenutno na voljo. Ni nobenih izkoriščanj, ki bi uporabljali ranljivost ali modul za Metasploit.

RANLJIVOST V FREEBSD

OS: FreeBSD
stopnja: Nizka
Vektor: Lokalno, oddaljeno
CVE: CVE-2014-0998, CVE-2014-8612, CVE-2014-8613
Izkoriščanje: https://www.exploit-db.com/exploits/35938/

V bazi CVE za leto 2015 ni veliko ranljivosti, natančneje le šest. Raziskovalci skupine Core Exploit Writers Team so konec januarja 2015 odkrili tri ranljivosti v FreeBSD 8.4–10.x. CVE-2014-0998 je povezan z implementacijo gonilnika konzole VT (Newcons), ki zagotavlja več virtualnih terminalov, omogočenih s parametrom kern.vty=vt v /boot/loader.conf.
CVE-2014-8612 se pojavi pri uporabi protokola SCTP in je posledica napake v kodi za preverjanje ID-ja toka SCTP, ki izvaja vtičnice SCTP (lokalna vrata 4444). Bistvo je napaka zmanjkanja pomnilnika v funkciji sctp_setopt() (sys/netinet/sctp_userreq.c). To daje lokalnemu neprivilegiranemu uporabniku možnost, da zapiše ali prebere 16 bitov pomnilniških podatkov jedra in poveča svoje privilegije v sistemu, razkrije občutljive podatke ali zruši sistem.

CVE-2014-8613 dovoljuje, da se pri obdelavi zunanje prejetega paketa SCTP sproži dereferenca kazalca NULL, ko je nastavljena možnost vtičnice SCTP_SS_VALUE. Za razliko od prejšnjih različic je CVE-2014-8613 mogoče uporabiti za oddaljeno povzročitev zrušitve jedra s pošiljanjem posebej oblikovanih paketov. V FreeBSD 10.1 se lahko zaščitite tako, da spremenljivko net.inet.sctp.reconfig_enable nastavite na 0 in s tem onemogočite obdelavo blokov RE_CONFIG. Ali preprosto prepove aplikacije (brskalnike, poštni odjemalci in tako naprej). Čeprav so v času objave razvijalci že izdali posodobitev.


Statistika ranljivosti FreeBSD

RANLJIVOST V OPENSSL

OS: OpenSSL
stopnja: Daljinsko
Vektor: Lokalno
CVE: CVE-2015-1793
Izkoriščanje:št

Leta 2014 je bila v OpenSSL, široko uporabljenem kriptografskem paketu za delo s SSL/TLS, odkrita kritična ranljivost Heartbleed. Incident je nekoč povzročil množične kritike kakovosti kode in po eni strani je to privedlo do pojava alternativ, kot je LibreSSL, po drugi strani pa so se razvijalci sami končno lotili dela.

Najboljši prodajalci glede na ranljivosti

Kritično ranljivost sta odkrila Adam Langley iz Googla in David Benjamin iz BoringSSL. Spremembe v različicah OpenSSL 1.0.1n in 1.0.2b so povzročile, da je OpenSSL poskušal najti alternativno verigo preverjanja potrdil, če je bil prvi poskus izgradnje verige zaupanja neuspešen. To vam omogoča, da obidete postopek preverjanja potrdila in organizirate potrjeno povezavo s ponarejenim potrdilom, z drugimi besedami - mirno privabite uporabnika na lažna spletna mesta ali strežnike E-naslov ali izvede kakršen koli napad MITM, kjer se uporablja potrdilo.

Po odkritju ranljivosti so razvijalci 9. julija izdali izdaji 1.0.1p in 1.0.2d, ki sta odpravili to težavo. Različice 0.9.8 ali 1.0.0 nimajo te ranljivosti.

Linux.Encoder

Konec jeseni je zaznamoval pojav številnih šifrirnih virusov, najprej Linux.Encoder.0, sledili pa sta mu še modifikaciji Linux.Encoder.1 in Linux.Encoder.2, ki sta okužila več kot 2500 spletnih mest. Po podatkih protivirusnih podjetij so napadeni strežniki Linux in FreeBSD s spletnimi mesti, ki delujejo z uporabo različnih CMS-jev - WordPress, Magento CMS, Joomla in drugi. Hekerji izkoriščajo neznano ranljivost. Nato je bila nameščena lupinska skripta (datoteka error.php), s pomočjo katere je morebitna nadaljnje ukrepe(prek brskalnika). Predvsem je bil lansiran trojanec za kodiranje Linuxa.

Encoder, ki je določil arhitekturo OS in sprožil izsiljevalsko programsko opremo. Kodirnik je bil zagnan s pravicami spletnega strežnika (Ubuntu - www-data), kar je povsem dovolj za šifriranje datotek v imeniku, v katerem so shranjene datoteke in komponente CMS. Šifrirane datoteke dobijo novo pripono.encrypted.

Izsiljevalska programska oprema poskuša zaobiti tudi druge imenike OS; če so pravice konfigurirane nepravilno, lahko zlahka preseže meje spletnega mesta. Nato je bila v imenik shranjena datoteka README_FOR_DECRYPT.txt, ki vsebuje navodila za dešifriranje datotek in zahteve hekerja. Vklopljeno ta trenutek protivirusna podjetja so predstavila pripomočke, ki vam omogočajo dešifriranje imenikov. Na primer, komplet iz Bitdefenderja. Vendar se morate spomniti, da vsi pripomočki, namenjeni dešifriranju datotek, ne odstranijo lupinske kode in vse se lahko ponovi.

Glede na to, da veliko uporabnikov, ki razvijajo ali eksperimentirajo z administracijo spletnega mesta, pogosto namestijo spletni strežnik domači računalnik, bi morali skrbeti za varnost: blokirajte dostop od zunaj, posodobite programsko opremo, izvajajte poskuse na VM. In samo idejo bi lahko v prihodnosti uporabili za napad na domače sisteme.

ZAKLJUČEK

Kompleksna programska oprema brez napak fizično ne obstaja, zato se morate sprijazniti s tem, da se bodo ranljivosti nenehno odkrivale. Vendar ne morejo biti vsi zares problematični. In zaščitite se lahko tako, da vzamete preprosti koraki: odstranite neuporabljeno programsko opremo, spremljajte nove ranljivosti in obvezno namestite varnostne posodobitve, konfigurirajte požarni zid, namestite protivirusni program. In ne pozabite na posebne tehnologije, kot je SELinux, ki so povsem sposobne ogroziti demon ali uporabniško aplikacijo.