Tīkla drošības iestatīšana ubuntu. Drošība operētājsistēmā Linux ir relatīvs jēdziens

Sākums / Bremzes

Neviens no mums nevēlas, lai personas informācija nonāktu nepareizās rokās. Bet kā aizsargāt savu sistēmu no uzbrukumiem un datu zādzībām? Vai tiešām ir jālasa kilometru garas rokasgrāmatas par iestatīšanas un šifrēšanas algoritmiem? Nepavisam nav vajadzīgs. Šajā rakstā es jums pastāstīšu, kā padarīt Linux sistēmu drošu burtiski 30 minūtēs.

Ievads

Mēs dzīvojam laikmetā mobilajām ierīcēm un pastāvīgi tiešsaistē. Mēs ejam uz kafejnīcu ar klēpjdatoru un savās mājas mašīnās darbinām tīmekļa serverus, kas ir pakļauti internetam. Mēs reģistrējamies simtiem vietņu un izmantojam vienas un tās pašas paroles tīmekļa pakalpojumiem. Mums vienmēr kabatā ir viedtālrunis, kurā ir ievietoti desmitiem paroļu, un atslēgas vairākiem SSH serveriem. Mēs esam tik ļoti pieraduši, ka trešo pušu pakalpojumi rūpējas par mūsu privātumu, ka esam pārstājuši tam pievērst uzmanību.

Kad pazaudēju viedtālruni, man ļoti paveicās, ka tajā instalētā pretaizdzīšanas sistēma izrādījās funkcionāla un ļāva attālināti izdzēst visus datus no ierīces atmiņas. Kad netīšām atvēru SSH portu mājas mašīnā ar lietotāju bez paroles (!) iekšā ārpasauli(!!), man ļoti paveicās, ka skriptu bērni tika pie mašīnas un, ja neskaita smieklīgo čaulas vēsturi, viņi neatstāja nopietnas pēdas par savu klātbūtni sistēmā. Kad nejauši ievietoju sarakstu internetā ar savu Gmail paroli, man ļoti paveicās, ka bija kāds laipns cilvēks, kurš mani par to brīdināja.

Varbūt es esmu muļķis, bet esmu stingri pārliecināts, ka līdzīgi gadījumi ir notikuši ar daudziem, kas lasa šīs rindas. Un ir labi, ja šie cilvēki atšķirībā no manis nopietni rūpējās par savas automašīnas aizsardzību. Galu galā, pretaizdzīšanas sistēma varēja nedarboties, un skripta mazuļa vietā mašīnā varēja iekāpt nopietni cilvēki, un es varētu būt pazaudējis nevis viedtālruni, bet klēpjdatoru, kuram nebija citas aizsardzības, izņemot lietotāja paroli. . Nē, mūsdienās noteikti nevajadzētu paļauties uz Google divu faktoru autentifikāciju un muļķīgām parolēm, jums ir nepieciešams kaut kas nopietnāks.

Šis raksts ir paranoiskā Unixoid rokasgrāmata, kas veltīta pilnīgai Linux mašīnas aizsardzībai pret jebko un visu. Es vilcinājos teikt, ka viss šeit aprakstītais ir obligāts lietošanai. Gluži pretēji, šī ir recepšu kolekcija, informācija, kuru varat izmantot, lai aizsargātu sevi un savus datus tajos līmeņos, kur tas ir nepieciešams jūsu konkrētajā situācijā.

Parole!

Viss sākas ar parolēm. Tie ir visur: pieteikšanās logā Linux izplatīšanā, reģistrācijas veidlapās interneta vietnēs, FTP un SSH serveros un viedtālruņa bloķēšanas ekrānā. Mūsdienās paroļu standarts ir 8–12 rakstzīmes jauktos reģistros un ieskaitot ciparus. Šādu paroļu ģenerēšana ar savu prātu ir diezgan nogurdinoša, taču ir vienkāršs veids, kā to izdarīt automātiski:

$ openssl rand -base64 6

Nav ārēju lietojumprogrammu, nav tīmekļa pārlūkprogrammas paplašinājumu, OpenSSL ir pieejams jebkurā datorā. Lai gan, ja kādam tas ir ērtāk, viņi var instalēt un izmantot pwgen šiem nolūkiem (viņi saka, ka parole būs spēcīgāka):

$ pwgen -Bs 8 1

Kur glabāt paroles? Mūsdienās katram lietotājam to ir tik daudz, ka vienkārši nav iespējams visu noglabāt galvā. Vai uzticaties pārlūkprogrammas automātiskās saglabāšanas sistēmai? Tas ir iespējams, bet kas zina, kā Google vai Mozilla izturēsies pret viņiem. Snoudens teica, ka tas nav īpaši labi. Tāpēc paroles ir jāglabā pašā mašīnā šifrētā konteinerā. Dibinātāji iesaka šim nolūkam izmantot KeePassX. Lieta ir grafiska, kas pašiem dibinātājiem īsti nepatīk, taču tā darbojas visur, ieskaitot slaveno Android Google zondi (KeePassDroid). Atliek tikai pārsūtīt datubāzi ar parolēm uz vietu, kur nepieciešams.

Šifrēsim

Šifrēšana - šajā vārdā ir tik daudz... Šodien šifrēšana ir visur un nekur vienlaikus. Mēs esam spiesti izmantot vietņu HTTPS versijas, taču mums ir vienalga. Viņi mums saka: "Šifrējiet jūsu mājas direktoriju", un mēs sakām: "Tad es to iestatīšu." Viņi mums saka: "Dropbox darbinieku iecienītākā spēle ir smieties par lietotāju personīgajām fotogrāfijām," un mēs: "Ļaujiet viņiem smieties." Tikmēr šifrēšana mūsdienās ir vienīgais absolūtais aizsardzības līdzeklis. Tas ir arī ļoti pieņemams un izlīdzina grumbas.

Linux ir daudz šifrēšanas iespēju visam, sākot no cietā diska nodalījumiem līdz atsevišķiem failiem. Trīs vispazīstamākie un laika pārbaudītākie rīki ir dm-crypt/LUKS, ecryptfs un encfs. Pirmajā tiek šifrēti veseli diski un nodalījumi, otrais un trešais šifrē direktorijus ar svarīgu informāciju, katru failu atsevišķi, kas ir ļoti ērti, ja jums ir nepieciešams veikt papildu dublējumus vai izmantot to kopā ar Dropbox. Ir arī vairāki mazāk zināmi rīki, tostarp, piemēram, TrueCrypt.

Ļaujiet man uzreiz izdarīt atrunu, ka visa diska šifrēšana ir grūts uzdevums un, pats galvenais, bezjēdzīgs. Saknes direktorijā nekas īpaši konfidenciāls nav un nevar būt, bet mājas direktorijs un mijmaiņas ir vienkārši informācijas dārgumu krātuve. Turklāt otrais ir pat lielāks par pirmo, jo dati un paroles tur var nokļūt jau atšifrētā veidā (parasti programmētāji aizliedz sistēmai mest šādus datus mijmaiņas darījumos, bet tādi cilvēki ir mazākumā). Šifrēšanas iestatīšana abiem ir ļoti vienkārša, vienkārši instalējiet ecrypts rīkus:

$ sudo apt-get instalējiet ecryptfs-utils

Un faktiski iespējojiet šifrēšanu:

$ sudo ecryptfs-setup-swap $ ecryptfs-setup-private

Pēc tam vienkārši ievadiet savu paroli, ko izmantojāt, lai pieteiktos, un atkārtoti piesakieties sistēmā. Jā, tas tiešām ir tik vienkārši. Pirmā komanda šifrēs un pārmontēs mijmaiņas darījumu, mainot atbilstošās rindas mapē /etc/fstab. Otrais izveidos ~/.Private un ~/Private direktorijus, kuros tiks saglabāti attiecīgi šifrēti un atšifrēti faili. Kad jūs piesakāties, tiks aktivizēts PAM modulis pam_ecryptfs.so, kas pirmo direktoriju pievienos otrajam ar caurspīdīgu datu šifrēšanu. Pēc atvienošanas ~/Private būs tukšs, un ~/.Private saturēs visus failus šifrētā veidā.

Nav aizliegts šifrēt visu mājas direktoriju. Šajā gadījumā veiktspēja daudz nesamazināsies, taču visi faili tiks aizsargāti, ieskaitot to pašu tīkla direktoriju ~/Dropbox. Tas tiek darīts šādi:

# ecryptfs-migrate-home -u vasya

Starp citu, diskā vajadzētu būt 2,5 reizes vairāk nekā vasjas datiem, tāpēc iesaku to iepriekš iztīrīt. Pēc darbības pabeigšanas jums nekavējoties jāpiesakās kā lietotājs vasya un jāpārbauda funkcionalitāte:

$mount | grep Privāts /home/vasya/.Privāts /home/vasya tipa ecryptfs ...

Ja viss ir kārtībā, varat pārrakstīt nešifrēto datu kopiju:

$ sudo rm -r /home/vasya.*

Nosedz mūsu pēdas

Labi, paroles ir drošā vietā, arī personiskie faili, ko tagad? Un tagad mums ir jārūpējas, lai daži mūsu personas dati nenonāktu nepareizās rokās. Nav noslēpums, ka, dzēšot failu, tā pašreizējais saturs saglabājas datu nesējā, pat ja formatēšana tiek veikta pēc tam. Mūsu šifrētie dati būs drošībā pat pēc dzēšanas, bet kā ir ar zibatmiņām un citām atmiņas kartēm? Šeit mums ir nepieciešama utilīta srm, kas ne tikai izdzēš failu, bet arī aizpilda atlikušos datu blokus ar atkritumiem:

$ sudo apt-get install safe-delete $ srm secret-file.txt home-video.mpg

# dd if=/dev/nulle no=/dev/sdb

Šī komanda izdzēsīs visus datus no sdb zibatmiņas diska. Tālāk atliek tikai izveidot nodalījuma tabulu (ar vienu nodalījumu) un formatēt to vajadzīgajā failu sistēmā. Šim nolūkam ieteicams izmantot fdisk un mkfs.vfat, taču var iztikt arī ar grafisko gparted.

BruteForce uzbrukumu novēršana

Fail2ban ir dēmons, kas skenē žurnālus, lai atrastu mēģinājumus uzminēt tīkla pakalpojumu paroles. Ja šādi mēģinājumi tiek atrasti, aizdomīgā IP adrese tiek bloķēta, izmantojot iptables vai TCP Wrappers. Pakalpojums var informēt saimniekdatora īpašnieku par incidentu pa e-pastu un atiestatīt bloķēšanu, izmantojot noteiktais laiks. Fail2ban sākotnēji tika izstrādāts, lai aizsargātu SSH, šodien tiek piedāvāti gatavi piemēri Apache, lighttpd, Postfix, Exim, Cyrus IMAP un tā tālāk. Turklāt viens Fail2ban process var aizsargāt vairākus pakalpojumus vienlaikus.

Lai instalētu Ubuntu/Debian, mēs ierakstām:

# apt-get install fail2ban

Konfigurācijas atrodas direktorijā /etc/fail2ban. Pēc konfigurācijas maiņas jums vajadzētu restartēt fail2ban ar komandu:

# /etc/init.d/fail2ban restart

Draudi no ārpuses

Tagad parūpēsimies par draudiem, kas nāk no dzīlēm globālais tīmeklis. Šeit man vajadzētu sākt runāt par iptables un pf, kas darbojas speciālā mašīnā, kurā darbojas OpenBSD, taču tas viss ir lieki, ja ir ipkungfu. Kas tas ir? Šis ir skripts, kas mūsu vietā paveiks visu netīro ugunsmūra konfigurēšanas darbu, nerakstot kilometrus garus noteikumu sarakstus. Instalēt:

$ sudo apt-get instalēt ipkungfu

Konfigurācijas rediģēšana:

$ sudo vi /etc/ipkungfu/ipkungfu.conf # Vietējais tīkls, ja tāds ir, ierakstiet tīkla adresi kopā ar masku, ja nē, ierakstiet cilpas adresi LOCAL_NET="127.0.0.1" # Mūsu mašīna nav vārteja GATEWAY=0 # Aizveriet nepieciešamās pieslēgvietas FORBIDDEN_PORTS="135 137 139" # Bloķēt ping, 90% mazuļu šajā posmā nokritīs BLOCK_PINGS=1 # Atmest aizdomīgas paketes (dažādi plūdu veidi) SUSPECT="DROP" # Drop "nepareizas" paketes (daži DoS veidi) KNOWN_BAD=" DROP" # Vai skenēt portus? Thrash! PORT_SCAN="DROP"

Lai iespējotu ipkungfu, atveriet failu /etc/default/ipkungfu un mainiet rindiņu IPKFSTART = 0 uz IPKFSTART = 1. Palaidiet:

$sudo ipkungfu

Turklāt veiksim izmaiņas failā /etc/sysctl.conf:

$ sudo vi /etc/systcl.conf # Atmetiet ICMP novirzīšanu (pret MITM uzbrukumiem) net.ipv4.conf.all.accept_redirects=0 net.ipv6.conf.all.accept_redirects=0 # Iespējojiet TCP sinhronizācijas mehānismu net.ipv4 . tcp_syncookies=1 # Dažādi uzlabojumi (pret viltošanu, “pusatvērto” TCP savienojumu rindas palielināšana un tā tālāk) net.ipv4.tcp_timestamps=0 net.ipv4.conf.all.rp_filter=1 net.ipv4.tcp_backlog_syn =1280 kodols .core_uses_pid=1

Aktivizējiet izmaiņas:

$ sudo sysctl -p

Ielaušanās atklāšana

Snort ir viens no iecienītākajiem administratoru rīkiem un galvenā figūra visos drošības ceļvežos. Lieta ar senu vēsturi un milzīgām iespējām, kurai ir veltītas veselas grāmatas. Ko tas dara mūsu ceļvedī ātra iestatīšana droša sistēma? Un tas ir vieta, kur Snort nav jākonfigurē:

$ sudo apt-get install snort $ snort -D

Visi! Es nejokoju standarta iestatījumi Snort ir vairāk nekā pietiekami, lai aizsargātu tipiskus tīkla pakalpojumus, ja, protams, jums tie ir. Tikai ik pa laikam vajag paskatīties uz žurnālu. Un tajā var atrast šādas rindas:

[**] MS-SQL zondes atbildes pārpildes mēģinājums [**] http://www.securityfocus.com/bid/9407]

Hmm... Kāds mēģināja izraisīt MySQL bufera pārpildīšanu. Ir arī saite uz lapu ar detalizēts apraksts problēmas. Skaistums.

Kāds ir mantojis...

Kāds īpaši gudrs varēja apiet mūsu ugunsmūri, tikt garām Snort, iegūt root piekļuvi sistēmai un tagad regulāri pieteikties sistēmā, izmantojot instalētās aizmugures durvis. Nav labi, aizmugurējās durvis ir jāatrod, jānoņem un jāatjaunina sistēma. Lai meklētu rootkit un backdoor, mēs izmantojam rkhunter:

$ sudo apt-get instalējiet rkhunter

Sāksim:

$ sudo rkhunter -c --sk

Programmatūra pārbaudīs, vai visā sistēmā nav sakņu komplektu, un ekrānā parādīs rezultātus. Ja ļaunprogrammatūra joprojām tiek atrasta, rkhunter norādīs uz atrašanās vietu, un to var izdzēst. Detalizētāks žurnāls atrodas šeit: /var/log/rkhunter.log. Labāk ir palaist rkhunter kā cron darbu katru dienu:

$ sudo vi /etc/cron.daily/rkhunter.sh #!/bin/bash /usr/bin/rkhunter -c --cronjob 2>&1 | pasts -s "RKhunter skenēšanas rezultāti" [e-pasts aizsargāts]

Mēs aizstājam Vasjas e-pasta adresi ar savējo un padarām skriptu izpildāmu:

$ sudo chmod +x /etc/cron.daily/rkhunter.sh

$ sudo rkhunter -- atjauninājums

Starp citu, jūs varat to pievienot pirms pārbaudes komandas cron skriptā. Vēl divi rootkit meklēšanas rīki:

$ sudo apt-get instalēt tīģeris $ sudo tīģeris $ sudo apt-get instalēt lynis $ sudo lynis -c

Būtībā tās ir vienas un tās pašas Faberžē olas no putna lidojuma, taču tām ir dažādas bāzes. Varbūt ar viņu palīdzību būs iespējams noteikt, ko rkhunter palaida garām. Un iesākumam debsums ir saskaņošanas rīks. kontrolsummas faili, instalētās pakotnes ar standartu. Mēs ievietojam:

$ sudo apt-get install debsums

Izpildīsim pārbaudi:

$ sudo debsums -ac

Kā vienmēr? palaišanu var pievienot cron darbiem.



Ārā

Tagad parunāsim par to, kā saglabāt savu anonimitāti internetā un piekļūt vietnēm un lapām, kas bloķētas pēc dažādu autortiesību īpašnieku organizāciju un citu Mizulinu lūguma. Vienkāršākais veids, kā to izdarīt, ir izmantot vienu no tūkstošiem starpniekserveru visā pasaulē. Daudzi no tiem ir bezmaksas, taču bieži vien pārgriež kanālu līdz senā analogā modema ātrumam.

Lai ērti pārlūkotu vietnes un tikai nepieciešamības gadījumā ieslēgtu starpniekserveri, varat izmantot vienu no daudzajiem Chrome un Firefox paplašinājumiem, kurus pēc starpniekservera pārslēdzēja pieprasījuma var viegli atrast direktorijā. Mēs instalējam, ievadām nepieciešamo starpniekserveru sarakstu un pārslēdzamies uz vajadzīgo, lapas vietā redzot zīmi “Piekļuve lapai ierobežota pēc Skumbrieviča kunga lūguma”.

Situācijās, kad visa vietne nonāca zem filtra un tās adrese tika iekļauta pakalpojumu sniedzēju DNS serveru melnajā sarakstā, varat izmantot bezmaksas DNS serverus, kuru adreses ir publicētas. Vienkārši paņemiet jebkuras divas adreses, kuras vēlaties, un pievienojiet tās /etc/resolv.conf:

Vārdu serveris 156.154.70.22 vārdu serveris 156.154.71.22

Lai neļautu dažādiem DHCP klientiem un tīkla pārvaldniekiem pārrakstīt failu ar adresēm, kas saņemtas no pakalpojumu sniedzēja vai maršrutētāja, mēs padarām failu nepārrakstāmu, izmantojot paplašinātos atribūtus:

$ sudo chattr +i /etc/resolv.conf

Pēc tam fails tiks aizsargāts pret rakstīšanu visiem, tostarp saknes lietotājiem.

Lai vēl vairāk anonimizētu pārlūkošanas pieredzi, varat arī izmantot dnscrypt dēmonu, kas šifrēs visus pieprasījumus DNS serverim papildus starpniekserverim, ko izmanto, lai izveidotu savienojumu ar pašu vietni. Instalēt:

$ wget http://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-proxy-1.3.2.tar.bz2 $ bunzip2 -cd dnscrypt-proxy-*.tar.bz2 | tar xvf - $ cd dnscrypt-proxy-* $ sudo apt-get install build-essential $ ./configure && make -j2 $ sudo make install

Norādiet atgriezeniskās saites adresi /etc/resolv.conf:

$ vi /etc/resolv.conf nameserver 127.0.0.1

Sāksim dēmonu:

$ sudo dnscrypt-proxy — daemonize

Starp citu, ir dnscrypt versijas operētājsistēmai Windows, iOS un Android.

Sīpolu maršrutēšana

Kas ir sīpolu maršrutēšana? Tas ir Tor. Un Tor, savukārt, ir sistēma, kas ļauj izveidot pilnīgi anonīmu tīklu ar piekļuvi internetam. Termins “sīpols” šeit tiek lietots saistībā ar darbības modeli, kurā jebkura tīkla pakete tiks “iesaiņota” trīs šifrēšanas slāņos un ceļā pie adresāta izies cauri trim mezgliem, no kuriem katrs noņems savu slāni. un pārsūtīt rezultātu tālāk. Viss, protams, ir sarežģītāk, taču mums vienīgais svarīgais ir tas, ka šis ir viens no retajiem tīkla organizācijas veidiem, kas ļauj saglabāt pilnīgu anonimitāti.

Tomēr, ja pastāv anonimitāte, pastāv arī savienojuma problēmas. Un Tor ir vismaz trīs no tiem: tas ir ārkārtīgi lēns (pateicoties šifrēšanai un pārraidei caur mezglu ķēdi), tas radīs slodzi jūsu tīklam (jo jūs pats būsit viens no mezgliem), un tas ir neaizsargāts. satiksmes pārtveršanai. Pēdējais ir dabiskas sekas iespējai piekļūt internetam no Tor tīkla: pēdējais mezgls (izeja) noņems pēdējo šifrēšanas slāni un var piekļūt datiem.

Tomēr Tor ir ļoti viegli uzstādīt un lietot:

$ sudo apt-get install tor

Tas arī viss, tagad vietējai mašīnai būs starpniekserveris, kas ved uz Tor tīklu. Adrese: 127.0.0.1:9050, varat to ievadīt pārlūkprogrammā, izmantojot to pašu paplašinājumu, vai pievienot, izmantojot iestatījumus. Ņemiet vērā, ka tas ir SOCKS, nevis HTTP starpniekserveris.


INFORMĀCIJA

Tor Android versiju sauc par Orbot.

Lai stātos komandrinda parole netika saglabāta vēsturē, varat izmantot gudru triku ar nosaukumu “pievienojiet atstarpi komandas sākumā”.

Tas ir ecryptfs, ko izmanto, lai šifrētu mājas direktoriju Ubuntu.

Cīņa pret plūdiem

Es došu dažas komandas, kas var palīdzēt appludināt jūsu saimnieku.

Savienojumu skaita skaitīšana noteiktā portā:

$ netstat -na | grep ":port\" | wc -l

"Pusatvērto" TCP savienojumu skaita skaitīšana:

$ netstat -na | grep ":port\" | grep SYN_RCVD | wc -l

Skatiet to IP adrešu sarakstu, no kurām tiek saņemti savienojuma pieprasījumi:

$ netstat -na | grep ":port\" | šķirot | unikāls -c | kārtot -nr | mazāk

Aizdomīgu pakešu analīze, izmantojot tcpdump:

# tcpdump -n -i eth0 -s 0 -w output.txt dst porta ports un IP servera resursdators

Mēs pārtraucam uzbrucēja savienojumus:

# iptables -A INPUT -s uzbrucēja IP -p tcp -destination-port port -j DROP

Mēs ierobežojam maksimālo “pusatvērto” savienojumu skaitu no viena IP uz noteiktu portu:

# iptables -I IEVADE -p tcp --syn --dport port -m iplimit --iplimit-bove 10 -j DROP

Atspējot atbildes uz ICMP ECHO pieprasījumiem:

# iptables -I INPUT -p icmp -j DROP --icmp-type 8

Secinājumi

Tas arī viss. Neiedziļinoties detaļās un bez nepieciešamības izpētīt rokasgrāmatas, mēs izveidojām Linux kastīti, kas ir aizsargāta no ārējas ielaušanās, no rootkit un citām infekcijām, no tiešas cilvēka iejaukšanās, no satiksmes pārtveršanas un novērošanas. Atliek tikai regulāri atjaunināt sistēmu, aizliegt paroles pieteikšanos caur SSH, noņemt nevajadzīgos pakalpojumus un izvairīties no konfigurācijas kļūdām.

Pastāv izplatīts nepareizs uzskats, ka serveri, kuros darbojas operētājsistēma Linux, ir visdrošākie un aizsargātākie pret ārējiem ielaušanās gadījumiem. Diemžēl tā nav jebkura servera drošība ir atkarīga no vairākiem faktoriem un pasākumiem, kas to nodrošina, un praktiski nav atkarīga no izmantotās operētājsistēmas.

Mēs nolēmām sākt rakstu sēriju par tīkla drošību ar Ubuntu serveris, jo risinājumi šajā platformā ļoti interesē mūsu lasītājus un daudzi uzskata, ka Linux risinājumi paši par sevi ir droši.

Tajā pašā laikā maršrutētājs ar īpašu IP adresi ir “vārti” uz lokālo tīklu, un tikai no administratora būs atkarīgs, vai šie vārti būs uzticama barjera vai izrādīsies valsts vārti, kas slēgti ar nagu.

Vēl viens izplatīts nepareizs priekšstats ir spriešana šādā stilā: "kam tas vajadzīgs, mūsu serverim, mums nav nekā interesanta." Patiešām, jūsu vietējais tīkls var neinteresēt uzbrucējus, taču viņi var izmantot uzlauztu serveri, lai nosūtītu surogātpastu, uzbrukumus citiem serveriem, anonīmu starpniekserveri, īsi sakot, kā sākumpunktu saviem šaubīgajiem darījumiem.

Un tas jau ir nepatīkami un var kalpot par dažādu problēmu avotu: no pakalpojumu sniedzēja līdz tiesībaizsardzības iestādēm. Un par vīrusu izplatību, zādzībām un iznīcināšanu svarīga informācija Tāpat nevajadzētu aizmirst, kā arī to, ka uzņēmuma dīkstāve rada diezgan jūtamus zaudējumus.

Lai gan šis raksts ir par Ubuntu serveri, mēs vispirms apskatīsim vispārīgi jautājumi drošība, kas vienlīdz attiecas uz jebkuru platformu un ir pamati, bez kuru apguves nav jēgas apspriest jautājumu sīkāk.

Kur sākas drošība?

Nē, drošība nesākas ar ugunsmūri, tā vispār nesākas ar ugunsmūri. tehniskajiem līdzekļiem, drošība sākas ar lietotāju. Galu galā, kāda gan jēga no stilīgākajām metāla durvīm, kuras uzstādījuši labākie speciālisti, ja saimnieks atslēgu atstāj zem paklāja?

Tāpēc pirmā lieta, kas jums jādara, ir veikt drošības auditu. Nebaidieties no šī vārda, viss nav tik sarežģīti: uzzīmējiet shematisku tīkla plānu, kurā atzīmējiet drošo zonu, potenciāli bīstamo zonu un paaugstinātas bīstamības zonu, kā arī izveidojiet sarakstu ar lietotājiem, kuriem ir (vajadzētu būt) piekļuvi) šīm zonām.

Drošajā zonā jāiekļauj iekšējie tīkla resursi, kas nav pieejami no ārpuses un kuriem ir pieņemams zems drošības līmenis. Tās varētu būt darbstacijas, failu serveri utt. ierīces, kurām piekļuve ir ierobežota ar uzņēmuma lokālo tīklu.

Potenciāli bīstamajā zonā ietilpst serveri un ierīces, kurām nav tiešas piekļuves ārējam tīklam, bet kuru atsevišķie pakalpojumi ir pieejami no ārpuses, piemēram, tīmekļa un pasta serveri, kas atrodas aiz ugunsmūra, bet joprojām apkalpo pieprasījumus no ārējā tīkla.

Bīstamajā zonā jāiekļauj ierīces, kas ir tieši pieejamas no ārpuses, ideālā gadījumā tam vajadzētu būt vienam maršrutētājam.

Ja iespējams, potenciāli bīstamā zona ir jānovieto atsevišķā apakštīklā - demilitarizētajā zonā (DMZ), kas ir atdalīta no galvenā tīkla ar papildu ugunsmūri.

LAN ierīcēm jābūt piekļuvei tikai tiem DMZ pakalpojumiem, kas tām nepieciešami, piemēram, SMTP, POP3, HTTP, un citi savienojumi ir jābloķē. Tas ļaus jums droši izolēt uzbrucēju vai ļaunprātīgu programmatūru, kas demilitarizētā zonā izmantoja atsevišķa pakalpojuma ievainojamību, liedzot tiem piekļuvi galvenajam tīklam.

Fiziski DMZ var organizēt, uzstādot atsevišķu servera/aparatūras ugunsmūri vai pievienojot maršrutētājam papildu tīkla karti, taču pēdējā gadījumā jums būs jāpievērš liela uzmanība maršrutētāja drošībai. Bet jebkurā gadījumā ir daudz vieglāk nodrošināt viena servera drošību nekā serveru grupas.

Nākamais solis ir analizēt lietotāju sarakstu, vai viņiem visiem ir nepieciešama piekļuve DMZ un maršrutētājam (izņemot sabiedriskos pakalpojumus), īpaša uzmanība jāpievērš lietotājiem, kuri savienojas no ārpuses.

Parasti tas prasa ļoti nepopulāru paroles politikas ieviešanu. Visām parolēm lietotājiem, kuriem ir piekļuve kritiskiem pakalpojumiem un iespēja izveidot savienojumu ar ārēju savienojumu, ir jāsatur vismaz 6 rakstzīmes un papildus mazajiem burtiem jāietver rakstzīmes no divām kategorijām no trim: lielie burti, cipari, rakstzīmes, kas nav alfabēta.

Turklāt parole nedrīkst ietvert lietotāja pieteikumvārdu vai tā daļu, tajā nedrīkst būt datumi vai vārdi, kurus var saistīt ar lietotāju, un, vēlams, tā nedrīkst būt vārdnīcas vārds.

Ir ieteicams sākt mainīt paroles ik pēc 30–40 dienām. Skaidrs, ka šāda politika var izraisīt noraidījumu no lietotāju puses, taču vienmēr jāatceras, ka paroles patīk 123 vai qwerty līdzvērtīgs atslēgas atstāšanai zem paklāja.

Servera drošība – nekas papildus.

Tagad, kad ir priekšstats par to, ko mēs vēlamies aizsargāt un no kā, pāriesim pie paša servera. Izveidojiet sarakstu ar visiem pakalpojumiem un pakalpojumiem, pēc tam padomājiet, vai tie visi ir nepieciešami šajā konkrētajā serverī, vai tos var pārvietot uz citu vietu.

Jo mazāk pakalpojumu, jo vieglāk nodrošināt drošību un mazāka iespēja, ka serveris var tikt apdraudēts kāda no tiem kritiskas ievainojamības dēļ.

Konfigurējiet pakalpojumus, kas apkalpo vietējo tīklu (piemēram, kalmārus), lai tie pieņemtu pieprasījumus tikai no vietējās saskarnes. Jo mazāk pakalpojumu ir pieejami ārēji, jo labāk.

Ievainojamības skeneris būs labs palīgs drošības nodrošināšanā, tam vajadzētu skenēt servera ārējo saskarni. Mēs izmantojām demo versiju vienam no slavenākajiem produktiem - XSpider 7.7.

Skeneris parāda atvērtās ostas, mēģina noteikt pakalpojuma veidu un, ja tas izdodas, tā ievainojamību. Kā redzat, pareizi konfigurēta sistēma ir diezgan droša, taču jums nevajadzētu atstāt atslēgu zem paklāja, ja maršrutētājā ir atvērti porti 1723 (VPN) un 3389 (RDP, pārsūtīti uz termināļa serveri); labs iemesls padomāt par paroļu politiku.

Mums vajadzētu runāt arī par SSH drošību, šo pakalpojumu parasti izmanto administratori tālvadības pults serveri, un tas interesē uzbrucējus. SSH iestatījumi tiek saglabāti failā /etc/ssh/sshd_config, tajā tiek veiktas visas tālāk aprakstītās izmaiņas. Pirmkārt, jums vajadzētu atspējot autorizāciju zem root lietotāja, lai to izdarītu, pievienojiet opciju:

PermitRootLogin Nr

Tagad uzbrucējam būs jāuzmin ne tikai parole, bet arī pieteikšanās, un viņš joprojām nezinās superlietotāja paroli (ceram, ka tā neatbilst jūsu parolei). Visi administratīvie uzdevumi, pieslēdzoties no ārpuses, jāveic no apakšas sudo piesakoties kā nepievilcīgs lietotājs.

Ir vērts skaidri norādīt atļauto lietotāju sarakstu, un jūs varat izmantot tādus ierakstus kā lietotājs@host, kas ļauj norādītajam lietotājam izveidot savienojumu tikai no norādītā resursdatora. Piemēram, lai ļautu lietotājam Ivanov izveidot savienojumu no mājām (IP 1.2.3.4), jums jāpievieno šāds ieraksts:

AllowUser [e-pasts aizsargāts]

Atspējojiet arī novecojušā un mazāk drošā SSH1 protokola izmantošanu, atļaujot tikai protokola otro versiju, lai to izdarītu, nomainiet šo rindiņu uz formu:

2. protokols

Neskatoties uz visiem veiktajiem pasākumiem, joprojām tiks mēģināts izveidot savienojumu ar SSH un citiem publiskajiem pakalpojumiem, lai novērstu paroles uzminēšanu, izmantojiet utilītu fail2ban, kas ļauj automātiski aizliegt lietotāju pēc vairākiem neveiksmīgiem pieteikšanās mēģinājumiem. To var instalēt ar komandu:

Sudo apt-get install fail2ban

Šī utilīta ir gatava darbam uzreiz pēc instalēšanas, tomēr mēs iesakām nekavējoties mainīt dažus parametrus, lai to izdarītu, veikt izmaiņas failā /etc/fail2ban/jail.conf. Pēc noklusējuma tiek kontrolēta tikai piekļuve SSH un aizlieguma laiks ir 10 minūtes (600 sekundes), mūsuprāt, ir vērts to palielināt, mainot šādu opciju:

Bantime = 6000

Pēc tam ritiniet failu un iespējojiet sadaļas pakalpojumiem, kas darbojas jūsu sistēmā, iestatot parametru aiz atbilstošās sadaļas nosaukuma iespējots stāvoklī taisnība, piemēram, pakalpojumam proftpd tas izskatīsies šādi:


iespējots = patiess

Vēl viens svarīgs parametrs maksretrija, kas ir atbildīgs par maksimālo savienojuma mēģinājumu skaitu. Pēc iestatījumu maiņas neaizmirstiet restartēt pakalpojumu:

Sudo /etc/init.d/fail2ban restart

Jūs varat redzēt lietderības žurnālu vietnē /var/log/fail2ban.log.

Bez šaubām, tikko uzstādīts Linux sistēma daudz izturīgāks pret dažādām ļaunprogrammatūra, spiegprogrammatūra un hakeru darbības nekā tas pats Windows versija. Tomēr lielākā daļa Linux sistēmu izmanto noklusējuma iestatījumus, kas pēc būtības nav pilnīgi droši.

Daži Linux izplatījumi ir izstrādāti tā, lai tie būtu īpaši droši, taču tie mēdz būt ļoti mulsinoši iesācējiem, īpaši ar drošību nesaistītiem ekspertiem.

Ubuntu ir vispopulārākais Linux izplatīšanas veids, ko šodien izmanto. Tas ir saistīts ar daudziem faktoriem, viens no tiem ir tas, ka tas ir visvieglāk iesācējiem. Tam ir savi pozitīvie aspekti, taču arī šī iemesla dēļ sistēmai ir vairākas vājās vietas, kuras izstrādātāji ir atstājuši, izvēloties lietotāja ērtības. Šajā rakstā mēs apskatīsim, kā Ubuntu 16.04 ir konfigurēta drošība. Šie iestatījumi nav tik sarežģīti, taču tie palīdzēs padarīt sistēmu izturīgāku pret visizplatītākajām uzbrukuma metodēm.

Pirmā lieta, kas jums jāzina, ir pastāvīgi atjaunināt un atjaunināt sistēmu. Kodolā pastāvīgi tiek atklātas jaunas ievainojamības un programmatūra, piemērs ir tā pati Dry COW. Izstrādātāji šīs kļūdas izlabo ļoti ātri, taču, lai lietotu šos labojumus savā sistēmā, tā ir nekavējoties jāatjaunina.

Cits svarīga piezīme ir lietotāja parole. Neizmantojiet lietotāju bez paroles. Ja vēlaties piešķirt citām personām piekļuvi savam datoram, izveidojiet jaunu kontu, piemēram, viesa kontu. Bet vienmēr izmantojiet paroles. Linux operētājsistēma sākotnēji tika veidota kā vairāku lietotāju sistēma, paturot prātā visu lietotāju drošību, tāpēc nepalaidiet garām šo iespēju. Bet šie visi ir padomi, kurus jūs, iespējams, jau zināt, apskatīsim patiešām noderīgus veidus, kā palielināt ubuntu drošību.

1. Koplietojamās atmiņas iestatīšana

Pēc noklusējuma viss koplietotās atmiņas apjoms mapē /run/shm ir lasāms un rakstāms, ļaujot izpildīt programmas. Tas tiek uzskatīts par drošības caurumu, un daudzi ekspluatācijas veidi izmanto /run/shm, lai uzbruktu esošajiem pakalpojumiem. Lielākajai daļai galddatoru un jo īpaši servera ierīču ieteicams uzstādīt šo failu tikai lasīšanas režīmā. Lai to izdarītu, failam /etc/fstab pievienojiet šādu rindu:

sudo vi /etc/fstab

nav /run/shm tmpfs defaults,ro 0 0

Tomēr dažas programmas nedarbosies, ja /run/shm ir tikai lasāma, viena no tām ir Google Chrome. Ja izmantojat Google Chrome, mums ir jāsaglabā iespēja ierakstīt, taču mēs varam aizliegt programmu izpildi, lai to izdarītu, iepriekš ieteiktās rindiņas vietā pievienojiet šādu rindu:

nav /run/shm tmpfs rw,noexec,nosuid,nodev 0 0

2. Aizliegt su izmantot tiem, kas nav administratori

Papildus jūsu kontam Ubuntu ir arī viesa konts, kuru varat izmantot, lai koplietotu savu klēpjdatoru ar draugu. Su utilīta ļauj palaist programmas kā citam lietotājam. Tas ir ļoti noderīgi sistēmas administrēšanā un ļoti svarīgi, ja to lieto pareizi. Tomēr ikviens var piekļūt šai utilītai Linux lietotāji, un tā jau ir ļaunprātīga izmantošana. Lai liegtu viesa konta piekļuvi komandai su, palaidiet:

sudo dpkg-statooverride --update--pievienot saknes sudo 4750 /bin/su

3. Aizsargājiet savu mājas direktoriju

Jūsu noklusējuma mājas direktorijs būs pieejams ikvienam sistēmas lietotājam. Tātad, ja jums ir viesa konts, viesis varēs pilnībā piekļūt visiem jūsu personiskie faili un dokumentiem. Bet jūs varat padarīt to pieejamu tikai jums. Atveriet termināli un palaidiet šādu komandu:

chmod 0700 /mājas/lietotājvārds

Tas nosaka tiesības tā, ka mapes īpašniekam, tas ir, jums ir piekļuve visam, un citi lietotāji nevar pat apskatīt saturu. Kā alternatīvu varat iestatīt atļaujas uz 750, kas nodrošinās lasīšanas piekļuvi jūsu mapei lietotājiem tajā pašā grupā, kurā jūs:

chmod 0750 /mājas/lietotājvārds

Tagad Ubuntu 16.04 un jo īpaši jūsu personas datu drošība būs nedaudz augstāka.

4. Atspējojiet SSH pieteikšanos kā root

Pēc noklusējuma Ubuntu jūs varat pieteikties, izmantojot SSH kā superlietotāju, lai gan jūs iestatāt paroli root lietotājam, tas var būt potenciāli bīstami, jo, ja parole ir ļoti vienkārša, uzbrucējs to var piespiest un pilnībā kontrolēt. datoru. Sshd pakalpojums var nebūt instalēts jūsu sistēmā. Lai pārbaudītu, palaidiet:

Ja saņemat ziņojumu par savienojuma atteikumu, tas nozīmē, ka SSH serveris nav instalēts, un jūs varat izlaist šo darbību. Bet, ja tas ir instalēts, tas ir jākonfigurē, izmantojot konfigurācijas failu /etc/ssh/sshd_config. Atveriet šo failu un aizstājiet rindu:

PermitRootLogin jā

PermitRootLogin Nr

Gatavs, tagad būs grūtāk ielauzties sistēmā, izmantojot ssh, taču ubuntu 16.04 drošības iestatīšana vēl nav pabeigta.

5. Instalējiet ugunsmūri

Iespējams, ka jūsu datorā ir instalēts ne tikai ssh serveris, bet arī datu bāzes pakalpojums un apache tīmekļa serveris vai nginx. Ja tas ir mājas dators, visticamāk, jūs nevēlaties, lai kāds cits varētu izveidot savienojumu ar jūsu vietējo vietni vai datubāzi. Lai to novērstu, ir jāinstalē ugunsmūris. Uz Ubuntu ir ieteicams izmantot gufw, jo tas ir īpaši izstrādāts šai sistēmai.

Lai instalētu:

sudo apt instalēt gufw

Pēc tam jums ir jāatver programma, jāiespējo aizsardzība un jābloķē visi ienākošie savienojumi. Atļaujiet tikai pārlūkprogrammai un citām zināmajām programmām nepieciešamos portus. Vairāk lasiet instrukcijās.

6. Aizsardzība pret MITM uzbrukumiem

Būtība MITM uzbrukumi un vai "Man in the Middle" uzbrukumi, kad cita persona pārtver visas jūsu nosūtītās paketes uz serveri, tādējādi varot iegūt visas jūsu paroles un personas datus. Mēs nevaram pasargāt sevi no visiem šāda veida uzbrukumiem, taču tas ir diezgan populārs sabiedrībā vietējie tīkli MITM uzbrukuma veids ir ARP uzbrukums. Izmantojot ARP protokola iespējas, uzbrucējs jūsu datora priekšā izliekas par maršrutētāju, un jūs viņam nosūtāt visas savas datu paketes. Jūs varat ļoti viegli pasargāt sevi no tā, izmantojot utilītu TuxCut.

Programma nav pieejama oficiālajos krātuvēs, tāpēc, lai to instalētu, jums ir jālejupielādē pakotne no GitHub:

wget https://github.com/a-atalla/tuxcut/releases/download/6.1/tuxcut_6.1_amd64.deb

Pēc tam instalējiet iegūto pakotni:

sudo apt install tuxcut_6.1_amd64.deb

Pirms programmas palaišanas palaidiet tās pakalpojumu:

sudo systemctl start tuxcutd

Lietderības galvenais logs izskatās šādi:

Tas parāda visu tīklam pievienoto lietotāju IP adreses, kā arī katram no tiem atbilstošo MAC adresi. Ja atzīmēsiet izvēles rūtiņu Aizsardzības režīms, programma aizsargās pret ARP uzbrukumiem. Varat to izmantot publiskajos tīklos, piemēram, publiskajā wifi, kur uztraucaties par savu drošību.

Secinājumi

Tas arī viss. Tagad Ubuntu 16.04 drošības iestatīšana ir pabeigta, un jūsu sistēma ir daudz drošāka. Mēs esam bloķējuši izplatītākos uzbrukuma vektorus un sistēmas iespiešanās metodes, ko izmanto hakeri. Ja zini citus noderīgus veidus, kā uzlabot drošību Ubuntu, raksti komentāros!

Kā vēsta cvedetails.com, kopš 1999.g Linux kodols Konstatētas 1305 ievainojamības, no kurām 68 tika konstatētas 2015. gadā. Lielākā daļa no tiem nerada īpašas problēmas, tie ir atzīmēti kā Local un Low, un dažus var izsaukt tikai tad, ja tie ir saistīti ar noteiktām lietojumprogrammām vai OS iestatījumiem. Principā skaitļi ir mazi, bet kodols nav visa OS. Ievainojamības ir atrodamas arī GNU Coreutils, Binutils, glibs un, protams, lietotāju lietojumprogrammās. Apskatīsim interesantākos.

LINUX KODUĻA IEVAJABĪBAS

OS: Linux
Līmenis: Vidēja, zema
Vektors: Tālvadības pults
CVE: CVE-2015-3331, CVE-2015-4001, CVE-2015-4002, CVE-2015-4003
Izmantot: koncepcija, https://lkml.org/lkml/2015/5/13/740, https://lkml.org/lkml/2015/5/13/744

Ievainojamība, kas jūnijā tika atklāta Linux kodolā pirms versijas 3.19.3 funkcijā __driver_rfc4106_decrypt failā arch/x86/crypto/aesni-intel_glue.c, ir saistīta ar RFC4106 ieviešanu x86 procesoriem, kas atbalsta AES instrukciju kopas paplašinājumu AES-NI (ierosināts). Intel, Intel Advanced Encryption Standard Instructions) dažos gadījumos neaprēķina pareizi bufera adreses. Ja IPsec tunelis ir konfigurēts, lai izmantotu šo režīmu (AES algoritms — CONFIG_CRYPTO_AES_NI_INTEL), ievainojamība var izraisīt atmiņas bojājumus, avārijas un, iespējams, attālu CryptoAPI koda izpildi. Turklāt interesantākais ir tas, ka problēma var rasties pati par sevi, pilnīgi legālā satiksmē, bez ārējas iejaukšanās. Publicēšanas brīdī problēma ir atrisināta.

Linux 4.0.5 ozwpan draiverī, kuram ir eksperimentāls statuss, ir identificētas piecas ievainojamības, no kurām četras ļauj organizēt DoS uzbrukumu, avarējot kodolu, nosūtot īpaši izstrādātas paketes. Problēma ir saistīta ar bufera pārpildīšanu, kas radusies nepareizas ar parakstītiem veseliem skaitļiem, kurā memcpy aprēķins starp nepieciešamo_izmēru un nobīdi atgrieza negatīvu skaitli, kā rezultātā dati tika kopēti kaudzē.

Atrasts funkcijā oz_hcd_get_desc_cnf failā drivers/staging/ozwpan/ozhcd.c un funkcijās oz_usb_rx un oz_usb_handle_ep_data failā drivers/staging/ozwpan/ozusbsvc1.c. Citas ievainojamības bija saistītas ar iespējamu dalīšanu ar 0, sistēmas cilpu vai spēju lasīt no apgabaliem, kas atrodas ārpus piešķirtā bufera robežām.

Ozwpan draiveri, kas ir viens no jaunajiem Linux produktiem, var savienot ar esošo bezvadu ierīces saderīgs ar Ozmo Devices tehnoloģiju (Wi-Fi Direct). Nodrošina USB resursdatora kontrollera ieviešanu, taču viltība ir tāda, ka fiziska savienojuma vietā perifērijas ierīce sazinās, izmantojot Wi-Fi. Šoferis pieņem tīkla paketes c tipa (ethertype) 0x892e, pēc tam tos parsē un pārvērš dažādās USB funkcionalitātēs. Pagaidām tas tiek izmantots retos gadījumos, tāpēc to var atspējot, izkraujot moduli ozwpan.ko.

LINUX UBUNTU

OS: Linux Ubuntu 12.04.–15.04. (pamata līdz 2015. gada 15. jūnijam)
Līmenis: Kritiski
Vektors: Vietējais
CVE: CVE-2015-1328
Izmantot: https://www.exploit-db.com/exploits/37292/

OverlayFS failu sistēmas kritiskā ievainojamība nodrošina root piekļuvi Ubuntu sistēmām, kas ļauj nepiederošam lietotājam uzstādīt OverlayFS nodalījumus. Ievainojamības izmantošanai nepieciešamie noklusējuma iestatījumi tiek izmantoti visās Ubuntu 12.04–15.04 atzaros. Pats OverlayFS Linux kodolā parādījās salīdzinoši nesen - sākot ar 3.18-rc2 (2014), tā ir SUSE izstrāde, kas aizstāj UnionFS un AUFS. OverlayFS ļauj izveidot virtuālu daudzslāņu failu sistēmu, kas apvieno vairākas citu failu sistēmu daļas.

Failu sistēma ir izveidota no apakšējā un augšējā slāņa, no kuriem katrs ir pievienots atsevišķiem direktorijiem. Apakšējais slānis tiek izmantots, lai lasītu tikai to failu sistēmu direktorijus, kuras atbalsta Linux, tostarp tīkla. Augšējais slānis parasti ir rakstāms, un tas ignorēs datus apakšējā slānī, ja faili tiek dublēti. Tas ir pieprasīts tiešraidē izplatīšanā, konteineru virtualizācijas sistēmās un konteineru darbības organizēšanā dažām darbvirsmas lietojumprogrammām. Lietotāju vārdu telpas ļauj konteineros izveidot savas lietotāju un grupu ID kopas. Ievainojamību izraisa nepareiza piekļuves tiesību pārbaude, veidojot jaunus failus pamatā esošās failu sistēmas direktorijā.

Ja kodols ir izveidots ar CONFIG_USER_NS=y (iespējo lietotāja vārdu telpu) un pievienošanas laikā ir norādīts karogs FS_USERNS_MOUNT, OverlayFS var uzstādīt parasts lietotājs citā nosaukumvietā, tostarp kur operācijas ar saknes tiesības. Šajā gadījumā operācijas ar failiem ar saknes tiesībām, kas tiek veiktas šādās nosaukumvietās, saņem tādas pašas privilēģijas, veicot darbības ar pamatā esošo failu sistēmu. Tāpēc varat uzstādīt jebkuru FS nodalījumu un skatīt vai modificēt jebkuru failu vai direktoriju.

Publicēšanas laikā jau bija pieejams kodola atjauninājums ar fiksētu OverlayFS moduli no Ubuntu. Un, ja sistēma ir atjaunināta, nevajadzētu rasties problēmām. Tādā pašā gadījumā, kad atjaunināšana nav iespējama, kā pagaidu pasākums ir jāpārtrauc OverlayFS lietošana, noņemot moduli overlayfs.ko.

GALVENĀS LIETOJUMI IEvainojamības

OS: Linux
Līmenis: Kritiski
Vektors: lokāls, attālināts
CVE: CVE-2015-0235
Izmantot: https://www.qualys.com/research/security-advisories/exim_ghost_bof.rb

Bīstama ievainojamība GNU glibc standarta bibliotēkā, kas ir Linux OS galvenā daļa, un dažās Oracle Communications Applications un Oracle Pillar Axiom versijās, ko atklāja Qualys hakeri koda audita laikā. Saņēma koda nosaukumu GHOST. Šī ir bufera pārpilde funkcijā __nss_hostname_digits_dots(), ko izmanto glibc funkcijas, piemēram, gethostbyname() un gethostbyname2(), lai iegūtu resursdatora nosaukumu (tātad nosaukums GetHOST). Lai izmantotu ievainojamību, lietojumprogrammai, kas veic nosaukuma atrisināšanu, izmantojot DNS, ir jāizraisa bufera pārpilde, izmantojot nederīgu saimniekdatora nosaukuma argumentu. Tas ir, teorētiski šo ievainojamību var attiecināt uz jebkuru lietojumprogrammu, kas vienā vai otrā pakāpē izmanto tīklu. Var izsaukt lokāli un attālināti, ļaujot izpildīt patvaļīgu kodu.

Interesantākais ir tas, ka kļūda tika novērsta tālajā 2013. gada maijā, starp glibc 2.17 un 2.18 izlaidumiem tika uzrādīts ielāps, taču problēma netika klasificēta kā drošības ielāps, tāpēc tai netika pievērsta uzmanība. Tā rezultātā daudzi izplatījumi izrādījās neaizsargāti. Sākotnēji tika ziņots, ka pati pirmā ievainojamā versija bija 2.2, kas datēta ar 2000. gada 10. novembri, taču pastāv iespēja, ka tā parādīsies līdz pat 2.0. Cita starpā tika ietekmēti izplatījumi RHEL/CentOS 5.x–7.x, Debian 7 un Ubuntu 12.04 LTS. Pašlaik ir pieejami labojumfaili. Hakeri paši piedāvāja utilītu, kas izskaidro ievainojamības būtību un ļauj pārbaudīt jūsu sistēmu. Ubuntu 12.04.4 LTS viss ir kārtībā:

$ wget https : //goo.gl/RuunlE

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

$. / CVE - 2015 - 0235

nav neaizsargāti

Sistēmas pārbaude pakalpojumā GHOST

Gandrīz nekavējoties tika izlaists modulis, kas ļauj attālināti izpildīt kodu operētājsistēmās x86 un x86_64 Linux ar strādājošu pasta serveris Exim (ar iespējotu helo_try_verify_hosts vai helo_verify_hosts). Vēlāk parādījās arī citas ieviešanas iespējas, piemēram, Metasploit modulis emuāra pārbaudei pakalpojumā WordPress.

Nedaudz vēlāk, 2015. gadā, GNU glibc tika atklātas vēl trīs ievainojamības, kas ļāva attālam lietotājam veikt DoS uzbrukumu vai pārrakstīt atmiņas šūnas ārpus steka robežas: CVE-2015-1472, CVE-2015-1473, CVE-2015- 1781. gads.

OS: Linux (GNU Coreutils)
Līmenis: Zems
Vektors: Vietējais, attālināts
CVE: CVE-2014-9471
Izmantot:

GNU Coreutils ir viena no galvenajām *nix pakotnēm, kas ietver gandrīz visas pamata utilītas (cat, ls, rm, date...). Problēma tika konstatēta datumā. Kļūda funkcijā parse_datetime ļauj attālam uzbrucējam bez kontu sistēmā, izraisīt pakalpojuma atteikumu un, iespējams, izpildīt patvaļīgu kodu, izmantojot īpaši izveidotu datuma virkni, izmantojot laika joslu. Ievainojamība izskatās šādi:

$ touch ‘-- datums = TZ = ”123”345”@1”

Segmentācijas kļūda

$ datums - d "TZ = "Eiropa / Maskava" "00: 00 + 1 stunda""

Segmentācijas kļūda

$ datums ‘-- datums = TZ = ”123”345”@1'

* * * Kļūda datumā: bezmaksas () : nederīgs rādītājs: 0xbfc11414 * * *

GNU Coreutils ievainojamība

Ja ievainojamības nav, mēs saņemsim ziņojumu par nepareizu datuma formātu. Gandrīz visi Linux izplatīšanas izstrādātāji ziņoja par ievainojamību. Pašlaik ir pieejams atjauninājums.


Parasta ielāpu GNU Coreutils izvade

OS: Linux (grep 2.19–2.21)
Līmenis: Zems
Vektors: Vietējais
CVE: CVE-2015-1345
Izmantot:

Ievainojamības reti tiek atrastas grep utilītprogrammā, ko izmanto teksta meklēšanai, izmantojot modeli. Bet šo utilītu bieži izsauc citas programmas, tostarp sistēmas, tāpēc ievainojamību klātbūtne ir daudz problemātiskāka, nekā šķiet no pirmā acu uzmetiena. Kļūda funkcijā bmexec_trans failā kwset.c var izraisīt neinicializētu datu nolasīšanu no apgabala, kas atrodas ārpus piešķirtā bufera, vai izraisīt lietojumprogrammas avāriju. Hakeris var izmantot šīs priekšrocības, izveidojot īpašu datu kopu, kas tiek piegādāta lietojumprogrammas ievadei, izmantojot grep -F. Pašlaik ir pieejami atjauninājumi. Nav neviena ļaunprātīgas izmantošanas, kas izmantotu ievainojamību vai Metasploit moduli.

FREBSD IEvainojamība

OS: FreeBSD
Līmenis: Zems
Vektors: Vietējais, attālināts
CVE: CVE-2014-0998, CVE-2014-8612, CVE-2014-8613
Izmantot: https://www.exploit-db.com/exploits/35938/

2015.gadam CVE datubāzē ievainojamību nav daudz, precīzāk - tikai sešas. Pētnieki no Core Exploit Writers Team 2015. gada janvāra beigās atklāja trīs FreeBSD 8.4–10.x ievainojamības. CVE-2014-0998 ir saistīts ar VT konsoles draivera (Newcons) ieviešanu, kas nodrošina vairākus virtuālos termināļus, ko iespējo parametrs kern.vty=vt failā /boot/loader.conf.
CVE-2014-8612 rodas, izmantojot SCTP protokolu, un to izraisa kļūda SCTP straumes ID verifikācijas kodā, kas ievieš SCTP ligzdas (vietējais ports 4444). Būtība ir kļūda funkcijā sctp_setopt() (sys/netinet/sctp_userreq.c). Tas sniedz vietējam nepievilcīgam lietotājam iespēju rakstīt vai lasīt 16 bitus kodola atmiņas datu un palielināt savas privilēģijas sistēmā, atklāt sensitīvus datus vai izraisīt sistēmas avāriju.

CVE-2014-8613 ļauj aktivizēt NULL rādītāja atsauci, apstrādājot ārēji saņemtu SCTP paketi, ja ir iestatīta SCTP ligzdas opcija SCTP_SS_VALUE. Atšķirībā no iepriekšējām versijām, CVE-2014-8613 var izmantot, lai attālināti izraisītu kodola avāriju, nosūtot īpaši izstrādātas paketes. Programmā FreeBSD 10.1 varat sevi aizsargāt, iestatot mainīgo net.inet.sctp.reconfig_enable uz 0, tādējādi atspējojot RE_CONFIG bloku apstrādi. Vai vienkārši aizliegt lietojumprogrammas (pārlūkprogrammas, pasta klienti un tā tālāk). Lai gan publicēšanas laikā izstrādātāji jau bija izlaiduši atjauninājumu.


FreeBSD ievainojamības statistika

OPENSSL ievainojamība

OS: OpenSSL
Līmenis: Tālvadības pults
Vektors: Vietējais
CVE: CVE-2015-1793
Izmantot:

2014. gadā tika atklāta kritiska Heartbleed ievainojamība OpenSSL — plaši izmantotā kriptogrāfijas pakotnē darbam ar SSL/TLS. Šis incidents savulaik izraisīja milzīgu kritiku par koda kvalitāti, un, no vienas puses, tas izraisīja tādu alternatīvu parādīšanos kā LibreSSL, no otras puses, paši izstrādātāji beidzot ķērās pie lietas.

Labākie pārdevēji pēc ievainojamības

Kritisko ievainojamību atklāja Adams Lenglijs no Google un Deivids Bendžamins no BoringSSL. Izmaiņas, kas veiktas OpenSSL versijās 1.0.1n un 1.0.2b, lika OpenSSL mēģināt atrast alternatīvu sertifikātu pārbaudes ķēdi, ja pirmais mēģinājums izveidot uzticamības ķēdi bija neveiksmīgs. Tas ļauj apiet sertifikāta pārbaudes procedūru un organizēt apstiprinātu savienojumu, izmantojot viltotu sertifikātu, citiem vārdiem sakot - mierīgi pievilināt lietotāju uz viltotām vietnēm vai serveriem. e-pasts vai veikt jebkuru MITM uzbrukumu, kurā tiek izmantots sertifikāts.

Pēc ievainojamības atklāšanas izstrādātāji 9. jūlijā izlaida 1.0.1p un 1.0.2d izlaidumus, kas šo problēmu atrisināja. Versijā 0.9.8 vai 1.0.0 šīs ievainojamības nav.

Linux.kodētājs

Rudens beigas iezīmējās ar vairāku šifrēšanas vīrusu parādīšanos, vispirms Linux.Encoder.0, kam sekoja modifikācijas Linux.Encoder.1 un Linux.Encoder.2, kas inficēja vairāk nekā 2500 vietņu. Kā ziņo antivīrusu kompānijas, tiek uzbrukts Linux un FreeBSD serveriem, kuru mājaslapas darbojas, izmantojot dažādas CMS – WordPress, Magento CMS, Joomla un citas. Hakeri izmanto neidentificētu ievainojamību. Tālāk tika ievietots čaulas skripts (fails error.php), ar kura palīdzību tika veiktas turpmākās darbības (caur pārlūkprogrammu). Jo īpaši tika palaists Linux kodētājs Trojas zirgs.

Kodētājs, kas noteica OS arhitektūru un palaida izpirkuma programmatūru. Kodētājs tika palaists ar tīmekļa servera tiesībām (Ubuntu - www-data), kas ir pilnīgi pietiekami, lai šifrētu failus direktorijā, kurā tiek glabāti CMS faili un komponenti. Šifrētie faili saņem jaunu paplašinājumu.encrypted.

Izpirkuma programmatūra arī mēģina apiet citus OS direktorijus, ja tiesības ir nepareizi konfigurētas, tas var viegli pārsniegt vietnes robežas. Pēc tam direktorijā tika saglabāts fails README_FOR_DECRYPT.txt, kas satur instrukcijas failu atšifrēšanai un hakeru prasības. Ieslēgts šobrīd antivīrusu uzņēmumi ir ieviesuši utilītas, kas ļauj atšifrēt direktorijus. Piemēram, komplekts no Bitdefender. Bet jums jāatceras, ka visas utilītas, kas paredzētas failu atšifrēšanai, nenoņem čaulas kodu un viss var atkārtoties.

Ņemot vērā, ka daudzi lietotāji, kas izstrādā vai eksperimentē ar vietņu administrēšanu, bieži instalē tīmekļa serveri mājas dators, jums jāuztraucas par drošību: bloķējiet piekļuvi no ārpuses, atjauniniet programmatūru, veiciet eksperimentus virtuālajā mašīnā. Un pati ideja nākotnē varētu tikt izmantota, lai uzbruktu mājas sistēmām.

SECINĀJUMS

Sarežģīta programmatūra bez kļūdām fiziski nepastāv, tāpēc nāksies samierināties ar to, ka ievainojamības tiks atklātas pastāvīgi. Bet ne visi no tiem var būt patiesi problemātiski. Un jūs varat pasargāt sevi, veicot vienkāršas darbības: noņemiet neizmantoto programmatūru, pārraugiet jaunas ievainojamības un noteikti instalējiet drošības atjauninājumus, konfigurējiet ugunsmūri, instalējiet pretvīrusu. Neaizmirstiet arī par īpašām tehnoloģijām, piemēram, SELinux, kas diezgan spēj apdraudēt dēmonu vai lietotāja lietojumprogrammu.

Administrēšanas rīku uzstādīšana un konfigurēšana, tīkla konfigurēšana

Pēc tam, kad esam instalējuši pamata operētājsistēma ubuntu14.04 no minimāla izplatīšanas, vispirms jāuztraucas par to, kā to ērti pārvaldīt. Pamatā ssh/telnet tiek izmantots, lai konfigurētu un pārvaldītu *nix balstītus serverus, bet iekšā pēdējā laikāŠim nolūkam ir parādījušies arī diezgan piemēroti rīki, kuru pamatā ir tīmekļa saskarnes. es lietoju bezmaksas risinājumi Webmin Un Ajenti. Abi šie paneļi ir pelnījuši uzmanību, un, neskatoties uz to, ka ar tiem var visu izdarīt atsevišķi, katrs no tiem ir labāk piemērots dažām lietām, tāpēc labāk ir izmantot abus. Jāatzīmē, ka kaujas ražošanas serveros šādi risinājumi netiek instalēti, pamatojoties uz drošību. Tomēr, jo vairāk kontroles sistēmu, jo visticamāk atrast viņos ievainojamību. Tāpēc, ja jūsu drošības prasības ir “paranoiskā” līmenī, vienkārši samierinieties ar faktu, ka jums būs jāstrādā ar serveri tikai caur ssh (caur konsoli).

Tīkla iestatīšana ubuntu versijā 14.04

Lai sazinātos ar mūsu serveri tīklā, vispirms tas ir jākonfigurē. Pēc noklusējuma instalēšanas laikā tīkls tika konfigurēts automātiski, un, ja instalētājs tīklā konstatēja DHCP serveri, visticamāk, tas jau ir konfigurējis visu pēc vajadzības. Ja tīklā nav DHCP servera, instalētājs joprojām visu konfigurēja, pamatojoties uz maršrutētāja, kuram ir pievienota tīkla karte, aptauju. Lai redzētu, kā tīkls pašlaik ir konfigurēts, vienkārši ierakstiet terminālī:

Ko mēs šeit redzam:

Mums ir divas tīkla saskarnes eth0 un lo, kur lo ir “atgriezes saskarne” un eth0 ir mūsu tīkla kartes nosaukums, un, ja lo ir nemainīgs tīkla interfeiss, tad visas pārējās saskarnes var atšķirties pēc nosaukuma. Ja iekšā sistēmas vienība ir uzstādītas divas tīkla kartes, to saskarnes visticamāk izskatīsies kā eth0 un eth1 utt. Interfeisa nosaukuma izskats ir atkarīgs no veida tīkla karte, tāpēc, piemēram, ja tīkla karte darbojas, izmantojot WiFi protokolu, tad visticamāk tās nosaukums būs wlan0.

Lai konfigurētu tīklu, rediģēsim šādu failu:

sudo nano /etc/network/interfaces

Pārveidosim to uz šo formu:

iface eth0 inet statisks
adrese 192.168.0.184
tīkla maska ​​255.255.255.0
vārteja 192.168.0.1
auto eth0
dns-nameservers 8.8.8.8 8.8.4.4

Kur: iface eth0 inet statisks— norāda, ka saskarne (iface eth0) atrodas IPv4 (inet) adrešu diapazonā ar statisku ip (static);
adrese 192.168.0.184— norāda, ka mūsu tīkla kartes IP adrese ir 192.168.0.184;
tīkla maska ​​255.255.255.0— norāda, ka mūsu apakštīkla maska ​​(tīkla maska) ir 255.255.255.0;
vārteja 192.168.0.1— noklusējuma vārtejas adrese 192.168.0.254;
auto eth0— norāda sistēmai, ka eth0 interfeiss ir jāiespējo automātiski, kad sistēma tiek sāknēta ar iepriekš minētajiem parametriem.
eth0— savienojamās saskarnes nosaukums. Saskarņu sarakstu var apskatīt, ierakstot ifconfig
DNS-nosaukumu serveri— DNS serveri ir rakstīti atdalīti ar atstarpi.

Kā redzat manā gadījumā, es nolēmu iestatīt statisku IP 192.168.0.184

restartējiet serveri ar komandu

Mēs veicam servera ping no tīkla un pārliecināmies, ka tas ir redzams. Tagad ir pienācis laiks izveidot savienojumu ar to, izmantojot SSH, lai to izdarītu, mēs faktiski instalēsim ssh serveri:

sudo apt-get install ssh

Tagad jūs varat izveidot savienojumu ar mūsu serveri, izmantojot ssh, izmantojot putty programmu, piemēram, tagad jūs varat ievadīt komandas nevis manuāli, bet gan kopējot un ielīmējot mums nepieciešamās rindas ssh klients, jo nākotnē tas padarīs iestatīšanu pārsteidzoši vienkāršāku, par ko drīzumā redzēsit pats:

VISAS KOMANDAS ZEM ŠĪS RINDAS IR IEVADĪTAS KĀ SUPERLIETOTĀJS, un, lai pārietu uz superlietotāja režīmu, jums jāievada:

Webmin instalēšana

echo "deb https://download.webmin.com/download/repository sarge contrib" >> /etc/apt/sources.list echo "deb https://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib" >> /etc/apt/sources.list wget https://www.webmin.com/jcameron-key.asc apt-key pievienot jcameron-key.asc apt-get update apt-get install -y webmin

atbalss "deb https://download.webmin.com/download/repository sarge contrib">>

atbalss "deb https://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib">> /etc/apt/sources. sarakstu

wget https: //www.webmin.com/jcameron-key.asc

apt-key pievienot jcameron-key. asc

apt — saņemt atjauninājumu

apt — get install — y webmin

Visi! 6 secīgi ievadītas komandas un webmin ir instalēta un konfigurēta. Tagad varat pieteikties savā pārlūkprogrammā vietnē:

https://192.168.0.184:10000

Pēc noklusējuma webmin izskatās minimālistisks, tiek parādīts noklusējuma interfeiss angļu valoda, bet viss ir pielāgojams!

Mēs to darām šādi:

Tas izrādās šādi:

© 2024 ermake.ru - Par datoru remontu - Informācijas portāls