Configurarea securității rețelei în ubuntu. Securitatea în Linux este un concept relativ

Acasă / Frâne

Niciunul dintre noi nu vrea ca informațiile personale să cadă în mâini greșite. Dar cum să vă protejați sistemul de atacuri și furtul de date? Chiar trebuie să citiți manuale de un kilometru cu privire la algoritmii de configurare și de criptare? Deloc necesar. În acest articol, vă voi spune cum să faceți un sistem Linux securizat în literalmente 30 de minute.

Introducere

Trăim într-o epocă dispozitive mobileși permanent online. Mergem la o cafenea cu un laptop și rulăm servere web expuse internetului pe mașinile noastre de acasă. Ne înregistrăm pe sute de site-uri și folosim aceleași parole pentru serviciile web. Avem întotdeauna un smartphone în buzunare, cu zeci de parole îndesate în el și chei pentru mai multe servere SSH. Suntem atât de obișnuiți ca serviciile de la terți să aibă grijă de confidențialitatea noastră, încât am încetat să-i acordăm atenție.

Când mi-am pierdut smartphone-ul, am fost foarte norocos că antifurtul instalat pe acesta s-a dovedit a fi funcțional și mi-a permis să șterg de la distanță toate datele din memoria dispozitivului. Când am deschis din neatenție un port SSH pe o mașină de acasă cu un utilizator fără parolă (!). lumea exterioară(!!), am fost foarte norocos că copiii cu scenarii au intrat pe mașină și, în afară de istoria amuzantă a shell-ului, nu au lăsat urme serioase ale prezenței lor în sistem. Când am postat din greșeală o listă pe Internet cu parola mea de Gmail, am fost foarte norocos că a fost o persoană amabilă care m-a avertizat despre asta.

Poate că sunt un prost, dar sunt ferm convins că incidente similare s-au întâmplat multora dintre cei care citesc aceste rânduri. Și este bine dacă acești oameni, spre deosebire de mine, au avut grijă să își protejeze mașina. La urma urmei, s-ar putea ca antifurtul să nu fi funcționat și, în loc de un script kiddy, s-ar fi putut urca oameni serioși în mașină și s-ar putea să fi pierdut nu un smartphone, ci un laptop, care nu avea altă protecție în afară de parola de utilizator. . Nu, cu siguranță nu ar trebui să te bazezi pe autentificarea cu doi factori Google și pe parole stupide în zilele noastre, ai nevoie de ceva mai serios.

Acest articol este un ghid pentru un Unixoid paranoic, dedicat protecției totale a unei mașini Linux de orice și orice. Ezit să spun că tot ceea ce este descris aici este obligatoriu pentru utilizare. Dimpotrivă, aceasta este o colecție de rețete, informații din care poți folosi pentru a te proteja pe tine și datele tale la acele niveluri în care este nevoie în situația ta specifică.

Parolă!

Totul începe cu parole. Sunt peste tot: în fereastra de autentificare într-o distribuție Linux, în formularele de înregistrare pe site-uri de Internet, pe serverele FTP și SSH și pe ecranul de blocare al unui smartphone. Astăzi, standardul pentru parole este de 8-12 caractere mixte cu majuscule și numere. Generarea unor astfel de parole cu propria ta minte este destul de obositoare, dar există o modalitate ușoară de a o face automat:

$ openssl rand -base64 6

Fără aplicații externe, fără extensii de browser web, OpenSSL este disponibil pe orice computer. Deși, dacă este mai convenabil pentru cineva, poate instala și utiliza pwgen în aceste scopuri (se spun că parola va fi mai puternică):

$ pwgen -Bs 8 1

Unde să stocați parolele? Astăzi, fiecare utilizator are atât de multe, încât este pur și simplu imposibil să păstrezi totul în capul tău. Ai încredere în sistemul de salvare automată al browserului tău? Este posibil, dar cine știe cum le vor trata Google sau Mozilla. Snowden a spus că nu a fost foarte bine. Prin urmare, parolele trebuie stocate pe mașină în sine într-un container criptat. Părinții fondatori recomandă utilizarea KeePassX pentru aceasta. Chestia este grafică, ceea ce părinților fondatori înșiși nu prea le place, dar funcționează peste tot, inclusiv faimoasa sondă Android Google (KeePassDroid). Tot ce rămâne este să transferați baza de date cu parole acolo unde este necesar.

Să criptăm

Criptare - există atât de multe în acest cuvânt... Astăzi criptarea este peste tot și nicăieri în același timp. Suntem forțați să folosim versiuni HTTPS ale site-urilor web, dar nu ne pasă. Ei ne spun: „Criptați directorul dvs. de acasă”, iar noi spunem: „Atunci îl voi configura”. Ei ne spun: „Distracția preferată a angajaților Dropbox este să râdă de fotografiile personale ale utilizatorilor”, iar noi: „Lasă-i să râdă”. Între timp, criptarea este singurul mijloc absolut de protecție astăzi. De asemenea, este foarte accesibil și netezește ridurile.

Linux are o mulțime de opțiuni de criptare pentru orice, de la partiții de hard disk la fișiere individuale. Cele trei instrumente cele mai cunoscute și testate în timp sunt dm-crypt/LUKS, ecryptfs și encfs. Primul criptează discuri și partiții întregi, al doilea și al treilea criptează directoarele cu informații importante, fiecare fișier separat, ceea ce este foarte convenabil dacă trebuie să faceți copii de siguranță incrementale sau să le folosiți împreună cu Dropbox. Există, de asemenea, câteva instrumente mai puțin cunoscute, inclusiv TrueCrypt, de exemplu.

Permiteți-mi să fac o rezervare imediat că criptarea întregului disc este o sarcină dificilă și, cel mai important, inutilă. Nu există nimic deosebit de confidențial în directorul rădăcină și nu poate exista, dar directorul principal și schimbul sunt pur și simplu o comoară de informații. Mai mult, al doilea este chiar mai mare decât primul, deoarece datele și parolele pot ajunge acolo deja în formă decriptată (programatorii normali interzic sistemului să arunce astfel de date într-un schimb, dar astfel de oameni sunt în minoritate). Configurarea criptării pentru ambele este foarte simplă, trebuie doar să instalați instrumentele ecrypts:

$ sudo apt-get install ecryptfs-utils

Și, de fapt, activați criptarea:

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

Apoi, introduceți parola folosită pentru autentificare și reconectați-vă la sistem. Da, este chiar atât de simplu. Prima comandă va cripta și remonta schimbul prin schimbarea liniilor corespunzătoare în /etc/fstab. Al doilea va crea directoarele ~/.Private și ~/Private, în care vor fi stocate fișierele criptate, respectiv decriptate. Când vă conectați, va fi declanșat modulul PAM pam_ecryptfs.so, care va monta primul director în al doilea cu criptare transparentă a datelor. După demontare, ~/Private va fi gol, iar ~/.Private va conține toate fișierele în formă criptată.

Nu este interzisă criptarea întregului director principal. În acest caz, performanța nu va scădea mult, dar toate fișierele vor fi protejate, inclusiv același director de rețea ~/Dropbox. Acest lucru se face astfel:

# ecryptfs-migrate-home -u vasya

Apropo, ar trebui să existe de 2,5 ori mai mult spațiu pe disc decât datele lui Vasya, așa că recomand să-l curățați în avans. După finalizarea operațiunii, ar trebui să vă conectați imediat ca utilizator vasya și să verificați funcționalitatea:

$montură | grep Privat /home/vasya/.Privat pe /home/vasya tip ecryptfs...

Dacă totul este în regulă, puteți suprascrie copia necriptată a datelor:

$ sudo rm -r /home/vasya.*

Acoperându-ne urmele

OK, parolele sunt într-un loc sigur, și fișierele personale, ce acum? Și acum trebuie să avem grijă ca unele părți din datele noastre personale să nu cadă în mâini greșite. Nu este un secret pentru nimeni că, atunci când un fișier este șters, conținutul său actual rămâne pe suport, chiar dacă formatarea este făcută ulterior. Datele noastre criptate vor fi în siguranță chiar și după ștergere, dar cum rămâne cu unitățile flash și alte carduri de memorie? Aici avem nevoie de utilitarul srm, care nu numai că șterge fișierul, ci și umple blocurile de date rămase cu gunoi:

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

# dd if=/dev/zero of=/dev/sdb

Această comandă va șterge toate datele de pe unitatea flash sdb. În continuare, tot ce rămâne este să creați un tabel de partiții (cu o singură partiție) și să îl formatați în sistemul de fișiere dorit. Este recomandat să folosiți fdisk și mkfs.vfat pentru asta, dar vă puteți descurca și cu gparted grafic.

Prevenirea atacurilor BruteForce

Fail2ban este un demon care scanează jurnalele pentru încercări de a ghici parolele pentru serviciile de rețea. Dacă sunt găsite astfel de încercări, adresa IP suspectă este blocată folosind iptables sau TCP Wrappers. Serviciul poate notifica proprietarul gazdei despre incident prin e-mail și poate reseta blocarea prin timp specificat. Fail2ban a fost dezvoltat inițial pentru a proteja SSH astăzi sunt oferite exemple gata făcute pentru Apache, lighttpd, Postfix, Exim, Cyrus IMAP, numit și așa mai departe. Mai mult, un proces Fail2ban poate proteja mai multe servicii simultan.

În Ubuntu/Debian, pentru a instala tastam:

# apt-get install fail2ban

Configurațiile se află în directorul /etc/fail2ban. După modificarea configurației, ar trebui să reporniți fail2ban cu comanda:

# /etc/init.d/fail2ban reporniți

Amenințare din afară

Acum să ne ocupăm de amenințările care emană din adâncuri world wide web. Aici ar trebui să încep să vorbesc despre iptables și pf care rulează pe o mașină dedicată care rulează OpenBSD, dar toate acestea sunt redundante când există ipkungfu. Ce este? Acesta este un script care va face toată munca murdară de a configura firewall-ul pentru noi, fără a fi nevoie să scriem liste de reguli lungi de un kilometru. Instala:

$ sudo apt-get install ipkungfu

Editarea configurației:

$ sudo vi /etc/ipkungfu/ipkungfu.conf # Rețea locală, dacă există una, scrieți adresa rețelei împreună cu masca, dacă nu, scrieți adresa de loopback LOCAL_NET="127.0.0.1" # Mașina noastră nu este o poartă de acces GATEWAY=0 # Închideți porturile necesare FORBIDDEN_PORTS="135 137 139" # Blocați ping-urile, 90% dintre copii vor cădea în această etapă BLOCK_PINGS=1 # Aruncă pachete suspecte (diverse tipuri de inundații) SUSPECT="DROP" # Drop pachete „greșite” (unele tipuri de DoS) KNOWN_BAD=" DROP" # Scanare porturi? Thrash! PORT_SCAN="DROP"

Pentru a activa ipkungfu, deschideți fișierul /etc/default/ipkungfu și schimbați linia IPKFSTART = 0 în IPKFSTART = 1. Rulați:

$sudo ipkungfu

În plus, să facem modificări în /etc/sysctl.conf:

$ sudo vi /etc/systcl.conf # Eliminați redirecționările ICMP (împotriva atacurilor MITM) net.ipv4.conf.all.accept_redirects=0 net.ipv6.conf.all.accept_redirects=0 # Activați mecanismul TCP syncookies net.ipv4 . tcp_syncookies=1 # Diverse ajustări (anti-spoofing, creșterea cozii de conexiuni TCP „pe jumătate deschise” și așa mai departe) net.ipv4.tcp_timestamps=0 net.ipv4.conf.all.rp_filter=1 net.ipv4.tcp_backlog_s =1280 kernel .core_uses_pid=1

Activați modificările:

$ sudo sysctl -p

Detectarea intruziunilor

Snort este unul dintre instrumentele preferate ale administratorilor și o figură principală în toate ghidurile de securitate. Un lucru cu o istorie lungă și capabilități enorme, căruia îi sunt dedicate cărți întregi. Ce face în ghidul nostru configurare rapidă sistem securizat? Și aici este locul în care Snort nu trebuie configurat:

$ sudo apt-get install snort $ snort -D

Toate! Nu glumesc setări standard Snort este mai mult decât suficient pentru a proteja serviciile tipice de rețea, dacă, desigur, le aveți. Trebuie doar să te uiți la jurnal din când în când. Și în el puteți găsi linii ca acestea:

[**] Încercarea de depășire a răspunsului probei MS-SQL [**] http://www.securityfocus.com/bid/9407]

Hopa! Cineva a încercat să provoace o depășire a tamponului în MySQL. Există și un link către pagina cu descriere detaliată probleme. Frumuseţe.

Cineva a moștenit...

Cineva deosebit de inteligent a reușit să ocolească firewall-ul nostru, să treacă de Snort, să obțină acces root la sistem și acum să se conecteze la sistem în mod regulat folosind ușa din spate instalată. Nu este bine, ușa din spate trebuie găsită, eliminată și sistemul actualizat. Pentru a căuta rootkit-uri și backdoors, folosim rkhunter:

$ sudo apt-get install rkhunter

Hai sa lansam:

$ sudo rkhunter -c --sk

Software-ul va verifica întregul sistem pentru prezența rootkit-urilor și va afișa rezultatele pe ecran. Dacă malware-ul este încă găsit, rkhunter va indica locația și poate fi șters. Un jurnal mai detaliat se găsește aici: /var/log/rkhunter.log. Este mai bine să rulați rkhunter ca un job cron zilnic:

$ sudo vi /etc/cron.daily/rkhunter.sh #!/bin/bash /usr/bin/rkhunter -c --cronjob 2>&1 | mail -s „Rezultatele scanării RKhunter” [email protected]

Înlocuim adresa de e-mail a lui Vasya cu a noastră și facem scriptul executabil:

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

$ sudo rkhunter --update

Apropo, îl puteți adăuga înainte de comanda de verificare în scriptul cron. Încă două instrumente de căutare rootkit:

$ sudo apt-get install tiger $ sudo tiger $ sudo apt-get install lynis $ sudo lynis -c

În esență, sunt aceleași ouă Faberge din vedere de ochi de pasăre, dar au baze diferite. Poate cu ajutorul lor va fi posibil să identificăm ce a ratat rkhunter. Și pentru început, debsums este un instrument de reconciliere. sume de control fisiere, pachetele instalate cu standardul. Punem:

$ sudo apt-get install debsums

Hai să facem verificarea:

$ sudo debsums -ac

Ca întotdeauna? lansarea poate fi adăugată la joburile cron.



Exterior

Acum haideți să vorbim despre cum să vă păstrați anonimatul pe Internet și să obțineți acces la site-uri și pagini blocate la cererea diferitelor organizații deținătoare de drepturi de autor și a altor Mizulins. Cel mai simplu mod de a face acest lucru este să utilizați unul dintre miile de servere proxy din întreaga lume. Multe dintre ele sunt gratuite, dar adesea reduc canalul la viteza unui modem analogic antic.

Pentru a naviga cu ușurință pe site-uri și pentru a activa un proxy numai atunci când este necesar, puteți utiliza una dintre numeroasele extensii pentru Chrome și Firefox, care pot fi găsite cu ușurință în director la cererea comutatorului de proxy. Instalăm, intrăm în lista proxy-urilor necesare și trecem la cel necesar, văzând în locul paginii semnul „Accesul la pagină este limitat la cererea domnului Skumbrievich”.

În situațiile în care întregul site a intrat sub filtru și adresa sa a fost inclusă pe lista neagră pe partea serverelor DNS ale furnizorilor, puteți utiliza servere DNS gratuite ale căror adrese sunt publicate. Doar luați oricare două adrese care vă plac și adăugați-le în /etc/resolv.conf:

Server de nume 156.154.70.22 server de nume 156.154.71.22

Pentru a preveni diferiți clienți DHCP și NetworkManagers să suprascrie fișierul cu adresele primite de la furnizor sau router, facem fișierul nereinscriptibil utilizând atribute extinse:

$ sudo chattr +i /etc/resolv.conf

După aceasta, fișierul va deveni protejat la scriere pentru toată lumea, inclusiv pentru root.

Pentru a vă anonimiza în continuare experiența de navigare, puteți utiliza și demonul dnscrypt, care va cripta toate solicitările către serverul DNS, în plus față de serverul proxy utilizat pentru a se conecta la site-ul însuși. Instala:

$ 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

Specificați adresa de loopback în /etc/resolv.conf:

$ vi /etc/resolv.conf server de nume 127.0.0.1

Să începem demonul:

$ sudo dnscrypt-proxy --daemonize

Apropo, există versiuni de dnscrypt pentru Windows, iOS și Android.

Dirijarea cepei

Ce este rutarea cepei? Acesta este Tor. Și Tor, la rândul său, este un sistem care vă permite să creați o rețea complet anonimă cu acces la Internet. Termenul „ceapă” este folosit aici în legătură cu modelul de operare în care orice pachet de rețea va fi „înfășurat” în trei straturi de criptare și va trece prin trei noduri în drumul către destinatar, fiecare dintre ele își va elimina propriul strat. și transmiteți rezultatul în continuare. Totul, desigur, este mai complicat, dar singurul lucru important pentru noi este că acesta este unul dintre puținele tipuri de organizare a rețelei care vă permite să păstrați anonimatul complet.

Totuși, acolo unde există anonimat, există și probleme de conectare. Și Tor are cel puțin trei dintre ele: este monstruos de lent (mulțumită criptării și transmiterii printr-un lanț de noduri), va crea o încărcare în rețeaua dvs. (pentru că voi înșivă veți fi unul dintre noduri) și este vulnerabil la interceptarea traficului. Aceasta din urmă este o consecință naturală a capacității de a accesa Internetul din rețeaua Tor: ultimul nod (ieșire) va elimina ultimul strat de criptare și poate obține acces la date.

Cu toate acestea, Tor este foarte ușor de instalat și utilizat:

$ sudo apt-get install tor

Asta este, acum mașina locală va avea un server proxy care duce la rețeaua Tor. Adresă: 127.0.0.1:9050, o puteți introduce în browser folosind aceeași extensie sau o puteți adăuga prin setări. Rețineți că acesta este un SOCKS, nu un proxy HTTP.


INFO

Versiunea pentru Android a lui Tor se numește Orbot.

A intrat in linie de comandă parola nu a fost salvată în istorie, puteți folosi un truc inteligent numit „adăugați un spațiu la începutul comenzii”.

Ecryptfs este folosit pentru a cripta directorul principal în Ubuntu.

Luptă împotriva inundațiilor

Voi da câteva comenzi care vă pot ajuta să vă inundați gazda.

Numărarea numărului de conexiuni pe un anumit port:

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

Numărarea numărului de conexiuni TCP „pe jumătate deschise”:

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

Vizualizați lista adreselor IP de la care provin solicitările de conectare:

$ netstat -na | grep ":port\ " | sortare | uniq -c | sort -nr | Mai puțin

Analizarea pachetelor suspecte folosind tcpdump:

# tcpdump -n -i eth0 -s 0 -w output.txt portul dst și gazda serverului IP

Renunțăm la conexiunile atacatorului:

# iptables -A INPUT -s IP-ul atacatorului -p tcp --destination-port port -j DROP

Limităm numărul maxim de conexiuni „pe jumătate deschise” de la un IP la un anumit port:

# iptables -I INPUT -p tcp --syn --dport port -m iplimit --iplimit-above 10 -j DROP

Dezactivați răspunsurile la solicitările ICMP ECHO:

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

Concluzii

Asta e tot. Fără a intra în detalii și fără a fi nevoie să studiem manuale, am creat o cutie Linux care este protejată de intruziunea externă, de rootkit-uri și alte infecții, de intervenția umană directă, de interceptarea și supravegherea traficului. Tot ce rămâne este să actualizați regulat sistemul, să interziceți autentificarea cu parolă prin SSH, să eliminați serviciile inutile și să evitați erorile de configurare.

Există o concepție greșită obișnuită conform căreia serverele care rulează sistemul de operare Linux sunt cele mai sigure și protejate de intruziunile externe. Din păcate, nu este cazul, securitatea oricărui server depinde de o serie de factori și măsuri pentru a o asigura și este practic independentă de sistemul de operare utilizat.

Am decis să începem o serie de articole despre securitatea rețelei cu Ubuntu Server, deoarece soluțiile de pe această platformă sunt de mare interes pentru cititorii noștri și din moment ce mulți cred că soluțiile Linux sunt sigure în sine.

În același timp, un router cu o adresă IP dedicată este o „poartă” către rețeaua locală și va depinde numai de administrator dacă această poartă va fi o barieră de încredere sau se va dovedi a fi o poartă de țară închisă cu un cui.

O altă concepție greșită comună este raționamentul în stilul: „cine are nevoie, serverul nostru, nu avem nimic interesant”. Într-adevăr, rețeaua dvs. locală poate să nu prezinte niciun interes pentru atacatori, dar aceștia pot folosi un server piratat pentru a trimite spam, atacuri asupra altor servere, un proxy anonim, pe scurt, ca punct de plecare pentru tranzacțiile lor umbrite.

Și acest lucru este deja neplăcut și poate servi drept sursă a diverselor probleme: de la furnizor până la agențiile de aplicare a legii. Și despre răspândirea virușilor, furt și distrugere informatii importante De asemenea, nu trebuie să uitați, precum și faptul că timpul de nefuncționare al unei întreprinderi duce la pierderi destul de tangibile.

Deși acest articol este despre Ubuntu Server, ne vom uita mai întâi la întrebări generale securitate, care se aplică în mod egal oricărei platforme și sunt elementele de bază, fără stăpânire pe care nu are rost să discutăm problema mai detaliat.

De unde începe siguranța?

Nu, securitatea nu începe cu firewall-ul, nu începe deloc cu firewall-ul. mijloace tehnice, securitatea începe cu utilizatorul. La urma urmei, la ce folosește cea mai tare ușă metalică instalată de cei mai buni specialiști dacă proprietarul lasă cheia sub covor?

Prin urmare, primul lucru pe care trebuie să-l faceți este să efectuați un audit de securitate. Nu vă lăsați intimidați de acest cuvânt, totul nu este atât de complicat: desenați un plan schematic de rețea pe care marcați o zonă sigură, o zonă de potențial pericol și o zonă de mare pericol și, de asemenea, faceți o listă cu utilizatorii care au (ar trebui să aibă acces) la aceste zone.

Zona de siguranță ar trebui să includă resurse interne ale rețelei care nu sunt accesibile din exterior și pentru care este acceptabil un nivel scăzut de securitate. Acestea ar putea fi stații de lucru, servere de fișiere etc. dispozitive la care accesul este limitat la rețeaua locală a întreprinderii.

Zona de potențial pericol include servere și dispozitive care nu au acces direct la rețeaua externă, dar ale căror servicii individuale sunt accesibile din exterior, de exemplu, servere web și de e-mail situate în spatele unui firewall, dar care deservesc totuși solicitările din rețeaua externă.

Zona periculoasă ar trebui să includă dispozitive direct accesibile din exterior, în mod ideal, acesta ar trebui să fie un singur router.

Dacă este posibil, o zonă potențial periculoasă ar trebui plasată pe o subrețea separată - o zonă demilitarizată (DMZ), care este separată de rețeaua principală printr-un firewall suplimentar.

Dispozitivele LAN ar trebui să aibă acces numai la acele servicii din DMZ de care au nevoie, cum ar fi SMTP, POP3, HTTP și alte conexiuni ar trebui blocate. Acest lucru vă va permite să izolați în mod fiabil un atacator sau malware care a profitat de o vulnerabilitate într-un serviciu separat dintr-o zonă demilitarizată, interzicându-le accesul la rețeaua principală.

Din punct de vedere fizic, un DMZ poate fi organizat prin instalarea unui server separat / firewall hardware sau prin adăugarea unei plăci de rețea suplimentare la router, dar în acest din urmă caz ​​va trebui să acordați o atenție deosebită securității routerului. Dar, în orice caz, este mult mai ușor să asigurați securitatea unui server decât a unui grup de servere.

Următorul pas ar trebui să fie analizarea listei de utilizatori, dacă toți au nevoie de acces la DMZ și la router (cu excepția serviciilor publice), o atenție deosebită ar trebui acordată utilizatorilor care se conectează din exterior.

De obicei, acest lucru necesită pasul foarte nepopular de a impune o politică de parole. Toate parolele pentru utilizatorii care au acces la servicii critice și au capacitatea de a se conecta extern trebuie să conțină cel puțin 6 caractere și să conțină, pe lângă litere mici, caractere din două categorii din trei: litere mari, cifre, caractere nealfabetice.

În plus, parola nu trebuie să includă autentificarea utilizatorului sau o parte a acesteia, nu trebuie să conțină date sau nume care pot fi asociate cu utilizatorul și, de preferință, nu ar trebui să fie un cuvânt din dicționar.

Este o idee bună să te apuci de schimbarea parolelor la fiecare 30-40 de zile. Este clar că o astfel de politică poate provoca respingere din partea utilizatorilor, dar ar trebui să vă amintiți întotdeauna că parolele ca 123 sau qwerty echivalent cu a lăsa o cheie sub covor.

Securitatea serverului - nimic în plus.

Acum, având o idee despre ce vrem să protejăm și de ce, să trecem la serverul însuși. Faceți o listă cu toate serviciile și serviciile, apoi gândiți-vă dacă toate sunt necesare pe acest server sau dacă pot fi mutate în altă parte.

Cu cât sunt mai puține servicii, cu atât este mai ușor să asigurați securitatea și cu atât șansele mai mici ca serverul să fie compromis printr-o vulnerabilitate critică la unul dintre ele.

Configurați serviciile care deservesc rețeaua locală (de exemplu, squid) astfel încât să accepte cereri exclusiv de la interfața locală. Cu cât sunt mai puține servicii disponibile extern, cu atât mai bine.

Un scanner de vulnerabilități va fi un bun asistent în asigurarea securității; ar trebui să scaneze interfața externă a serverului. Am folosit o versiune demo a unuia dintre cele mai cunoscute produse - XSpider 7.7.

Scanerul arată porturi deschise, încearcă să determine tipul de serviciu care rulează și, dacă are succes, vulnerabilitățile pentru acesta. După cum puteți vedea, un sistem configurat corect este destul de sigur, dar nu ar trebui să lăsați cheia sub covor, prezența porturilor deschise 1723 (VPN) și 3389 (RDP, redirecționate către serverul terminal) este o problemă; un motiv bun să vă gândiți la o politică de parole.

Ar trebui să vorbim și despre securitatea SSH, pentru care acest serviciu este folosit de obicei telecomanda server și prezintă un interes sporit pentru atacatori. Setările SSH sunt stocate într-un fișier /etc/ssh/sshd_config, toate modificările descrise mai jos sunt aduse acestuia. În primul rând, ar trebui să dezactivați autorizarea sub utilizatorul root pentru a face acest lucru, adăugați opțiunea:

PermitRootLogin nr

Acum atacatorul va trebui să ghicească nu numai parola, ci și login-ul și tot nu va ști parola de superutilizator (sperăm că nu se potrivește cu parola dvs.). Toate sarcinile administrative atunci când vă conectați din exterior ar trebui efectuate de dedesubt sudo autentificarea ca utilizator neprivilegiat.

Merită să specificați în mod explicit lista de utilizatori permiși și puteți utiliza intrări precum utilizator@gazdă, care permite utilizatorului specificat să se conecteze numai de la gazda specificată. De exemplu, pentru a permite utilizatorului Ivanov să se conecteze de acasă (IP 1.2.3.4), ar trebui să adăugați următoarea intrare:

AllowUser [email protected]

Dezactivați, de asemenea, utilizarea protocolului SSH1 învechit și mai puțin sigur, permițând doar a doua versiune a protocolului, pentru a face acest lucru, schimbați următoarea linie la forma:

Protocolul 2

În ciuda tuturor măsurilor luate, vor exista în continuare încercări de conectare la SSH și alte servicii publice pentru a preveni ghicirea parolei, utilizați utilitarul; fail2ban, care vă permite să interziceți automat un utilizator după mai multe încercări de conectare nereușite. Il poti instala cu comanda:

Sudo apt-get install fail2ban

Acest utilitar este gata să funcționeze imediat după instalare, cu toate acestea, vă sfătuim să modificați imediat unii parametri pentru a face acest lucru, să faceți modificări în fișier /etc/fail2ban/jail.conf. În mod implicit, numai accesul la SSH este controlat, iar timpul de interdicție este de 10 minute (600 de secunde), în opinia noastră, merită să îl măriți prin modificarea următoarei opțiuni:

Bantime = 6000

Apoi parcurgeți fișierul și activați secțiunile pentru serviciile care rulează pe sistemul dvs. setând parametrul după numele secțiunii corespunzătoare activatîntr-o stare adevărat, de exemplu pentru un serviciu proftpd va arata asa:


activat = adevărat

Un alt parametru important maxretry, care este responsabil pentru numărul maxim de încercări de conectare. După modificarea setărilor, nu uitați să reporniți serviciul:

Sudo /etc/init.d/fail2ban reporniți

Puteți vedea jurnalul de utilitate la /var/log/fail2ban.log.

Fără îndoială, tocmai instalat sistem Linux mult mai rezistent la diverse malware, spyware și activități hackeri decât la fel Versiunea Windows. Cu toate acestea, majoritatea sistemelor Linux folosesc setări implicite care nu sunt complet sigure în natură.

Unele distribuții Linux sunt concepute pentru a fi extrem de sigure din cutie, dar tind să fie foarte confuze pentru începători, în special pentru experții care nu sunt în securitate.

Ubuntu este cea mai populară distribuție Linux utilizată astăzi. Acest lucru se datorează multor factori, unul dintre ei fiind că este cel mai ușor pentru utilizatorii începători. Aceasta are aspectele sale pozitive, dar și din acest motiv sistemul are câteva puncte slabe pe care dezvoltatorii le-au lăsat în urmă prin alegerea confortului utilizatorului. În acest articol ne vom uita la modul în care este configurată securitatea în Ubuntu 16.04. Aceste setări nu sunt atât de complicate, dar vă vor ajuta să vă faceți sistemul mai rezistent la cele mai comune metode de atac.

Primul lucru pe care ar trebui să-l știți este să vă mențineți sistemul permanent actualizat și actualizat. Noi vulnerabilități sunt descoperite în mod constant în nucleu și software, un exemplu este același Drity COW. Dezvoltatorii remediază aceste erori foarte repede, dar pentru a aplica aceste remedieri pe sistemul dvs. trebuie să îl actualizați prompt.

Alte nota importanta este parola utilizatorului. Nu utilizați un utilizator fără parolă. Dacă trebuie să oferiți altor persoane acces la computerul dvs., creați un cont nou, cum ar fi un cont de invitat. Dar folosește întotdeauna parole. Sistemul de operare Linux a fost construit inițial ca un sistem multi-utilizator, având în vedere securitatea pentru toți utilizatorii, așa că nu ratați această oportunitate. Dar acestea sunt toate sfaturi pe care probabil le știți deja, să vedem modalități cu adevărat utile de a crește securitatea ubuntu.

1. Configurarea memoriei partajate

În mod implicit, întreaga cantitate de memorie partajată din /run/shm este lizibilă și scrisă, permițând executarea programelor. Aceasta este considerată o gaură de securitate și multe exploit-uri folosesc /run/shm pentru a ataca serviciile care rulează. Pentru majoritatea desktop-urilor, și în special a dispozitivelor server, se recomandă montarea acestui fișier în modul doar citire. Pentru a face acest lucru, adăugați următoarea linie în /etc/fstab:

sudo vi /etc/fstab

none /run/shm tmpfs defaults,ro 0 0

Dar totuși, unele programe nu vor rula dacă /run/shm este doar pentru citire, unul dintre ele este Google Chrome. Dacă utilizați Google Chrome, atunci trebuie să păstrăm capacitatea de a înregistra, dar putem interzice execuția programelor pentru a face acest lucru, adăugați următoarea linie în loc de cea sugerată mai sus:

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

2. Interziceți utilizarea su pentru non-administratori

Pe lângă contul tău, Ubuntu are și un cont de invitat, pe care îl poți folosi pentru a partaja laptopul cu un prieten. Utilitarul su vă permite să rulați programe ca alt utilizator. Acest lucru este foarte util în administrarea sistemului și vital atunci când este utilizat corect. Dar, cu toate acestea, toată lumea poate accesa acest utilitar utilizatorii Linux, iar acesta este deja abuz. Pentru a refuza accesul unui cont oaspete la comanda su, rulați:

sudo dpkg-statoverride --update--add root sudo 4750 /bin/su

3. Protejați-vă directorul principal

Directorul dvs. de pornire implicit va fi accesibil fiecărui utilizator din sistem. Deci, dacă aveți un cont de invitat, atunci oaspetele va putea avea acces deplin la toate dosare personale si documente. Dar îl poți pune la dispoziție numai pentru tine. Deschideți un terminal și rulați următoarea comandă:

chmod 0700 /home/nume utilizator

Setează drepturi în așa fel încât proprietarul folderului, adică tu, să aibă acces la tot, iar alți utilizatori nici măcar să nu poată vizualiza conținutul. Ca alternativă, puteți seta permisiunile la 750, ceea ce va oferi acces de citire la folderul dvs. utilizatorilor din același grup ca și dvs.:

chmod 0750 /home/nume utilizator

Acum securitatea Ubuntu 16.04, și în special datele tale personale, va fi puțin mai mare.

4. Dezactivați autentificarea SSH ca root

În mod implicit, în Ubuntu vă puteți conecta prin SSH ca superutilizator Chiar dacă setați o parolă pentru utilizatorul root, acest lucru poate fi potențial periculos, deoarece dacă parola este foarte simplă, atunci un atacator o poate forța brută și poate prelua controlul deplin asupra. calculatorul. Este posibil ca serviciul sshd să nu fie instalat pe sistemul dumneavoastră. Pentru a verifica, rulați:

Dacă primiți un mesaj de refuz al conexiunii, aceasta înseamnă că serverul SSH nu este instalat și puteți sări peste acest pas. Dar dacă este instalat, atunci trebuie configurat folosind fișierul de configurare /etc/ssh/sshd_config. Deschideți acest fișier și înlocuiți linia:

PermitRootLogin da

PermitRootLogin nr

Gata, acum va fi mai dificil să intrați în sistemul dvs. prin ssh, dar configurarea de securitate în ubuntu 16.04 nu este încă finalizată.

5. Instalați un firewall

Este posibil ca pe computerul dvs. să fie instalat nu numai serverul ssh, ci și un serviciu de baze de date și server web apache sau nginx. Dacă acesta este un computer de acasă, atunci cel mai probabil nu ați dori ca altcineva să se poată conecta la site-ul sau baza de date locală. Pentru a preveni acest lucru, trebuie să instalați un firewall. Pe Ubuntu, este recomandat să utilizați gufw, deoarece este conceput special pentru acest sistem.

Pentru a instala:

sudo apt install gufw

Apoi trebuie să deschideți programul, să activați protecția și să blocați toate conexiunile de intrare. Permiteți doar porturile necesare pentru browser și alte programe cunoscute. Citiți mai multe în instrucțiuni.

6. Protecție împotriva atacurilor MITM

Esența Atacurile MITMși sau atacuri „Man in the Middle” în care o altă persoană interceptează toate pachetele pe care le trimiteți către server, putând astfel obține toate parolele și datele dumneavoastră personale. Nu ne putem proteja de toate atacurile de acest gen, dar este destul de popular în public rețele locale Un tip de atac MITM este un atac ARP. Folosind caracteristicile protocolului ARP, atacatorul se preface a fi un router în fața computerului și tu îi trimiți toate pachetele de date. Vă puteți proteja foarte ușor de acest lucru folosind utilitarul TuxCut.

Programul nu este disponibil în depozitele oficiale, așa că pentru a-l instala trebuie să descărcați pachetul de pe GitHub:

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

Apoi instalați pachetul rezultat:

sudo apt install tuxcut_6.1_amd64.deb

Înainte de a rula programul, porniți serviciul acestuia:

sudo systemctl start tuxcutd

Fereastra principală a utilitarului arată astfel:

Aceasta afișează adresele IP ale tuturor utilizatorilor conectați la rețea, precum și adresa MAC corespunzătoare fiecăruia dintre aceștia. Dacă bifați caseta Mod de protecție, programul va proteja împotriva atacurilor ARP. Îl poți folosi în rețele publice, cum ar fi wifi-ul public, unde ești îngrijorat de siguranța ta.

Concluzii

Ei bine, asta e tot, acum configurarea de securitate a Ubuntu 16.04 este completă și sistemul tău este mult mai sigur. Am blocat cei mai obișnuiți vectori de atac și metode de penetrare în sistem folosite de hackeri. Dacă știți și alte modalități utile de a îmbunătăți securitatea în Ubuntu, scrieți în comentarii!

Potrivit cvedetails.com, din 1999 Nucleul Linux Au fost găsite 1.305 vulnerabilități, dintre care 68 au fost găsite în 2015. Cele mai multe dintre ele nu pun probleme speciale, sunt marcate ca Locale și Scăzute, iar unele pot fi apelate doar atunci când sunt conectate la anumite aplicații sau setări ale sistemului de operare. În principiu, numerele sunt mici, dar nucleul nu este întregul sistem de operare. Vulnerabilitățile se găsesc și în GNU Coreutils, Binutils, glibs și, desigur, în aplicațiile utilizatorului. Să ne uităm la cele mai interesante.

VULNERABILITĂȚI ÎN NUCLEA LINUX

OS: Linux
Nivel: Mediu, Scăzut
Vector: Telecomanda
CVE: CVE-2015-3331, CVE-2015-4001, CVE-2015-4002, CVE-2015-4003
Exploata: concept, https://lkml.org/lkml/2015/5/13/740, https://lkml.org/lkml/2015/5/13/744

O vulnerabilitate găsită în iunie în kernel-ul Linux înainte de 3.19.3 în funcția __driver_rfc4106_decrypt din arch/x86/crypto/aesni-intel_glue.c se datorează implementării RFC4106 pentru procesoarele x86 care acceptă extensia de set de instrucțiuni AES AES-NI (propusă Intel, Intel Advanced Encryption Standard Instructions) nu calculează corect adresele tampon în unele cazuri. Dacă tunelul IPsec este configurat să utilizeze acest mod (algoritm AES - CONFIG_CRYPTO_AES_NI_INTEL), vulnerabilitatea poate duce la coruperea memoriei, blocări și, potențial, executarea de la distanță a codului CryptoAPI. Mai mult, cel mai interesant este că problema poate apărea de la sine, pe trafic complet legal, fără intervenție din exterior. La momentul publicării, problema a fost rezolvată.

Au fost identificate cinci vulnerabilități în driverul Linux 4.0.5 ozwpan, care are statut experimental, dintre care patru vă permit să organizați un atac DoS prin prăbușirea nucleului prin trimiterea de pachete special concepute. Problema este legată de o depășire a memoriei tampon din cauza manipulării incorecte a numerelor întregi cu semn, în care calculul în memcpy între required_size și offset a returnat un număr negativ, ceea ce duce la copiarea datelor în heap.

Găsit în funcția oz_hcd_get_desc_cnf din drivers/staging/ozwpan/ozhcd.c și în funcțiile oz_usb_rx și oz_usb_handle_ep_data din drivers/staging/ozwpan/ozhcd.c. Alte vulnerabilități au implicat o posibilă divizare la 0, bucla de sistem sau capacitatea de a citi din zone din afara limitelor bufferului alocat.

Driverul ozwpan, unul dintre noile produse Linux, poate fi interfațat cu cele existente dispozitive fără fir compatibil cu tehnologia Ozmo Devices (Wi-Fi Direct). Oferă o implementare a unui controler gazdă USB, dar trucul este că, în loc de o conexiune fizică, perifericul comunică prin Wi-Fi. Șoferul acceptă pachete de rețea c tip (ethertype) 0x892e, apoi le analizează și le traduce în diferite funcționalități USB. Deocamdată este folosit în cazuri rare, deci poate fi dezactivat prin descărcarea modulului ozwpan.ko.

LINUX UBUNTU

OS: Linux Ubuntu 04/12–04/15 (de bază până la 15 iunie 2015)
Nivel: Critic
Vector: Local
CVE: CVE-2015-1328
Exploata: https://www.exploit-db.com/exploits/37292/

O vulnerabilitate critică în sistemul de fișiere OverlayFS permite accesul root pe sistemele Ubuntu care permit montarea partițiilor OverlayFS de către un utilizator neprivilegiat. Setările implicite necesare pentru a exploata vulnerabilitatea sunt utilizate în toate ramurile Ubuntu 12.04–15.04. OverlayFS în sine a apărut în nucleul Linux relativ recent - începând cu 3.18-rc2 (2014), este o dezvoltare SUSE pentru a înlocui UnionFS și AUFS. OverlayFS vă permite să creați un sistem de fișiere virtual cu mai multe straturi care combină mai multe părți ale altor sisteme de fișiere.

Sistemul de fișiere este creat dintr-un strat inferior și superior, fiecare dintre acestea fiind atașat la directoare separate. Stratul inferior este folosit doar pentru citirea în directoare ale oricăror sisteme de fișiere acceptate în Linux, inclusiv cele de rețea. Stratul superior este de obicei inscriptibil și va suprascrie datele din stratul inferior dacă fișierele sunt duplicate. Este solicitat în distribuțiile Live, sistemele de virtualizare a containerelor și pentru organizarea funcționării containerelor pentru unele aplicații desktop. Spațiile de nume de utilizator vă permit să vă creați propriile seturi de ID-uri de utilizator și grup în containere. Vulnerabilitatea este cauzată de verificarea incorectă a drepturilor de acces la crearea de noi fișiere în directorul sistemului de fișiere de bază.

Dacă kernel-ul este construit cu CONFIG_USER_NS=y (activând spațiul de nume de utilizator) și este specificat indicatorul FS_USERNS_MOUNT la montare, OverlayFS poate fi montat utilizator obișnuitîntr-un alt spațiu de nume, inclusiv unde operațiunile cu drepturi root. În acest caz, operațiunile cu fișiere cu drepturi root efectuate în astfel de spații de nume primesc aceleași privilegii atunci când efectuează acțiuni cu sistemul de fișiere de bază. Prin urmare, puteți monta orice partiție FS și puteți vizualiza sau modifica orice fișier sau director.

La momentul publicării, o actualizare a nucleului cu un modul OverlayFS fix de la Ubuntu era deja disponibilă. Și dacă sistemul este actualizat, nu ar trebui să existe probleme. În același caz, când actualizarea nu este posibilă, ca măsură temporară, ar trebui să încetați să utilizați OverlayFS prin eliminarea modulului overlayfs.ko.

VULNERABILITĂȚI ÎN APLICAȚII CHEIE

OS: Linux
Nivel: Critic
Vector: local, la distanță
CVE: CVE-2015-0235
Exploata: https://www.qualys.com/research/security-advisories/exim_ghost_bof.rb

O vulnerabilitate periculoasă în biblioteca standard GNU glibc, care este o parte centrală a sistemului de operare Linux, și în unele versiuni ale Oracle Communications Applications și Oracle Pillar Axiom, descoperită în timpul unui audit de cod de către hackeri de la Qualys. A primit numele de cod GHOST. Acesta este un buffer overflow în cadrul funcției __nss_hostname_digits_dots(), care este folosită de funcțiile glibc precum gethostbyname() și gethostbyname2() pentru a obține numele gazdei (de unde și numele GetHOST). Pentru a exploata vulnerabilitatea, trebuie să provocați o depășire a memoriei tampon folosind un argument de nume de gazdă nevalid pentru o aplicație care efectuează rezoluția de nume prin DNS. Adică, teoretic, această vulnerabilitate poate fi aplicată oricărei aplicații care folosește rețeaua într-o măsură sau alta. Poate fi apelat local și de la distanță, permițând executarea unui cod arbitrar.

Cel mai interesant lucru este că eroarea a fost remediată încă din mai 2013, a fost prezentat un patch între versiunile glibc 2.17 și 2.18, dar problema nu a fost clasificată drept patch de securitate, așa că nu i s-a acordat atenție. Ca urmare, multe distribuții s-au dovedit a fi vulnerabile. Inițial a fost raportat că prima versiune vulnerabilă a fost 2.2 din 10 noiembrie 2000, dar există posibilitatea ca aceasta să apară până la 2.0. Printre altele, au fost afectate distribuțiile RHEL/CentOS 5.x–7.x, Debian 7 și Ubuntu 12.04 LTS. Remedieri rapide sunt disponibile în prezent. Hackerii înșiși au propus un utilitar care explică esența vulnerabilității și vă permite să vă verificați sistemul. Totul este bine în Ubuntu 12.04.4 LTS:

$ wget https : //goo.gl/RuunlE

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

$. / CVE - 2015 - 0235

nu vulnerabil

Verificarea sistemului pe GHOST

Aproape imediat, a fost lansat un modul pentru a permite executarea de la distanță a codului pe Linux x86 și x86_64 cu un server de mail Exim (cu helo_try_verify_hosts sau helo_verify_hosts activat). Ulterior au apărut și alte implementări, de exemplu, modulul Metasploit pentru verificarea unui blog pe WordPress.

Puțin mai târziu, în 2015, în GNU glibc au fost descoperite încă trei vulnerabilități care au permis unui utilizator de la distanță să efectueze un atac DoS sau să suprascrie celulele de memorie în afara limitei stivei: CVE-2015-1472, CVE-2015-1473, CVE-2015- 1781.

OS: Linux (GNU Coreutils)
Nivel: Scăzut
Vector: Local, la distanță
CVE: CVE-2014-9471
Exploata: Nu

GNU Coreutils este unul dintre principalele pachete *nix, incluzând aproape toate utilitățile de bază (cat, ls, rm, date...). Problema a fost găsită la data. O eroare în funcția parse_datetime permite unui atacator de la distanță fără cont pe sistem, provoacă o refuzare a serviciului și, eventual, executați cod arbitrar folosind un șir de date special conceput folosind fusul orar. Vulnerabilitatea arată astfel:

$ atingeți „-- data = TZ = ”123”345”@1”

Eroare de segmentare

$ data - d ‘TZ = ”Europa / Moscova” “00 : 00 + 1 oră”’

Eroare de segmentare

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

* * * Eroare în `data ': gratuit (): pointer nevalid: 0xbfc11414 * * *

Vulnerabilitatea în GNU Coreutils

Dacă nu există nicio vulnerabilitate, vom primi un mesaj despre formatul incorect al datei. Aproape toți dezvoltatorii de distribuție Linux au raportat prezența vulnerabilității. O actualizare este disponibilă în prezent.


Ieșirea normală a coreutils-urilor GNU Coreutils

OS: Linux (grep 2.19–2.21)
Nivel: Scăzut
Vector: Local
CVE: CVE-2015-1345
Exploata: Nu

Vulnerabilitățile sunt rareori găsite în utilitarul grep, care este folosit pentru a căuta text folosind un model. Dar acest utilitar este adesea numit de alte programe, inclusiv cele de sistem, astfel încât prezența vulnerabilităților este mult mai problematică decât pare la prima vedere. O eroare în funcția bmexec_trans din kwset.c ar putea duce la citirea datelor neinițializate dintr-o zonă din afara bufferului alocat sau poate cauza blocarea aplicației. Un hacker poate profita de acest lucru creând un set special de date furnizate la intrarea aplicației folosind grep -F. Actualizările sunt disponibile în prezent. Nu există exploit-uri care să folosească vulnerabilitatea sau un modul pentru Metasploit.

VULNERABILITATE ÎN FREEBSD

OS: FreeBSD
Nivel: Scăzut
Vector: Local, la distanță
CVE: CVE-2014-0998, CVE-2014-8612, CVE-2014-8613
Exploata: https://www.exploit-db.com/exploits/35938/

Nu există multe vulnerabilități în baza de date CVE pentru 2015, mai precis - doar șase. Trei vulnerabilități au fost găsite în FreeBSD 8.4–10.x la sfârșitul lunii ianuarie 2015 de către cercetătorii echipei Core Exploit Writers. CVE-2014-0998 este legat de implementarea driverului de consolă VT (Newcons), care oferă mai multe terminale virtuale, activate de parametrul kern.vty=vt din /boot/loader.conf.
CVE-2014-8612 apare atunci când se utilizează protocolul SCTP și este cauzat de o eroare în codul de verificare a ID-ului fluxului SCTP care implementează socket-urile SCTP (port local 4444). Esența este o eroare lipsită de memorie în funcția sctp_setopt() (sys/netinet/sctp_userreq.c). Acest lucru oferă unui utilizator local neprivilegiat capacitatea de a scrie sau de a citi 16 biți de date din memoria kernelului și de a-și escalada privilegiile asupra sistemului, de a dezvălui date sensibile sau de a bloca sistemul.

CVE-2014-8613 permite declanșarea unei dereferințe de pointer NULL la procesarea unui pachet SCTP recepționat extern atunci când opțiunea SCTP_SS_VALUE socket SCTP este setată. Spre deosebire de versiunile anterioare, CVE-2014-8613 poate fi folosit pentru a provoca de la distanță o blocare a nucleului prin trimiterea de pachete special concepute. În FreeBSD 10.1, vă puteți proteja setând variabila net.inet.sctp.reconfig_enable la 0, dezactivând astfel procesarea blocurilor RE_CONFIG. Sau pur și simplu interziceți aplicațiile (browsere, clienti de mailși așa mai departe). Deși la momentul publicării dezvoltatorii au lansat deja o actualizare.


Statistici de vulnerabilitate FreeBSD

VULNERABILITATE ÎN OPENSSL

OS: OpenSSL
Nivel: Telecomanda
Vector: Local
CVE: CVE-2015-1793
Exploata: Nu

În 2014, a fost descoperită o vulnerabilitate critică Heartbleed în OpenSSL, un pachet criptografic utilizat pe scară largă pentru lucrul cu SSL/TLS. Incidentul a provocat la un moment dat critici masive la adresa calității codului și, pe de o parte, acest lucru a dus la apariția unor alternative precum LibreSSL, pe de altă parte, dezvoltatorii înșiși s-au pus în sfârșit la treabă.

Furnizori de top după vulnerabilități

Vulnerabilitatea critică a fost descoperită de Adam Langley de la Google și David Benjamin de la BoringSSL. Modificările făcute în versiunile OpenSSL 1.0.1n și 1.0.2b au determinat ca OpenSSL să încerce să găsească un lanț alternativ de verificare a certificatelor dacă prima încercare de a construi un lanț de încredere nu a reușit. Acest lucru vă permite să ocoliți procedura de verificare a certificatului și să organizați o conexiune confirmată folosind un certificat fals, cu alte cuvinte - pentru a atrage calm utilizatorul către site-uri sau servere false e-mail sau efectuați orice atac MITM în cazul în care este utilizat certificatul.

După ce vulnerabilitatea a fost descoperită, dezvoltatorii au lansat versiunile 1.0.1p și 1.0.2d pe 9 iulie, care au remediat această problemă. Versiunile 0.9.8 sau 1.0.0 nu au această vulnerabilitate.

Linux.Encoder

Sfârșitul toamnei a fost marcat de apariția unui număr de viruși de criptare, mai întâi Linux.Encoder.0, urmat de modificările Linux.Encoder.1 și Linux.Encoder.2, care au infectat peste 2.500 de site-uri. Potrivit companiilor antivirus, serverele Linux și FreeBSD cu site-uri web care rulează folosind diferite CMS-uri - WordPress, Magento CMS, Joomla și altele - sunt atacate. Hackerii exploatează o vulnerabilitate neidentificată. Apoi, a fost plasat un script shell (fișier error.php), cu ajutorul căruia au fost efectuate orice acțiuni ulterioare (prin browser). În special, a fost lansat troianul codificator Linux.

Encoder, care a determinat arhitectura sistemului de operare și a lansat ransomware-ul. Codificatorul a fost lansat cu drepturi de server web (Ubuntu - www-data), ceea ce este suficient pentru a cripta fișierele din directorul în care sunt stocate fișierele și componentele CMS. Fișierele criptate primesc o nouă extensie.encrypted.

Ransomware-ul încearcă, de asemenea, să ocolească alte directoare ale sistemului de operare, dacă drepturile sunt configurate incorect, atunci ar putea depăși cu ușurință limitele site-ului web. Apoi, fișierul README_FOR_DECRYPT.txt a fost salvat în director, care conține instrucțiuni pentru decriptarea fișierelor și cerințele hackerului. Pe în acest moment companiile de antivirus au introdus utilitare care vă permit să decriptați directoare. De exemplu, un set de la Bitdefender. Dar trebuie să rețineți că toate utilitățile concepute pentru a decripta fișierele nu elimină codul shell și totul se poate întâmpla din nou.

Având în vedere că mulți utilizatori care dezvoltă sau experimentează cu administrarea site-ului deseori instalează un server web pe computer de acasă, ar trebui să vă faceți griji pentru securitate: blocați accesul din exterior, actualizați software-ul, efectuați experimente pe VM. Iar ideea în sine ar putea fi folosită în viitor pentru a ataca sistemele de acasă.

CONCLUZIE

Software-ul complex fără erori fizic nu există, așa că va trebui să vă împăcați cu faptul că vulnerabilitățile vor fi descoperite în mod constant. Dar nu toate pot fi cu adevărat problematice. Și vă puteți proteja făcând pași simpli: eliminați software-ul nefolosit, monitorizați noile vulnerabilități și asigurați-vă că instalați actualizări de securitate, configurați un firewall, instalați un antivirus. Și nu uitați de tehnologiile speciale precum SELinux, care sunt destul de capabile să compromită un demon sau o aplicație de utilizator.

Instalare si configurare instrumente de administrare, configurare retea

După ce am instalat baza sistem de operare ubuntu14.04 dintr-o distribuție minimă, primul lucru de care trebuie să vă faceți griji este cum să o gestionați confortabil. Practic, ssh/telnet este folosit pentru a configura și gestiona servere bazate pe *nix, dar în în ultima vremeÎn acest scop, au apărut și instrumente destul de potrivite bazate pe interfețe web. eu folosesc solutii gratuite WebminŞi Ajenti. Ambele panouri merită atenție și, în ciuda faptului că pot face totul individual, fiecare dintre ele este mai potrivit pentru anumite lucruri, așa că este mai bine să le aveți pe ambele. Ar trebui să remarc că pe serverele de producție de luptă astfel de soluții nu sunt instalate pe baza securității. Cu toate acestea, cu cât mai multe sisteme de control, cu atât mai probabil găsi vulnerabilitatea în ei. Prin urmare, dacă cerințele dvs. de securitate sunt la nivel „paranoic”, acceptați pur și simplu faptul că va trebui să lucrați cu serverul doar prin ssh (prin consolă).

Configurarea unei rețele în ubuntu 14.04

Pentru a comunica cu serverul nostru prin rețea, mai întâi trebuie să îl configurați. În mod implicit, în timpul instalării rețeaua a fost configurată automat și dacă instalatorul a detectat un server DHCP în rețea, atunci cel mai probabil a configurat deja totul după cum este necesar. Dacă nu există un server DHCP în rețea, atunci programul de instalare a configurat tot pe baza interogării routerului la care este conectată placa de rețea. Pentru a vedea cum este configurată în prezent rețeaua, trebuie doar să tastați terminalul:

Ce vedem aici:

Avem două interfețe de rețea eth0 și lo, unde lo este „interfața loopback” și eth0 este numele plăcii noastre de rețea, iar dacă lo este o interfață de rețea neschimbată, atunci toate celelalte interfețe pot diferi ca nume. Dacă în unitate de sistem sunt instalate două plăci de rețea, interfețele lor vor arăta cel mai probabil ca eth0 și eth1 și așa mai departe. Aspectul numelui interfeței depinde de tip placa de retea, deci, de exemplu, dacă o placă de rețea funcționează folosind protocolul WiFi, atunci cel mai probabil numele acesteia va fi wlan0.

Pentru a configura rețeaua, să edităm următorul fișier:

sudo nano /etc/network/interfaces

Să o aducem la această formă:

iface eth0 inet static
adresa 192.168.0.184
mască de rețea 255.255.255.0
gateway 192.168.0.1
auto eth0
dns-nameserver 8.8.8.8 8.8.4.4

Unde: iface eth0 inet static— indică faptul că interfața (iface eth0) se află în intervalul de adrese IPv4 (inet) cu un ip static (static);
adresa 192.168.0.184— indică faptul că adresa IP a plăcii noastre de rețea este 192.168.0.184;
mască de rețea 255.255.255.0— indică faptul că masca noastră de subrețea (mască de rețea) este 255.255.255.0;
gateway 192.168.0.1— adresa gateway implicită 192.168.0.254;
auto eth0— indică sistemului că interfața eth0 trebuie să fie activată automat atunci când sistemul pornește cu parametrii de mai sus.
eth0— numele interfeței care urmează să fie conectată. Lista interfețelor poate fi vizualizată tastând ifconfig
servere de nume dns— Serverele DNS sunt scrise separate printr-un spațiu.

După cum puteți vedea în cazul meu, am decis să setez un ip static 192.168.0.184

reporniți serverul cu comanda

Facem ping serverului nostru din rețea și ne asigurăm că este vizibil. Acum este timpul să stabilim o conexiune cu acesta prin SSH pentru a face acest lucru, de fapt vom instala serverul ssh:

sudo apt-get install ssh

Acum vă puteți conecta la serverul nostru prin ssh prin programul putty, de exemplu, acum puteți introduce comenzi nu manual, ci prin copierea și lipirea liniilor de care avem nevoie în client ssh, pentru că în viitor acest lucru va face configurarea surprinzător de ușoară, așa cum veți vedea în curând singuri:

TOATE COMANDILE DE MAI SUB ACEST LINIE SUNT INTRODATE CA SUPERUTILIZATOR, iar pentru a intra în modul superutilizator, trebuie să tastați:

Instalarea webmin

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 add jcameron-key.asc apt-get update apt-get install -y webmin

ecou „deb https://download.webmin.com/download/repository sarge contrib”>>

ecou „deb https://webmin.mirror.somersettechsolutions.co.uk/repository sarge contribuție”>> /etc/apt/sources. listă

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

apt-key add jcameron-key. asc

apt - obțineți actualizare

apt - get install - y webmin

Toate! 6 comenzi introduse secvențial și webmin este instalat și configurat. Acum vă puteți conecta la browser la:

https://192.168.0.184:10000

În mod implicit, webminul arată minimalist, interfața implicită este afișată engleză, dar totul este personalizabil!

O facem astfel:

Se dovedește așa:

© 2024 ermake.ru -- Despre repararea PC-ului - Portal de informații