Usikker autentisering x vindu ubuntu. Farlige Linux-sårbarheter. Sårbarheter i kjerneapplikasjoner

Selvfølgelig kan vi si det Linux mer sikker(beskyttet) enn Windows. Sikkerhet V Linux innebygd, og ikke skrudd et sted på siden, slik det er implementert i Windows. Sikkerhet systemer Linux dekker området fra kjernen til skrivebordet, men det er muligheter for hackere å skade hjemmekatalogen din (/home).

Bytes med bilder, hjemmevideoer, dokumenter og kredittkort- eller lommebokdata er den mest verdifulle informasjonen på en datamaskin. Selvfølgelig er Linux ikke mottakelig for alle typer Internett-ormer og virus for Windows. Men angripere kan finne en måte å få tilgang til dataene dine på hjemmekatalogen din.

Etter å ha klargjort din gamle datamaskin eller HDD formatering før salg, tror du det vil være nok? Det finnes mange moderne verktøy for datagjenoppretting. En hacker kan enkelt gjenopprette dataene dine fra harddisk, uavhengig av hvilket operativsystem du jobbet i.

På dette emnet husker jeg erfaringen til ett selskap med å gjenkjøpe brukte datamaskiner og disker. I løpet av deres aktiviteter avsa de en dom om at 90 % av de tidligere eierne av datamaskinen deres ikke tok seg ordentlig av å rense lagringsmediene før de solgte den. Og de hentet ut svært sensitive bytes med data. Det er skummelt å forestille seg at det et sted i skuffene på harddisken din vil være informasjon for å logge inn på nettbanken eller nettlommeboken.

Kom i gang med grunnleggende Linux-sikkerhet

La oss gå til det grunnleggende (), som vil passe nesten alle
Linux-distribusjoner.

La oss kryptere filsystemet i Linux for mer fullstendig Linux-sikkerhet

Egendefinerte passord vil ikke løse problemet med mindre du virkelig vil at ingen skal kunne lese hjemmekatalogen din (/home) eller en viss bytestørrelse. Du kan gjøre det på en slik måte at selv en bruker med de høyeste root-privilegiene ikke vil kunne stikke nesen inn i den.

Slett sensitive filer slik at ingen andre kan gjenopprette dem

Hvis du bestemmer deg for å selge eller gi bort datamaskinen eller lagringsmediet, ikke tro at bare formatering vil slette filene dine permanent. Du kan installere verktøyet for sikker sletting på Linux, som inkluderer srm-verktøyet for sikker sletting av filer.

Ikke glem brannmuren i Linux-kjernen. Inkludert i alt Linux-distribusjoner inkluderer lptables, som er en del av kjernen. Lptables lar deg filtrere nettverkspakker. Selvfølgelig kan du konfigurere dette verktøyet i terminalen. Men denne metoden er utenfor evnene til mange, inkludert meg. Så jeg installerer og konfigurerer det like enkelt som om jeg spilte et spill.

Som alle operativsystemer, er Linux utsatt for akkumulering av all slags søppel når du kjører ulike applikasjoner. Og det er ikke Linux sin feil, siden ulike applikasjoner, som nettlesere, tekstredigerere og til og med videospillere, ikke fungerer på kjernenivå og samler opp midlertidige filer. Du kan installere BleachBit-verktøyet for universell fjerning av søppel.

Anonym surfing, skjuler IP-en din - veldig viktig for sikkerheten til identiteten din under Linux


Avslutningsvis vil jeg fortelle deg om anonym nettsurfing. Noen ganger hender det at det er nødvendig, som jeg gjør når jeg, i hemmelighet fra min kone, besøker nettsteder med erotisk innhold. Selvfølgelig tullet jeg.

Det vil være vanskelig for angripere å nå deg hvis de ikke kan fastslå posisjonen din. Vi dekker sporene våre med et enkelt oppsett av to verktøy som jobber sammen kalt privoxy og tor.

Etter min mening vil det å følge og konfigurere alle disse reglene holde deg og datamaskinen din 90% trygg.

P.S. Jeg bruker en sky kalt dropbox. Jeg lagrer mine gamle og nye, ennå ikke publiserte artikler i den. Det er praktisk å ha tilgang til filene dine fra hvor som helst i verden og på hvilken som helst datamaskin. Når du skriver artikler for et nettsted i tekstredigerer, jeg sparer min tekstdokumenter med et passord og først etter det laster jeg det opp til dropbox-serveren. Du bør aldri overse ekstra sikkerhet, som bare vil spille i hendene dine.

Hei alle sammen... Alle nybegynnere administratorer under Ubuntu har i oppgave å sette opp nettverksgrensesnitt (nettverk, nettverkskort) I denne artikkelen vil jeg vise deg hvordan du gjør dette... Det gjøres veldig enkelt...

Hvis du på en eller annen måte savnet å sette opp nettverket eller så problemer med å installere distribusjonen, vil vi nå gjøre det manuelt. Og så har vi distribusjonen installert og venter på oss i angrep... Vi må konfigurere 2 nettverkskort..... En av oss står overfor leverandøren og de andre står overfor lokalt nettverk. La oss bli enige med en gang og angi våre grensesnitt og adresser.

eth0— 192.168.0.1 (la oss si at dette er adressen utstedt av leverandøren) Grensesnitt som ser på Internett (leverandør)
eth1— 10.0.0.1 (adressen vi ønsker å gi til dette grensesnittet) Grensesnittet som vender mot det lokale nettverket

Først av alt, la oss sjekke hvilke grensesnitt vi allerede har lansert med kommandoen ifconfig Du vil se noe slikt (bare med dataene dine i stedet for xxxxx)

Eth0 Link encap:Ethernet HWaddr хх:хх:хх:хх:хх:хх inet addr:xxx.xxx.xxx.xxx Bcast:xxx.xxx.xxxx.xxx Maske:255.255.255.252 inet:xxxx:xxx:xxx :xxx:xxxx/64 Omfang:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metrisk:1 RX-pakker:31694097 feil:0 droppet:0 overløp:0 ramme:0 TX-pakker:15166512 feil:0 droppet:0 overskridelser:0 transportør: 0 kollisjoner:0 txqueuelen:100 RX bytes:2215593127 (2,2 GB) TX bytes:1577680249 (1,5 GB) Minne:b8820000-b8840000 eth1 Link encap:Ethernet HWaddr xx:xx:0xx inetxx:.xx:0xx 0.1 Bcast:10.0.0.255 Maske:255.255.255.0 inet6 xxxx: xxxx::xxxx:xxxf:xxx:xxx/64 Omfang:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metrisk:1 RX-pakker:1135020 droppet:11350000 :0 ramme:0 TX-pakker:21539638 feil:0 droppet:0 overskridelser:0 bærer:0 kollisjoner:0 txqueuelen:100 RX-bytes:1262641422 (1,2 GB) TX-bytes:1922838889 (1,9 GB) Minne: lo80008b08 Lenke:lo80008b08 encap:Local loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metrisk:1 RX-pakker:3823 feil:0 droppet:0 overløp: 0 ramme: 0 TX-pakker:3823 feil:0 droppet:0 overskridelser:0 transportør:0 kollisjoner:0 txqueuelen:0 RX-bytes:717663 (717,6 KB) TX-bytes:717663 (717,6 KB)

Hvis et av grensesnittene ikke vises, er det greit. Den er bare deaktivert, la oss slå den på med kommandoen sudo ifconfig eth1 opp(i stedet for eth1, skriv inn grensesnittet ditt, hvis du har 2 nettverkskort, er det bare 2 grensesnitt: eth0 og eth1) Og så aktiverer vi grensesnittet vårt:

sudo ifconfig eth1 opp

Og så la oss begynne å sette opp.

La oss tildele eth0-grensesnittet IP-adressen utstedt av leverandøren med følgende kommando:

sudo ifconfig eth1 inet 192.168.0.2

Og spesifiser nettverksmasken:

sudo ifconfig eth0 nettmaske 255.255.255.0

Innstillinger gjort på denne måten tilbakestilles etter at serveren er startet på nytt.
For å forhindre at dette skjer, må du endre innstillingene i konfigurasjonsfil nettverksgrensesnitt. For dette trenger du rotrettigheter. La oss få rettighetene Rot med følgende kommando:

sudo su

Konfigurasjonsfilen for nettverksgrensesnittet er plassert på /etc/nettverk/grensesnitt For å redigere den bruker vi Nano-editoren (du kan bruke din egen editor) Jeg liker den Nano

nano /etc/network/interfaces

Vi ser følgende:

# Denne filen beskriver nettverksgrensesnittene som er tilgjengelige på systemet ditt # og hvordan du aktiverer dem. For mer informasjon, se grensesnitt(5). # Loopback-nettverksgrensesnittet auto lo iface lo inet loopback # Det primære nettverksgrensesnittet//Primært nettverksgrensesnitt auto eth0//Tilordne følgende attributter til nettverksgrensesnittet iface eth0 inet statisk//Aktiver nettverksgrensesnittet automatisk adresse 192.168.0.2//ip-adressen til nettverkskortet vårt (utstedt av leverandøren) nettmaske 255.255.255.0//Nettverksmaske der vår IP er plassert nettverk 192.168.0.0//Nettverk av hele serien kringkasting 192.168.0.255//Maks. antall adresser gateway 192.168.0.1//Inngangsport # dns-* alternativer implementeres av resolvconf-pakken, hvis installert

Det er nødvendig å redusere det til følgende form

# Denne filen beskriver nettverksgrensesnittene som er tilgjengelige på ditt system # og hvordan du aktiverer dem. For mer informasjon, se grensesnitt(5). # The loopback-nettverksgrensesnitt auto lo iface lo inet loopback # Det primære nettverksgrensesnittet auto eth0 iface eth0 inet statisk adresse 192.168.0.2 nettmaske 255.255.255.0 nettverk 192.168.0.0 gateway 192.168.0.1 # dns-* alternativene er implementert av resol-pakken hvis installert dns-navneservere 192.168.22.22 192.168.33.33 #Grensesnitt som ser inn i det lokale nettverket auto eth1 iface eth1 inet statisk adresse 10.0.0.1 nettmaske 255.255.255.0

Lagre endringene ved å klikke Ctrl-taster+ O og avslutt ved å trykke Ctrl + X

DNS-serveradresser kan settes i filen /etc/network/interfaces, men DNS-serveradresser i Ubuntu administreres gjennom filen /etc/resolv.conf; for meg ser det slik ut:

navneserver xx.xx.xx.xx navneserver xx.xx.xx.xx

La oss konfigurere DNS; for å gjøre dette, skriv inn følgende kommando på linjen:

Sudo nano /etc/resolv.conf # IP-adresser til leverandørens DNS-servere navneserver хх.ххх.ххх.ххх navneserver ххх.ххх.хх.ххх

La oss spare Ctrl + O og vi går ut Ctrl +x du må også starte nettverket på nytt med følgende kommando.

Vi vet alle at operasjonssalen Linux-system mye sikrere enn Windows takket være sin arkitektur og et spesielt system for å distribuere tilgang mellom brukere. Men programmerere er også mennesker, uansett hvor mye vi liker det, gjør de også feil. Og på grunn av disse feilene oppstår det hull i systemet som angripere kan omgå sikkerhetssystemer gjennom.

Disse feilene kalles sårbarheter og kan oppstå i ulike programmer og selv i selve kjernen av systemet, undergraver dets sikkerhet. Bak i fjor Linuxs popularitet har begynt å vokse og sikkerhetsforskere legger mer vekt på dette systemet. Flere og flere sårbarheter blir oppdaget, og takket være åpen kildekode kan de elimineres veldig raskt. I denne artikkelen vil vi se på de farligste Linux-sårbarhetene som har blitt oppdaget de siste årene.

Før du går videre til listen over sårbarheter, er det viktig å forstå hva de er og hva de er. Som sagt er en sårbarhet en feil i et program som lar en bruker bruke programmet på en måte som ikke var ment av utvikleren.

Dette kan være mangel på kontroll for riktigheten av de mottatte dataene, kontroll av datakilden og, mest interessant, størrelsen på dataene. De farligste sårbarhetene er de som tillater utførelse av vilkårlig kode. I tilfeldig tilgangsminne alle data har en viss størrelse og programmet er designet for å skrive data fra brukeren av en viss størrelse inn i minnet. Hvis brukeren sender mer data, bør det gi en feil.

Men hvis programmereren gjør en feil, vil dataene overskrive programkoden og prosessoren vil prøve å utføre den, og dermed skape bufferoverløpssårbarheter.

Dessuten kan alle sårbarheter deles inn i lokale, som kun fungerer hvis hackeren har tilgang til lokal datamaskin og ekstern, når tilgang via Internett er tilstrekkelig. La oss nå gå videre til listen over sårbarheter.

1. Skitten ku

Den første på listen vår vil være en ny sårbarhet som ble oppdaget i høst. Navnet Dirty COW står for Copy on Write. Det oppstår en feil i filsystemet under kopiering ved skriving. Dette er en lokal sårbarhet som lar enhver uprivilegert bruker få full tilgang til systemet.

Kort sagt, for å utnytte sårbarheten trenger du to filer, den ene kan kun skrives på vegne av superbrukeren, den andre for oss. Vi begynner å skrive data til filen vår mange ganger og lese fra superbrukerfilen, gjennom Viss tid det vil komme en tid da bufferne til begge filene blandes og brukeren vil kunne skrive data til en fil som han ikke kan skrive, og dermed gi seg selv rotrettigheter i systemet.

Sårbarheten var i kjernen i omtrent 10 år, men etter oppdagelsen ble den raskt fikset, selv om det fortsatt er millioner av Andoid-enheter der kjernen ikke har blitt oppdatert og ikke tenker, og hvor denne sårbarheten kan utnyttes. Sårbarhetskoden var CVE-2016-5195.

2. Glibc-sårbarhet

Sårbarhetskoden var CVE-2015-7547. Dette har vært en av de mest omtalte sårbarhetene blant åpen kildekode-prosjekter. I februar 2016 ble det oppdaget at Glibc-biblioteket har en svært alvorlig sårbarhet som lar en angriper kjøre koden sin på et eksternt system.

Det er viktig å merke seg at Glibc er en implementering av standard C- og C++-biblioteket, som brukes i de fleste Linux-programmer, inkludert tjenester og programmeringsspråk som PHP, Python, Perl.

Det ble gjort en feil i koden for å analysere DNS-serversvaret. Dermed kan sårbarheten utnyttes av hackere hvis DNS ble aksessert av sårbare maskiner, samt av de som utfører et MITM-angrep. Men sårbarheten ga full kontroll over systemet

Sårbarheten hadde vært i biblioteket siden 2008, men etter oppdagelsen ble oppdateringene utgitt ganske raskt.

3. Hjerteblødning

I 2014 ble en av de mest alvorlige sårbarhetene med tanke på omfang og konsekvenser oppdaget. Det ble forårsaket av en feil i heartdead-modulen til OpenSSL-programmet, derav navnet Heartbleed. Sårbarheten tillot angripere å få direkte tilgang til 64 kilobyte server-RAM; angrepet kunne gjentas til alt minnet ble lest.

Selv om rettelsen ble utgitt veldig raskt, ble mange nettsteder og applikasjoner berørt. Faktisk var alle nettsteder som brukte HTTPS for å sikre trafikk sårbare. Angripere kunne skaffe brukerpassord, deres personlige data og alt som var i minnet på tidspunktet for angrepet. Sårbarhetskoden var CVE-2014-0160.

4.Stageskrekk

Hvis en sårbarhet har fått et kodenavn, betyr dette helt klart at den fortjener oppmerksomhet. Stagerfight-sårbarheten er intet unntak. Riktignok er dette egentlig ikke et Linux-problem. Stagefright er et bibliotek for behandling av multimedieformater i Android.

Den er implementert i C++, noe som betyr at den omgår alle Java-sikkerhetsmekanismer. I 2015 ble det oppdaget en hel gruppe sårbarheter som gjorde det mulig å eksternt eksekvere vilkårlig kode på systemet. Her er de: CVE-2015-1538, CVE-2015-1539, CVE-2015-3824, CVE-2015-3826, CVE-2015-3827, CVE-2015-3828 og CVE-2015-3829.

Alt en angriper måtte gjøre var å sende en MMS til en sårbar smarttelefon med en spesialmodifisert mediefil, og han ville få full kontroll over enheten med muligheten til å skrive og lese data fra et minnekort. Sårbarheten ble løst av Android-utviklere, men millioner av enheter er fortsatt sårbare.

5. Kjernens nulldagers sårbarhet

Dette er en lokal sårbarhet som gir mulighet for heving av privilegier. nåværende brukerå rote på grunn av en feil i systemet for arbeid med kjernekryptografiske data lagret i minnet. Den ble oppdaget i februar 2016 og dekket alle kjerner fra og med 3.8, noe som betyr at sårbarheten eksisterte i 4 år.

Feilen kan brukes av hackere eller skadelig programvareå øke sin autoritet i systemet, men ble veldig raskt korrigert.

6. Sårbarhet i MySQL

Dette sikkerhetsproblemet mottok koden CVE-2016-6662 og påvirket alle tilgjengelige versjoner databaseservere MySQL-data(5.7.15, 5.6.33 og 5.5.52), Oracle-databaser og MariaDB- og PerconaDB-kloner.

Angripere kan få full tilgang til systemet gjennom SQL-spørring kode ble overført som tillot deg å erstatte my.conf med din versjon og starte serveren på nytt. Det var også mulig å kjøre ondsinnet kode med superbrukerrettigheter.

MariaDB- og PerconaDB-løsninger ga ut patcher ganske raskt, svarte Oracle, men mye senere.

7. Shellshock

Denne sårbarheten ble oppdaget i 2014 før den varte i 22 år. Den ble tildelt CVE-2014-6271 og kodenavnet Shellshock. Denne sårbarheten er sammenlignbar i fare med Heartbleed, som vi allerede vet. Det er forårsaket av en feil i Bash-kommandotolken, som er standard kommandotolk på de fleste Linux-distribusjoner.

Bash lar deg erklære Miljøvariabler uten brukerautentisering, men sammen kan du utføre en hvilken som helst kommando i dem. Dette er spesielt farlig i CGI-skript, som støttes av de fleste nettsteder. Ikke bare servere er sårbare, men også personlige datamaskiner brukere, rutere og andre enheter. Faktisk kan en angriper utføre en hvilken som helst kommando eksternt; dette er fullverdig fjernkontroll uten autentisering.

Alle versjoner av Bash ble berørt, inkludert 4.3, men etter at problemet ble oppdaget, ga utviklerne raskt ut en løsning.

8. Quadroter

Dette er en hel serie med sårbarheter i Android, som ble oppdaget i august 2016. De mottok kodene CVE-2016-5340, CVE-2016-2059, CVE-2016-2504, CVE-2016-2503. Mer enn 900 millioner er rammet av feilen Android-enheter. Alle sårbarheter ble funnet i Qualcomm ARM-prosessordriveren, og alle kan brukes til får rot tilgang til enheten.

I likhet med DirtyCOW trenger du ingen tillatelser her, bare installer en ondsinnet applikasjon, og den vil kunne hente alle dataene dine og overføre dem til angriperen.

9. Sårbarhet i OpenJDK

Dette er et svært alvorlig Linux 2016-sårbarhet i OpenJDK Java-maskinen med kode CVE-2016-0636, det påvirker alle brukere som kjører Oracle Java SE 7 Update 97 og 8 Update 73 og 74 for Windows, Solaris, Linux og Mac OS X. sårbarhet lar en angriper kjøre vilkårlig kode utenfor Java-maskinen hvis du åpner en spesiell side i en nettleser med en sårbar versjon av Java.

Dette tillot angriperen å få tilgang til passordene dine, personlige data og også kjøre programmer på datamaskinen din. I alt Java-versjoner Feilen ble rettet veldig raskt; den har eksistert siden 2013.

10. HTTP/2-protokollsårbarhet

Dette er en hel serie med sårbarheter som ble oppdaget i 2016 i HTTP/2-protokollen. De mottok kodene CVE-2015-8659, CVE-2016-0150, CVE-2016-1546, CVE-2016-2525, CVE-2016-1544. Alle implementeringer av denne protokollen i Apache, Nginx Microsoft, Jetty og nghttp2 var sårbare.

Alle lar en angriper redusere hastigheten på webserveren og utføre et tjenestenektangrep. For eksempel førte en av feilene til muligheten for å sende en liten melding, som på serveren ble pakket ut i gigabyte. Feilen ble fikset veldig raskt og forårsaket derfor ikke mye støy i samfunnet.

Er du trygg?

I denne artikkelen så vi på de farligste Linux-sårbarhetene i 2016, 2015 og 2014. De fleste av dem kan forårsake alvorlig skade på systemer hvis de ikke ble korrigert i tide. Takket være åpen kildekode blir slike Linux-sårbarheter effektivt oppdaget og fikset raskt. Bare husk å oppdatere systemet. Problemet gjenstår bare med Android. Noen enheter mottar ikke lenger oppdateringer, og det er ingen løsning på dette problemet ennå.

Det er en vanlig misforståelse at servere som kjører Linux OS er de sikreste og mest beskyttet mot eksterne inntrengninger. Dessverre er dette ikke tilfelle, sikkerheten til enhver server avhenger av en rekke faktorer og tiltak for å sikre den og er praktisk talt uavhengig av operativsystemet som brukes.

Vi bestemte oss for å starte en serie artikler viet nettverkssikkerhet med Ubuntu Server, siden løsninger på denne plattformen er av stor interesse for våre lesere og siden mange tror at Linux-løsninger er trygge i seg selv.

Samtidig er en ruter med en dedikert IP-adresse en "port" til det lokale nettverket, og det vil kun avhenge av administratoren om denne porten vil være en pålitelig barriere eller vil vise seg å være en landport lukket med en spiker.

En annen vanlig misforståelse er resonnement i stil med: "hvem trenger det, serveren vår, vi har ikke noe interessant." Det lokale nettverket ditt kan faktisk ikke være av interesse for angripere, men de kan bruke en hacket server til å sende spam, angrep på andre servere, en anonym proxy, kort sagt, som et utgangspunkt for deres lyssky forretninger.

Og dette er allerede ubehagelig og kan tjene som en kilde til ulike problemer: fra leverandøren til rettshåndhevelsesbyråer. Og om spredning av virus, tyveri og ødeleggelse viktig informasjon Du bør heller ikke glemme, så vel som det faktum at nedetid i en bedrift fører til ganske håndgripelige tap.

Til tross for at artikkelen er dedikert til Ubuntu Server, vil vi først se på generelle sikkerhetsproblemer som gjelder likt for enhver plattform og er det grunnleggende, uten noe som det er ingen vits i å diskutere problemet mer detaljert.

Hvor begynner sikkerheten?

Nei, sikkerhet starter ikke med brannmuren, den starter ikke med brannmuren i det hele tatt. tekniske midler, sikkerhet starter med brukeren. Tross alt, hva er bruken av den kuleste metalldøren installert av de beste spesialistene hvis eieren legger nøkkelen under teppet?

Derfor er det første du bør gjøre å gjennomføre en sikkerhetsrevisjon. Ikke la deg skremme av dette ordet, alt er ikke så komplisert: tegn en skjematisk nettverksplan der du markerer en sikker sone, en potensiell faresone og en høy faresone, og lag også en liste over brukere som har (skal ha tilgang) til disse sonene.

Sikker sone bør inkludere interne ressurser nettverk som ikke er tilgjengelige fra utsiden og som et lavt sikkerhetsnivå er akseptabelt for. Dette kan være arbeidsstasjoner, filservere osv. enheter som tilgang er begrenset til bedriftens lokale nettverk.

Den potensielle faresonen omfatter servere og enheter som ikke har direkte tilgang til det eksterne nettverket, men hvis individuelle tjenester er tilgjengelige fra utsiden, for eksempel web- og e-postservere plassert bak en brannmur, men som fortsatt betjener forespørsler fra det eksterne nettverket.

Den farlige sonen bør inkludere enheter som er direkte tilgjengelige fra utsiden; ideelt sett bør dette være én ruter.

Hvis mulig, bør en potensielt farlig sone plasseres på et eget subnett - en demilitarisert sone (DMZ), som er atskilt fra hovednettverket med en ekstra brannmur.

LAN-enheter skal bare ha tilgang til de tjenestene i DMZ som de trenger, for eksempel SMTP, POP3, HTTP og andre tilkoblinger skal blokkeres. Dette vil tillate deg pålitelig å isolere en angriper eller skadelig programvare som utnyttet en sårbarhet i en egen tjeneste i en demilitarisert sone, og nekte dem tilgang til hovednettverket.

Fysisk kan en DMZ organiseres ved å installere en separat server / maskinvarebrannmur eller legge til en ekstra nettverkskort inn i ruteren, men i sistnevnte tilfelle må du være nøye med sikkerheten til ruteren. Men uansett er det mye enklere å sikre sikkerheten til én server enn en gruppe servere.

Det neste trinnet bør være å analysere listen over brukere, om de alle trenger tilgang til DMZ og til ruteren (med unntak av offentlige tjenester), spesiell oppmerksomhet bør rettes mot brukere som kobler til utenfra.

Vanligvis krever dette det svært upopulære trinnet å håndheve en passordpolicy. Alle passord for brukere som har tilgang til kritiske tjenester og har mulighet til å koble til utenfra må inneholde minst 6 tegn og inneholde, unntatt små bokstaver, tegn fra to kategorier av tre: store bokstaver, tall, ikke-alfabetiske tegn.

Passordet skal i tillegg ikke inneholde brukerens pålogging eller deler av det, skal ikke inneholde datoer eller navn som kan assosieres med brukeren, og helst ikke være et ordbokord.

Det er en god idé å praktisere å endre passord hver 30.–40. dag. Det er klart at en slik policy kan føre til avvisning fra brukernes side, men du bør alltid huske at passord som 123 eller qwerty tilsvarende å legge igjen en nøkkel under teppet.

Serversikkerhet - ikke noe ekstra.

Nå, med en ide om hva vi vil beskytte og fra hva, la oss gå videre til selve serveren. Lag en liste over alle tjenestene og tjenestene, og tenk på om de alle er nødvendige på akkurat denne serveren, eller om de kan flyttes et annet sted.

Jo færre tjenester, desto lettere er det å sikre sikkerhet, og jo mindre sjanse er det for at serveren blir kompromittert gjennom en kritisk sårbarhet i en av dem.

Konfigurer tjenester som betjener det lokale nettverket (for eksempel blekksprut) slik at de aksepterer forespørsler utelukkende fra det lokale grensesnittet. Jo færre tjenester tilgjengelig eksternt, jo bedre.

En sårbarhetsskanner vil være en god assistent for å sikre sikkerhet; den bør brukes til å skanne det eksterne grensesnittet til serveren. Vi brukte en demoversjon av et av de mest kjente produktene - XSpider 7.7.

Skanneren viser åpne porter, forsøker å finne ut hvilken type tjeneste som kjører og, hvis vellykket, sårbarhetene for den. Som du kan se, er et riktig konfigurert system ganske trygt, men du bør ikke la nøkkelen ligge under teppet, tilstedeværelsen av åpne porter 1723 (VPN) og 3389 (RDP, videresendt til terminalserver) er en god grunn til å tenke over passordpolitikken din.

Vi bør også snakke om SSH-sikkerhet; denne tjenesten brukes vanligvis av administratorer for fjernkontroll server og er av økt interesse for angripere. SSH-innstillinger lagres i en fil /etc/ssh/sshd_config, alle endringer beskrevet nedenfor er gjort i den. Først av alt bør du deaktivere autorisasjon under rotbrukeren; for å gjøre dette, legg til alternativet:

PermitRootLogin-nr

Nå må angriperen ikke bare gjette passordet, men også påloggingen, og han vil fortsatt ikke vite superbrukerpassordet (vi håper det ikke samsvarer med passordet ditt). Alle administrative oppgaver ved tilkobling utenfra bør utføres underfra sudo logge inn som en uprivilegert bruker.

Det er verdt å spesifisere eksplisitt listen over tillatte brukere, og du kan bruke oppføringer som bruker@vert, som lar den angitte brukeren kun koble til fra den angitte verten. For å tillate brukeren ivanov å koble seg hjemmefra (IP 1.2.3.4), bør du for eksempel legge til følgende oppføring:

Tillat bruker [e-postbeskyttet]

Deaktiver også bruken av den utdaterte og mindre sikre SSH1-protokollen, tillater bare den andre versjonen av protokollen, for å gjøre dette, endre følgende linje til skjemaet:

Protokoll 2

Til tross for alle tiltakene som er tatt, vil det fortsatt være forsøk på å koble til SSH og andre offentlige tjenester; for å forhindre passordgjetting, bruk verktøyet fail2ban, som lar deg automatisk utestenge en bruker etter flere mislykkede påloggingsforsøk. Du kan installere den med kommandoen:

Sudo apt-get install fail2ban

Dette verktøyet er klart til å fungere umiddelbart etter installasjonen, men vi vil råde deg til å endre noen parametere umiddelbart; for å gjøre dette, gjør endringer i filen /etc/fail2ban/jail.conf. Som standard er kun tilgang til SSH kontrollert og forbudstiden er 10 minutter (600 sekunder), etter vår mening er det verdt å øke den ved å endre følgende alternativ:

Bantime = 6000

Bla deretter gjennom filen og aktiver seksjoner for tjenester som kjører på systemet ditt ved å sette parameteren etter navnet på den tilsvarende seksjonen aktivert i en tilstand ekte, for eksempel for en tjeneste proftpd det vil se slik ut:


aktivert = sant

En annen viktig parameter maxretry, som er ansvarlig for maksimalt antall tilkoblingsforsøk. Etter å ha endret innstillingene, ikke glem å starte tjenesten på nytt:

Sudo /etc/init.d/fail2ban starter på nytt

Du kan se verktøyloggen på /var/log/fail2ban.log.

I følge cvedetails.com har det siden 1999 blitt funnet 1305 sårbarheter i Linux-kjernen, hvorav 68 ble funnet i 2015. De fleste av dem utgjør ingen spesielle problemer, de er merket som Local og Low, og noen kan bare kalles når de er koblet til visse applikasjoner eller OS-innstillinger. I prinsippet er tallene små, men kjernen er ikke hele operativsystemet. Sårbarheter finnes også i GNU Coreutils, Binutils, glibs og, selvfølgelig, i brukerapplikasjoner. La oss se på de mest interessante.

SÅRBARHETER I LINUX-KJERNEN

OS: Linux
Nivå: Middels, lav
Vektor: Fjernkontroll
CVE: CVE-2015-3331, CVE-2015-4001, CVE-2015-4002, CVE-2015-4003
Utnytt: konsept, https://lkml.org/lkml/2015/5/13/740, https://lkml.org/lkml/2015/5/13/744

En sårbarhet funnet i juni i Linux-kjernen før 3.19.3 i __driver_rfc4106_decrypt-funksjonen i arch/x86/crypto/aesni-intel_glue.c skyldes implementeringen av RFC4106 for x86-prosessorer som støtter AES-instruksjonssettet-utvidelsen AES-NI (foreslått Intel, Intel Advanced Encryption Standard Instructions) beregner ikke bufferadresser riktig i noen tilfeller. Hvis IPsec-tunnelen er konfigurert til å bruke denne modusen (AES-algoritme - CONFIG_CRYPTO_AES_NI_INTEL), kan sikkerhetsproblemet føre til minnekorrupsjon, krasjer og potensielt ekstern kjøring av CryptoAPI-kode. Dessuten er det mest interessante at problemet kan oppstå av seg selv, på helt lovlig trafikk, uten innblanding utenfra. På publiseringstidspunktet er problemet løst.

Fem sårbarheter er identifisert i Linux 4.0.5 ozwpan-driveren, som har eksperimentell status, hvorav fire lar deg organisere et DoS-angrep ved å krasje kjernen ved å sende spesialdesignede pakker. Problemet er relatert til bufferoverløp på grunn av feil håndtering av signerte heltall, der beregningen i memcpy mellom required_size og offset returnerte et negativt tall, som et resultat av dette kopieres dataene til heapen.

Funnet i oz_hcd_get_desc_cnf-funksjonen i drivers/staging/ozwpan/ozhcd.c og i oz_usb_rx- og oz_usb_handle_ep_data-funksjonene til drivere/staging/ozwpan/ozusbsvc1.c-filen. Andre sårbarheter involverte mulig deling med 0, systemlooping eller muligheten til å lese fra områder utenfor grensene til den tildelte bufferen.

Ozwpan-driveren, et nytt tillegg til Linux, kan pares med eksisterende trådløse enheter som er kompatible med Ozmo Devices-teknologi ( Wi-Fi Direct). Gir en implementering av en USB-vertskontroller, men trikset er at i stedet for en fysisk tilkobling, kommuniserer periferutstyret via Wi-Fi. Driveren godtar nettverkspakker med typen (ethertype) 0x892e, analyserer dem og oversetter dem til ulike USB-funksjoner. Foreløpig brukes den i sjeldne tilfeller, så den kan deaktiveres ved å laste ut ozwpan.ko-modulen.

LINUX UBUNTU

OS: Linux Ubuntu 04/12–04/15 (kjerne til 15. juni 2015)
Nivå: Kritisk
Vektor: Lokalt
CVE: CVE-2015-1328
Utnytt: https://www.exploit-db.com/exploits/37292/

En kritisk sårbarhet i OverlayFS-filsystemet tillater rottilgang på Ubuntu-systemer som tillater montering av OverlayFS-partisjoner av en uprivilegert bruker. Standardinnstillingene som kreves for å utnytte sårbarheten, brukes i alle grener av Ubuntu 12.04–15.04. OverlayFS selv dukket opp i Linux-kjernen relativt nylig - fra og med 3.18-rc2 (2014), er det en SUSE-utvikling som erstatter UnionFS og AUFS. OverlayFS lar deg lage et virtuelt flerlag filsystem, som kombinerer flere deler av andre filsystemer.

Filsystemet er laget av et nedre og et øvre lag, som hver er knyttet til separate kataloger. Det nederste laget brukes kun til å lese i kataloger til alle filsystemer som støttes i Linux, inkludert nettverkssystemer. Det øverste laget er vanligvis skrivbart og vil overstyre dataene i det nederste laget hvis filene dupliseres. Det er etterspurt i Live-distribusjoner, og for organisering av driften av containere for enkelte skrivebordsapplikasjoner. Brukernavnerom lar deg lage dine egne sett med bruker- og gruppe-ID-er i containere. Sårbarheten er forårsaket av feil sjekk av tilgangsrettigheter ved opprettelse av nye filer i katalogen til det underliggende filsystemet.

Hvis kjernen er bygget med CONFIG_USER_NS=y (aktiverer brukernavneområdet) og FS_USERNS_MOUNT-flagget er spesifisert ved montering, kan OverlayFS monteres av en vanlig bruker i et annet navneområde, inkludert der operasjoner med rotrettigheter. I dette tilfellet får operasjoner med filer med rotrettigheter utført i slike navneområder de samme rettighetene når de utfører handlinger med det underliggende filsystemet. Derfor kan du montere en hvilken som helst FS-partisjon og vise eller endre hvilken som helst fil eller katalog.

På publiseringstidspunktet var en kjerneoppdatering med en fast OverlayFS-modul fra Ubuntu allerede tilgjengelig. Og hvis systemet er oppdatert, skal det ikke være noen problemer. I samme tilfelle, når oppdateringen ikke er mulig, som et midlertidig tiltak, bør du slutte å bruke OverlayFS ved å fjerne overlayfs.ko-modulen.

SÅRBARHETER I NØKKELAPPLIKASJONER

OS: Linux
Nivå: Kritisk
Vektor: lokal, ekstern
CVE: CVE-2015-0235
Utnytt: https://www.qualys.com/research/security-advisories/exim_ghost_bof.rb

Farlig sårbarhet i standard bibliotek GNU glibc, som er en kjernedel av Linux OS, og i noen versjoner av Oracle Communications Applications og Oracle Pillar Axiom, oppdaget under en koderevisjon av Qualys-hackere. Mottok kodenavnet GHOST. Dette er et bufferoverløp inne i funksjonen __nss_hostname_digits_dots() som brukes av glibc-funksjoner som gethostbyname() og gethostbyname2() for å få vertsnavnet (derav navnet GetHOST). For å utnytte sikkerhetsproblemet må du forårsake bufferoverflyt ved å bruke et ugyldig vertsnavnargument til en applikasjon som utfører navneløsning via DNS. Det vil si at teoretisk sett kan denne sårbarheten brukes på enhver applikasjon som bruker nettverket i en eller annen grad. Kan kalles lokalt og eksternt, slik at vilkårlig kode kan utføres.

Det mest interessante er at feilen ble rettet tilbake i mai 2013, en oppdatering ble presentert mellom utgivelsene av glibc 2.17 og 2.18, men problemet ble ikke klassifisert som en sikkerhetsoppdatering, så det ble ikke tatt hensyn til det. Som et resultat viste mange distribusjoner seg å være sårbare. Det ble først rapportert at den aller første sårbare versjonen var 2.2 datert 10. november 2000, men det er en mulighet for at den vil vises opp til 2.0. Blant annet ble distribusjonene RHEL/CentOS 5.x–7.x, Debian 7 og Ubuntu 12.04 LTS berørt. Hurtigreparasjoner er tilgjengelige for øyeblikket. Hackerne selv foreslo et verktøy som forklarer essensen av sårbarheten og lar deg sjekke systemet ditt. Alt er bra i Ubuntu 12.04.4 LTS:

$ wget https : //goo.gl/RuunlE

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

$. / CVE - 2015 - 0235

ikke sårbar

Sjekker systemet på GHOST

Nesten umiddelbart ble en modul utgitt for å tillate ekstern kjøring av kode på x86 og x86_64 Linux med en fungerende e-postserver Exim (med helo_try_verify_hosts eller helo_verify_hosts aktivert). Senere dukket det opp andre implementeringer, for eksempel Metasploit-modulen for å sjekke en blogg på WordPress.

Litt senere, i 2015, ble det oppdaget ytterligere tre sårbarheter i GNU glibc som tillot en ekstern bruker å utføre et DoS-angrep eller overskrive minneceller utenfor stabelgrensen: CVE-2015-1472, CVE-2015-1473, CVE-2015- 1781.

OS: Linux (GNU Coreutils)
Nivå: Lav
Vektor: Lokal, ekstern
CVE: CVE-2014-9471
Utnytt: Nei

GNU Coreutils er en av de viktigste *nix-pakkene, inkludert nesten alle de grunnleggende verktøyene (cat, ls, rm, date...). Problemet ble funnet i dato. En feil i funksjonen parse_datetime lar en ekstern angriper uten regnskap på systemet, forårsake tjenestenekt, og muligens utføre vilkårlig kode via en spesiallaget datostreng ved bruk av tidssone. Sårbarheten ser slik ut:

$ trykk på ‘-- dato = TZ = ”123”345”@1”

Segmenteringsfeil

$ date - d 'TZ = "Europa / Moskva" "00 : 00 + 1 time"'

Segmenteringsfeil

$ date ‘-- date = TZ = ”123”345”@1”

* * * Feil i ` dato ': gratis (): ugyldig peker: 0xbfc11414 * * *

Sårbarhet i GNU Coreutils

Hvis det ikke er noen sårbarhet, vil vi motta en melding om feil datoformat. Nesten alle Linux-distribusjonsutviklere har rapportert om tilstedeværelsen av sårbarheten. En oppdatering er tilgjengelig for øyeblikket.


Normal utgang av patchede GNU Coreutils

OS: Linux (grep 2.19–2.21)
Nivå: Lav
Vektor: Lokalt
CVE: CVE-2015-1345
Utnytt: Nei

Sårbarheter finnes sjelden i grep-verktøyet, som brukes til å søke etter tekst ved hjelp av et mønster. Men dette verktøyet kalles ofte av andre programmer, inkludert system, så tilstedeværelsen av sårbarheter er mye mer problematisk enn det ser ut ved første øyekast. En feil i bmexec_trans-funksjonen i kwset.c kan resultere i å lese uinitialiserte data fra et område utenfor den tildelte bufferen eller få applikasjonen til å krasje. En hacker kan dra nytte av dette ved å lage et spesielt sett med data som leveres til applikasjonsinngangen ved å bruke grep -F. Oppdateringer er tilgjengelig for øyeblikket. Det er ingen utnyttelser som bruker sårbarheten eller en modul for Metasploit.

SÅRBARHET I FREEBSD

OS: FreeBSD
Nivå: Lav
Vektor: Lokal, ekstern
CVE: CVE-2014-0998, CVE-2014-8612, CVE-2014-8613
Utnytt: https://www.exploit-db.com/exploits/35938/

Det er ikke mange sårbarheter i CVE-databasen for 2015, for å være mer presis – bare seks. Tre sårbarheter ble funnet i FreeBSD 8.4–10.x i slutten av januar 2015 av forskere fra Core Exploit Writers Team. CVE-2014-0998 er relatert til implementeringen av VT-konsolldriveren (Newcons), som gir flere virtuelle terminaler, aktivert av kern.vty=vt-parameteren i /boot/loader.conf.
CVE-2014-8612 oppstår ved bruk av SCTP-protokollen og er forårsaket av en feil i SCTP-strøm-ID-verifiseringskoden som implementerer SCTP-sockets (lokal port 4444). Essensen er en minnefeil i sctp_setopt()-funksjonen (sys/netinet/sctp_userreq.c). Dette gir en lokal uprivilegert bruker muligheten til å skrive eller lese 16 biter med kjerneminnedata og eskalere privilegiene sine på systemet, avsløre sensitive data eller krasje systemet.

CVE-2014-8613 lar en NULL-pekerdereferanse utløses ved behandling av en eksternt mottatt SCTP-pakke når SCTP_SS_VALUE SCTP-socketalternativet er satt. I motsetning til tidligere versjoner, kan CVE-2014-8613 brukes til å eksternt forårsake en kjernekrasj ved å sende spesiallagde pakker. I FreeBSD 10.1 kan du beskytte deg selv ved å sette net.inet.sctp.reconfig_enable-variabelen til 0, og dermed deaktivere behandling av RE_CONFIG-blokker. Eller ganske enkelt forby applikasjoner (nettlesere, e-postklienter og så videre). Selv om utviklerne allerede på publiseringstidspunktet hadde gitt ut en oppdatering.


FreeBSD sårbarhetsstatistikk

SÅRBARHET I OPENSSL

OS: OpenSSL
Nivå: Fjernkontroll
Vektor: Lokalt
CVE: CVE-2015-1793
Utnytt: Nei

I 2014 ble en kritisk Heartbleed-sårbarhet oppdaget i OpenSSL, en mye brukt kryptografisk pakke for arbeid med SSL/TLS. Hendelsen på et tidspunkt forårsaket massiv kritikk av kvaliteten på koden, og på den ene siden førte dette til fremveksten av alternativer som LibreSSL, på den andre siden kom utviklerne selv til slutt i gang.

Toppleverandører etter sårbarheter

Den kritiske sårbarheten ble oppdaget av Adam Langley fra Google og David Benjamin fra BoringSSL. Endringer gjort i OpenSSL versjoner 1.0.1n og 1.0.2b førte til at OpenSSL forsøkte å finne en alternativ sertifikatverifiseringskjede hvis det første forsøket på å bygge en tillitskjede var mislykket. Dette lar deg omgå sog organisere en bekreftet tilkobling ved å bruke et falskt sertifikat, med andre ord - for å rolig lokke brukeren til falske nettsteder eller servere E-post eller implementere et hvilket som helst MITM-angrep der sertifikatet brukes.

Etter at sårbarheten ble oppdaget, ga utviklerne ut 1.0.1p og 1.0.2d 9. juli, som løste dette problemet. Versjon 0.9.8 eller 1.0.0 har ikke dette sikkerhetsproblemet.

Linux.Encoder

Slutten av høsten ble preget av opptredenen av en rekke krypteringsvirus, først Linux.Encoder.0, etterfulgt av modifikasjoner Linux.Encoder.1 og Linux.Encoder.2, som infiserte mer enn 2500 nettsteder. Ifølge antivirusselskaper blir Linux- og FreeBSD-servere med nettsteder som kjører ved hjelp av ulike CMS-er – WordPress, Magento CMS, Joomla og andre – angrepet. Hackere utnytter en uidentifisert sårbarhet. Deretter ble et shell-script plassert (filen error.php), ved hjelp av hvilken evt ytterligere handlinger(via nettleser). Spesielt ble Linux-koderen Trojan lansert.

Encoder, som bestemte OS-arkitekturen og lanserte løsepengevaren. Koderen ble lansert med nettserverrettigheter (Ubuntu - www-data), som er nok til å kryptere filer i katalogen der CMS-filer og komponenter er lagret. Krypterte filer får en ny extension.encrypted.

Ransomware prøver også å omgå andre OS-kataloger; hvis rettighetene er konfigurert feil, kan det lett gå utover grensene til nettstedet. Deretter ble filen README_FOR_DECRYPT.txt lagret i katalogen, som inneholder instruksjoner for dekryptering av filene og hackerens krav. På dette øyeblikket antivirusselskaper har introdusert verktøy som lar deg dekryptere kataloger. For eksempel et sett fra Bitdefender. Men du må huske at alle verktøy designet for å dekryptere filer ikke fjerner shellcode og alt kan skje igjen.

Med tanke på at mange brukere som utvikler eller eksperimenterer med nettstedadministrasjon ofte installerer en webserver på hjemmedatamaskin, bør du bekymre deg for sikkerheten: blokker tilgang fra utsiden, oppdater programvaren, utfør eksperimenter på VM. Og selve ideen kan brukes i fremtiden til å angripe hjemmesystemer.

KONKLUSJON

Kompleks programvare uten feil fysisk eksisterer ikke, så du må innfinne deg med at sårbarheter vil bli oppdaget konstant. Men ikke alle av dem kan være virkelig problematiske. Og du kan beskytte deg selv ved å ta enkle trinn: fjern ubrukt programvare, overvåk for nye sårbarheter og sørg for å installere sikkerhetsoppdateringer, konfigurer en brannmur, installer et antivirus. Og ikke glem spesielle teknologier som SELinux, som er ganske i stand til å kompromittere en demon eller brukerapplikasjon.