Nezabezpečená autorizácia x okno ubuntu. Bezpečnosť v Linuxe je relatívny pojem. Šifrovanie systému súborov v systéme Linux pre úplnejšie zabezpečenie systému Linux


Mnoho používateľov nepovažuje Ubuntu pop a Ubuntu Server za vážne. Mnoho ľudí zabúda, že Ubuntu Server je podporovaný 5 rokov a otec Debianu 5.0 bol na trhu 3 roky – od roku 2009 do roku 2012.

Pokiaľ ide o ceny podpory - v porovnaní s Red Hat, Ubuntu Server môže a malo by sa povedať - máte to zadarmo, aj keď si objednáte nepretržitú podporu 24x7x365.

Pozrite sa, aké bezpečnostné riešenia sú implementované vo všetkých verziách Ubuntu a urobte to bezpečným a spoľahlivým.

Schopnosti

Matica bezpečnostných schopností

Možnosť 8,04 LTS(Hardy Heron) 10,04 LTS(Lucid Lynx) 11.04 (Natty Narwhal) 11.10 (Oneiric Ocelot) 12,04 LTS(Presný pangolin) 12.10 (Quantal Quetzal)
Žiadne otvorené porty politika politika politika politika politika politika
Hash hesla md5 sha512 sha512 sha512 sha512 sha512
SYN cookies -- kernel & sysctl kernel & sysctl kernel & sysctl kernel & sysctl kernel & sysctl
Možnosti súborového systému -- jadro jadro jadro jadro jadro
Konfigurovateľný firewall ufw ufw ufw ufw ufw ufw
PR_SET_SECCOMP jadro jadro jadro jadro jadro jadro
AppArmor 2.1 2.5 2.6.1 2.7.0~beta1 2.7.0 2.7.0
SELinux vesmír vesmír vesmír vesmír vesmír vesmír
SMACK -- jadro jadro jadro jadro jadro
Šifrované LVM alt inštalátor alt inštalátor alt inštalátor alt inštalátor alt inštalátor alt inštalátor
eCryptfs -- ~/Súkromné ​​alebo ~, názvy súborov ~/Súkromné ​​alebo ~, názvy súborov ~/Súkromné ​​alebo ~, názvy súborov ~/Súkromné ​​alebo ~, názvy súborov ~/Súkromné ​​alebo ~, názvy súborov
Stack ochrana gcc patch gcc patch gcc patch gcc patch gcc patch gcc patch
Ochrana haldy glibc glibc glibc glibc glibc glibc
zahmlený ukazovateľ glibc glibc glibc glibc glibc glibc
zásobník ASLR jadro jadro jadro jadro jadro jadro
libs/mmap ASLR jadro jadro jadro jadro jadro jadro
Exec ASLR jadro (-mm patch) jadro jadro jadro jadro jadro
brk ASLR jadro (exec ASLR) jadro jadro jadro jadro jadro
VDSO ASLR jadro jadro jadro jadro jadro jadro
Budovanie s PIE -- zoznam balíkov zoznam balíkov zoznam balíkov zoznam balíkov zoznam balíkov
-- gcc patch gcc patch gcc patch gcc patch gcc patch
Montáž s RELRO -- gcc patch gcc patch gcc patch gcc patch gcc patch
Budovanie s BIND_NOW -- zoznam balíkov zoznam balíkov zoznam balíkov zoznam balíkov zoznam balíkov
Nespustiteľná pamäť Iba PAE PAE, ia32 čiastočná emulácia NX PAE, ia32 čiastočná emulácia NX PAE, ia32 čiastočná emulácia NX PAE, ia32 čiastočná emulácia NX
Ochrana /proc/$pid/maps kernel & sysctl jadro jadro jadro jadro jadro
Symbolické limity odkazov -- -- jadro jadro jadro jadro
Obmedzenia pevných odkazov -- -- jadro jadro jadro jadro
ptrace rozsahu -- -- jadro jadro jadro jadro
0-ochrana adresy kernel & sysctl jadro jadro jadro jadro jadro
Ochrana /dev/mem jadro (-mm patch) jadro jadro jadro jadro jadro
Zakázané /dev/kmem jadro (-mm patch) jadro jadro jadro jadro jadro
Blokovanie načítania modulu drop CAP_SYS_MODULES sysctl sysctl sysctl sysctl sysctl
jadro jadro jadro jadro jadro jadro
Ochrana zásobníka jadra -- jadro jadro jadro jadro jadro
RO/NX modul -- -- jadro jadro jadro jadro
-- -- jadro jadro jadro jadro
-- -- jadro jadro jadro jadro
Filtrovanie systémových hovorov -- -- -- jadro jadro jadro

Žiadne otvorené porty

Predvolená inštalácia Ubuntu nemá otvorené porty dostupné mimo siete. Výnimka z tohto pravidla platí len pre služby sieťovej infraštruktúry, ako je klient DHCP a mDNS (Avahi/ZeroConf).

Keď je nainštalovaný server Ubuntu, správca môže nainštalovať ďalšie sieťové služby, ako napríklad webový server Apache. Ale štandardne na čerstvo nainštalovanom systéme, ak urobíte netstat -an --inet | grep POČÚVAJ | grep -v 127.0.0.1 , potom si ľahko overíte, že Ubuntu zbytočne neotvára porty pre prístup zo sietí do systému.

Hash hesla

Systémové heslo používané na prihlásenie do Ubuntu je uložené v /etc/shadow. Už dávno bol hash hesla DES uložený v /etc/passwd. Moderné Linuxy však už dlho ukladajú hash do /etc/shadow a najprv sa použil presolený hash založený na MD5 crypt id 1. Keďže rovnaké heslá mali rovnaké hash bez použitia soli, zavedenie soli zlepšilo bezpečnosť a sťažilo prelomenie hesiel mnohých používateľov systému.

Teraz sa MD5 považuje za nespoľahlivé a s rastom výpočtových možností počítačov sa v Ubuntu 8.10 používa hash SHA-512 so soľou (soľné hash hesiel založené na SHA-512 crypt id 6). Vďaka tomu je hackovanie hrubou silou neuveriteľne ťažké a časovo náročné.

Podrobnosti nájdete v časti mancrypt.

Na testy použite test-glibc-security.py.

SYN cookies

Keď je systém preplnený novým sieťové pripojenia, mechanizmus SYN cookie pomáha znižovať škody spôsobené SYN-flood útokmi.

Možnosti súborového systému

Potrebu aplikácií setuid, ktoré bežia s vyššími oprávneniami ako ten, ktorý ich spustil, možno znížiť použitím funkcií súborového systému, ako je xattrs. Takéto schopnosti znižujú riziko zneužitia potenciálne nebezpečných aplikácií setuid.

Linuxové jadro udržuje podporu a existuje súprava nástrojov libcap2-bin na používanie súborových schopností ako xattrs na zvýšenie bezpečnosti aplikácií setuid.

Na testy použite test-kernel-security.py.

Konfigurovateľný firewall

ufw je front-end iptables, ktorý je nainštalovaný a používaný v Ubuntu, ale musí byť povolený používateľom. Cieľom UFW je poskytnúť ľahko použiteľné rozhranie pre ľudí, ktorí nie sú oboznámení s konceptmi, reťazami a tabuľkami brány iptables.

UFW zároveň zjednodušuje zložité príkazy iptables, aby pomohol správcovi, ktorý vie, čo robí.

UFW je pomocníkom a základom pre grafické rozhrania.

Na testy použite testy ufw.

PR_SET_SECCOMP

AppArmor

SELinux

SELinux je povinný systém kontroly prístupu založený na koncepte inode - inode súborového systému.

Inštalácia balíka selinux vykoná potrebné zmeny a úpravy počas zavádzania počítača.

Na testy použite test-kernel-security.py.

SMACK

SMACK je flexibilný povinný systém riadenia prístupu založený na koncepte inode - indexový deskriptor súborového systému.

Na testy použite test-kernel-security.py.

Šifrovanie súborového systému

LVM šifrovanie

Používatelia používajúci alternatívny inštalačný program môžu nainštalovať Ubuntu na šifrovaný LVM (Logical Volume Manage - Logical Volume Manager), ktorý zašifruje všetky oddiely vrátane odkladacieho oddielu.

eCryptfs

Šifrované priečinky boli prvýkrát implementované v Ubuntu 8.10 ako bezpečné miesto na ukladanie citlivých informácií o používateľovi.

Inštalátor alternatívneho a serverového disku vám umožňuje nastaviť šifrované priečinky pre prvého používateľa.

V Ubuntu 9.04 bola rozšírená podpora pre šifrovanie priečinkov, aby používateľ mohol zašifrovať celý domovský priečinok. Šifrovanie domovského priečinka je podporované v alternatívnom inštalátore a inštalátore pracovnej plochy prostredníctvom voľby user-setup/encrypt-home=true.

Posilnenie bezpečnosti používateľského priestoru

Mnoho bezpečnostných funkcií je implementovaných prostredníctvom kompilačných príznakov pri vytváraní softvérových balíkov a jadra.

Stack ochrana

Príznak gcc -fstack-protector poskytuje ochranu proti pretečeniu zásobníka umiestnením malého náhodného čísla ako tokenu. Táto technika sťažuje pretečenie zásobníka pri rôznych exploitoch.

Malý počet programov nefunguje dobre, ak sú vytvorené s touto možnosťou a majú vypnutý -fstack-protector.

Na testy použite test-gcc-security.py.

Ochrana haldy

Ochrana haldy knižnice GNU C (automaticky ptmalloc a manuálne) poskytuje ochranu pred poškodeným zoznamom / odpojením / dvojitým uvoľnením / pretečením v správcovi pamäte glibc.

To bráni spusteniu ľubovoľného kódu prostredníctvom pretečenia pamäte haldy, čím sa poškodí štruktúra oblasti haldy.

Táto ochrana sa postupom času vyvíjala a pridávala ďalšie a ďalšie možnosti ochrany. AT Aktuálny stav glibc 2.10 úspešne odoláva aj jemným podmienkam útoku.

zahmlený ukazovateľ

Niektoré ukazovatele glibc sú zatemnené prostredníctvom makier PTR_MANGLE/PTR_UNMANGLE interne v glibc, čo bráni prepisovaniu ukazovateľov za behu.

Použite testy test-glibc-security.py.

Náhodné umiestnenie v adresnom priestore. Randomizácia rozloženia adresného priestoru (ASLR)

ASLR je implementovaný v jadre a zavádzač ELF umiestňuje najdôležitejšie štruktúry na náhodné adresy: zásobník, halda, zdieľané knižnice a ďalšie.

To sťažuje predpovedanie adries, keď sa útočník pokúsi použiť zneužitie.

ASLR sa mení globálne cez /proc/sys/kernel/randomize_va_space. Pred Ubuntu 8.10 bola hodnota "1" (povolené). V neskorších vydaniach, ktoré obsahujú brk ASLR, je hodnota nastavená na "2" (povolené s brk ASLR).

zásobník ASLR

Výsledky každého vykonania programu sú umiestnené na rôznych miestach zásobníka. Je ťažké nájsť v pamäti a zaútočiť na program pridaním škodlivého obsahu.

libs/mmap ASLR

Knižnice sa dynamicky načítavajú do rôznych pamäťových miest, čo útočníkovi sťažuje nájdenie bodu návratu.

Ochrana je dostupná od jadra 2.6.15 (Ubuntu 6.06).

Exec ASLR

Programy vytvorené s voľbou "-fPIE -pie" sa načítajú na rôzne miesta v pamäti. To sťažuje útok alebo skok na adresu a vykonanie útoku modifikácie pamäte.

Ochrana je dostupná od jadra 2.6.25 (Ubuntu 8.04 LTS).

brk ASLR

Podobne ako exec ASLR, aj brk ASLR upravuje adresy pamäte medzi exec a brk pre malé požiadavky na pridelenie pamäte. Randomizácia offsetu pamäte brk exec bola pridaná v jadre 2.6.26 (Ubuntu 8.10).

VDSO ASLR

Pri každom spustení programu umiestni výsledky do iného vdso. Prvýkrát sa objavil v jadre 2.6.18 (x86, PPC) a 2.6.22 (x86_64), ale nebol zahrnutý v Ubuntu 6.10 kvôli COMPAT_VDSO, ktorý bol odstránený v Ubuntu 8.04 LTS.

Chráni pred útokmi typu jump-into-syscall.

Glibc 2.6 podporoval iba x86. glibc 2.7 (Ubuntu 8.04 LTS) už podporuje x86_64 ASLR vdso.

Tí, ktorí potrebujú starodávny statický pre-libc6 vdso, môžu použiť "vdso=2" ako parameter jadra a znova získať COMPAT_VDSO.

Budovanie s PIE

Všetky programy, ktoré sú zostavené s voľbou Position Independent Executables (PIE) "-fPIE -pie", môžu využívať ochranu exec ASLR.

To chráni pred útokmi „návratu k textu“ a robí konvenčné útoky na modifikáciu pamäte zbytočnými.

Kvôli PIE dochádza k veľkému poklesu výkonu (5 – 10 %) na architektúrach s malým počtom všeobecných registrov (napríklad x86).

Preto sa PIE používa pre malý počet balíkov kritických pre bezpečnosť.

PIE pre x86_64 nemá problémy so znížením výkonu, takže sa používa pre všetky balíky, ale potrebuje lepšie testovanie.

Balíček 8,04 LTS 9.04 9.10 10,04 LTS 10.10 11.04 11.10
openssh Áno Áno Áno Áno Áno Áno Áno
apache2 -- Áno Áno Áno Áno Áno Áno
viazať9 -- Áno Áno Áno Áno Áno Áno
openldap -- Áno Áno Áno Áno Áno Áno
postfix -- Áno Áno Áno Áno Áno Áno
poháre -- Áno Áno Áno Áno Áno Áno
postgresql-8.3 -- Áno Áno Áno Áno Áno Áno
samba -- Áno Áno Áno Áno Áno Áno
holubník -- Áno Áno Áno Áno Áno Áno
dhcp3 -- Áno Áno Áno Áno Áno Áno
ntp -- -- Áno Áno Áno Áno Áno
amavisd-nový -- -- Áno Áno Áno Áno Áno
chobotnice -- -- Áno Áno Áno Áno Áno
cyrus-sasl2 -- -- Áno Áno Áno Áno Áno
exim4 -- -- Áno Áno Áno Áno Áno
nagios3 -- -- Áno Áno Áno Áno Áno
nagios pluginy -- -- Áno Áno Áno Áno Áno
xinetd -- -- Áno Áno Áno Áno Áno
ipsec-tools -- -- Áno Áno Áno Áno Áno
mysql-dfsg-5.1 -- -- Áno Áno Áno Áno Áno
svedčia o tom -- -- -- Áno Áno Áno Áno
firefox -- -- -- Áno Áno Áno Áno
gnome-control-center -- -- -- -- -- Áno Áno
tiff -- -- -- -- -- Áno Áno
totem -- -- -- -- -- Áno Áno
qemu-kvm -- -- -- -- -- -- Áno
pidžin -- -- -- -- -- -- Áno

Budova s ​​Fortify Source

Programy zostavené s "-D_FORTIFY_SOURCE=2" (a -O1 alebo vyšším) obsahujú niekoľko ochrany počas kompilácie a spustenia v glibc:

  • volania "sprintf", "strcpy" s ich nedefinovanými hranicami sú nahradené súvisiacimi funkciami s ohraničeným N, keď je veľkosť vyrovnávacej pamäte vopred známa. To chráni pred pretečením pamäte.
  • zastavenie útoku prostredníctvom formátu reťazca "%n", keď je reťazec v segmente pamäte s prístupom na zápis.
  • vyžadujú kontrolu návratových kódov najdôležitejších funkcií a argumentov (napríklad pre systém, zápis, otvorenie).
  • vyžadujú explicitnú masku pri vytváraní súboru.

Montáž s RELRO

Sprísnenie programov ELF na boj proti prepisovaniu pamäte zavádzača. Znižuje šancu na útok v štýle GOT-overwrite.

Použite testy test-gcc-security.py.

Budovanie s BIND_NOW

Označuje programy ELF tak, aby umožňovali dynamické znaky pri spustení namiesto na vyžiadanie, známe tiež ako „okamžitá väzba“.

Vďaka tomu je GOT plne len na čítanie v kombinácii s možnosťou RELRO.

Použite testy test-built-binaries.py.

Nespustiteľná pamäť

Moderné procesory chránia oblasti dátovej pamäte (hromada, zásobník) pred spustením kódu.

Táto technológia je známa ako Non-eXecute (NX) alebo eXecute-Disable (XD). Ochrana znižuje schopnosť útočníka umiestniť svojvoľný kód.

Ochrana vyžaduje „PAE“, čo umožňuje aj adresovanie nad 3 GB RAM. 64bitové a 32bitové jadrá -server a -generic-pae sú už postavené s PAE.

Počnúc Ubuntu 9.10 je ochrana čiastočne emulovaná na 32bitových jadrách pre procesory, ktoré nepodporujú hardvér NX.

Po načítaní môžete vidieť stupeň podpory ochrany NX:

  • Hardvér: [ 0,000000] Ochrana NX (Execute Disable): aktívna
  • Emulácia:
    [ 0,000000] Použitie limitov segmentov x86 na priblíženie ochrany NX

Ak nevidíte žiadnu zmienku o NX, skontrolujte nastavenia systému BIOS. Od Ubuntu 11.04 sú nastavenia systému BIOS pre NX jadrom ignorované.

Ubuntu 9.04 a staršie
CPU podporuje NX CPU nepodporuje NX
NX povolené v systéme BIOS NX je v systéme BIOS vypnutý
i386 -386, -generické jadro (non-PAE) nx nie je podporovaný nx nie je podporovaný nx nie je podporovaný
- serverové jadro (PAE) skutočné nx nx nie je podporovaný nx nie je podporovaný
amd64 akékoľvek jadro (PAE) skutočné nx nx nie je podporovaný nx nie je podporovaný

Použite testy test-kernel-security.py.

Ochrana /proc/$pid/maps

Keď beží ASLR, aktuálne mapy pamäte procesov sa stávajú pre útočníka veľmi cennými. Mapový súbor je čitateľný iba pre samotný proces a vlastníka procesu.

Dostupné od jadra 2.6.22.

Použite testy test-kernel-security.py.

Symbolické limity odkazov

Najbežnejším spôsobom, ako zneužiť túto chybu, je prinútiť root, aby použil symbolický odkaz vytvorený útočníkom, aby ako root vykonal škodlivú akciu.

Od Ubuntu 10.10 sa symbolické odkazy v adresároch ako /tmp nedajú prechádzať, pokiaľ „nasledovateľ“ a vlastník adresára nie sú rovnakí ako vlastník symbolického odkazu.

Tento mechanizmus je riadený mechanizmom Yama /proc/sys/kernel/yama/protected_sticky_symlinks. Yama je vyvinutý spoločnosťou Canonical.

Použite testy test-kernel-security.py.

Obmedzenia pevných odkazov

Ak sú adresáre /etc/ a /home/ na rovnakom oddiele, bežný používateľ môže vytvoriť pevný odkaz na súbor hash hesiel /etc/shadow vo svojom domovskom priečinku. Samozrejme, ak určitý súbor nie je čitateľný alebo zapisovateľný žiadnym používateľom, pevný odkaz na tento súbor bude mať rovnaké povolenia, a preto nebude dostupný ani pre tohto používateľa. Pomocou pevných odkazov však môže útočník takýto súbor „prešmyknúť“ do aplikácie, ktorá má práva na prístup k nemu.

Yama vám umožňuje zablokovať tento útok tým, že zabráni vytváraniu pevných odkazov používateľom, ktorí nemajú prístupové práva k zdrojovým súborom.

Správanie riadi /proc/sys/kernel/yama/protected_nonaccess_hardlinks Yama.

ptrace rozsahu

Bez použitia príslušnej ochrany Yama môže každý proces s privilégiom CAP_SYS_PTRACE pristupovať k pamäti všetkých procesov s rovnakým UID.Pri použití Yama je možné obmedziť rozsah prístupu len na pamäť vlastnenú potomkami takýchto proces.

V Ubuntu 10.10 a novšom nemôžu používatelia ladiť procesy pomocou ptrace, pokiaľ nie sú jeho potomkami.

Správanie riadi /proc/sys/kernel/yama/ptrace_scope Yama.

Použite testy test-kernel-security.py.

Vytvrdzovanie jadra

Povolená obrana jadra na sťaženie útokov.

0-ochrana adresy

Keďže jadro a užívateľský priestor zdieľajú adresy virtuálnej pamäte, "NULL" pamäť musí byť chránená a "užívateľská" pamäť nemôže začínať na adrese 0, čím sa zabráni dereferenciám jadra - útoku "NULL dereference".

Ochrana je dostupná od jadra 2.6.22 cez sysctl parameter "mmap_min_addr". Od Ubuntu 9.04 je mmap_min_addr zabudovaný do jadra - adresa 64k na x86, 32k na ARM.

Použite testy test-kernel-security.py.

Ochrana /dev/mem

Niektoré aplikácie, ako napríklad Xorg, vyžadujú priamy prístup fyzická pamäť v užívateľskom priestore. Tento prístup poskytuje špeciálny súbor /dev/mem.

V minulosti bolo možné prostredníctvom tohto súboru zobraziť a upraviť pamäť jadra, ak útočník získal prístup root.

Na blokovanie takýchto pokusov bola zavedená možnosť CONFIG_STRICT_DEVMEM (pôvodne sa táto možnosť volala CONFIG_NONPROMISC_DEVMEM).

Použite testy test-kernel-security.py.

Zakázané /dev/kmem

Pre moderného používateľa nie je /dev/kmem relevantný, pretože ho útočníci väčšinou používali na sťahovanie rootkitov.

CONFIG_DEVKMEM je teraz nastavené na "n".

Súbor /dev/kmem existuje vo vydaniach od Ubuntu 8.04 LTS po Ubuntu 9.04, ale nebol priradený k ničomu v jadre a nepoužíva sa.

Použite testy test-kernel-security.py.

Blokovanie načítania modulu

V Ubuntu 8.04 LTS a starších bolo možné odstrániť funkciu CAP_SYS_MODULES a zabrániť tak načítaniu nových modulov jadra.

Toto bola ďalšia vrstva ochrany, aby sa pri štarte napadnutého systému nestiahli rootkity.

V jadre 2.6.25 (Ubuntu 8.10) je táto funkcia preč. Od Ubuntu 9.10 je teraz možné moduly opäť deaktivovať nastavením /proc/sys/kernel/modules_disabled na "1".

Použite testy test-kernel-security.py.

Sekcia údajov iba na čítanie

Označenie časti údajov jadra ako iba na čítanie zaisťuje, že zmeny budú zablokované. Pomáha to chrániť sa pred niektorými rootkitmi. Povolené prostredníctvom možnosti CONFIG_DEBUG_RODATA.

Použite testy test-kernel-security.py.

Ochrana zásobníka jadra

Okrem ochrany programov ELF v užívateľskom priestore môže jadro chrániť aj svoj interný zásobník pomocou voľby CONFIG_CC_STACKPROTECTOR.

Použite testy test-kernel-security.py.

RO/NX modul

Táto funkcia rozširuje CONFIG_DEBUG_RODATA o obmedzenia pre načítané moduly jadra. To pomáha odolávať zneužívaniu. Povolené prostredníctvom parametra CONFIG_DEBUG_MODULE_RONX.

Použite testy test-kernel-security.py.

Obmedzenie zobrazovania adries jadra

Keď sa útočníci pokúšajú vyvinúť exploit, ktorý funguje všade pomocou zraniteľností jadra, potrebujú poznať umiestnenie vnútorných štruktúr jadra.

Adresy jadra, ako dôležité informácie, sú pre bežných používateľov nedostupné.

Počnúc Ubuntu 11.04 je /proc/sys/kernel/kptr_restrict nastavený na "1" a blokuje únik informácií o adrese jadra.

Root tiež vytvára rôzne súbory a adresáre, ktoré sú len na čítanie.
/boot/vmlinuz*, /boot/System.map*, /sys/kernel/debug/, /proc/slabinfo

Použite testy test-kernel-security.py.

Čierna listina vzácnych protokolov

Normálne jadro umožňuje automatické načítanie všetkých sieťových protokolov na požiadanie prostredníctvom makier MODULE_ALIAS_NETPROTO(PF_...).

Pretože mnohé z týchto protokolov sú zastarané, zriedkavé a málo použiteľné bežný používateľ Ubuntu a môžu obsahovať neznáme zraniteľnosti, sú na čiernej listine od Ubuntu 11.04.

Na čiernej listine: ax25, netrom, x25, rose, decnet, econet, rds a af_802154.

Ak je potrebný niektorý z týchto protokolov, možno ich načítať cez modprobe alebo úpravou /etc/modprobe.d/blacklist-rare-network.conf.

Použite testy test-kernel-security.py.

Filtrovanie systémových hovorov

Programy môžu filtrovať volania jadra pomocou seccomp_filter.

Toto sa vykonáva v kontajneroch alebo karanténách, aby sa ďalej obmedzil potenciálne nedôveryhodný softvér.

Použite testy test-kernel-security.py.

Výsledok

Po prečítaní je jasné, že Canonical berie bezpečnosť Ubuntu vážne. Dva projekty, AppArmor a Yama, sú už dlho spojené s Ubuntu a pomáhajú zlepšovať bezpečnosť. Ubuntu v predvolenom nastavení neotvára zbytočné porty-dvierka na sieti a nečaká na dobrodružné spojenia na svojej hlave. Profily AppArmor boli vytvorené pre kľúčové programy pracujúce so sieťou, ktoré udržujú programy pod kontrolou.

Váš počítač bude s Ubuntu v bezpečí!

Na výročnej konferencii LinuxCon v roku 2015 sa tvorca jadra GNU / Linux Linus Torvalds podelil o svoj názor na bezpečnosť systému. Zdôraznil potrebu zmierniť vplyv prítomnosti určitých chýb kompetentnou ochranou tak, aby v prípade zlyhania jedného komponentu problém prekryla ďalšia vrstva.

V tomto článku sa pokúsime odhaliť túto tému z praktického hľadiska:

7. Nainštalujte brány firewall

Nedávno sa objavila nová zraniteľnosť, ktorá umožňuje DDoS útoky na servery so systémom Linux. Od verzie 3.6 na konci roka 2012 sa objavila chyba v jadre systému. Zraniteľnosť umožňuje hackerom vkladať vírusy do sťahovaných súborov, webových stránok a odhaľovať pripojenia Tor a hackovanie nevyžaduje veľa úsilia - metóda spoofingu IP bude fungovať.

Maximálnou škodou pre šifrované pripojenia HTTPS alebo SSH je prerušenie pripojenia, ale útočník môže do nechránenej prevádzky umiestniť nový obsah vrátane škodlivého softvéru. Na ochranu pred takýmito útokmi je vhodný firewall.

Zablokujte prístup pomocou brány firewall

Firewall je jedným z najdôležitejších nástrojov na blokovanie neželanej prichádzajúcej prevádzky. Odporúčame vám povoliť iba premávku, cez ktorú skutočne potrebujete prejsť, a úplne zablokovať všetku ostatnú premávku.

Na filtrovanie paketov má väčšina distribúcií Linuxu radič iptables. Zvyčajne ho používajú pokročilí používatelia a na zjednodušenie konfigurácie môžete použiť nástroje UFW na Debian/Ubuntu alebo FirewallD na Fedore.

8. Vypnite nepotrebné služby

Špecialisti z University of Virginia odporúčajú vypnúť všetky služby, ktoré nepoužívate. Niektoré procesy na pozadí sú nastavené na automatické načítanie a spúšťajú sa, kým sa systém nevypne. Ak chcete nakonfigurovať tieto programy, musíte skontrolovať inicializačné skripty. Služby je možné spustiť cez inetd alebo xinetd.

Ak je váš systém nakonfigurovaný cez inetd, potom v súbore /etc/inetd.conf môžete upraviť zoznam programy na pozadí"daemons", na deaktiváciu načítania služby stačí umiestniť znak "#" na začiatok riadku, čím sa zo spustiteľného súboru stane komentár.

Ak systém používa xinetd, jeho konfigurácia bude v adresári /etc/xinetd.d. Každý adresárový súbor definuje službu, ktorú možno deaktivovať zadaním klauzuly disable = yes, ako v tomto príklade:

Servisný prst ( socket_type = čakanie na stream = žiadny používateľ = nikto server = /usr/sbin/in.fingerd disable = yes )
Tiež stojí za to skontrolovať, či neexistujú trvalé procesy, ktoré nespravuje inetd alebo xinetd. Spúšťacie skripty môžete nakonfigurovať v adresároch /etc/init.d alebo /etc/inittab. Po vykonaní zmien spustite príkaz pod účtom root.

/etc/rc.d/init.d/inet reštart

9. Server fyzicky chráňte

Nie je možné sa plne chrániť pred útokmi útočníka s fyzickým prístupom na server. Preto je potrebné zabezpečiť miestnosť, kde sa váš systém nachádza. Dátové centrá berú bezpečnosť vážne, obmedzujú prístup k serverom, inštalujú bezpečnostné kamery a stanovujú stálu stráž.

Pre vstup do dátového centra musia všetci návštevníci prejsť určitými autentizačnými krokmi. Dôrazne sa tiež odporúča používať snímače pohybu vo všetkých oblastiach centra.

10. Chráňte server pred neoprávneným prístupom

Neautorizovaný prístupový systém alebo IDS zhromažďuje údaje o konfigurácii systému a súboroch a potom tieto údaje porovnáva s novými zmenami, aby zistil, či sú pre systém škodlivé.

Napríklad nástroje Tripwire a Aide zhromažďujú databázu systémových súborov a chránia ich pomocou sady kľúčov. Psad sa používa na sledovanie podozrivých aktivít prostredníctvom hlásení brány firewall.

Bro je navrhnutý tak, aby monitoroval sieť, sledoval vzory podozrivých aktivít, zhromažďoval štatistiky, vykonával systémové príkazy a generoval upozornenia. RKHunter možno použiť na ochranu pred vírusmi, najčastejšie rootkitmi. Tento nástroj prehľadá váš systém oproti databáze známych zraniteľností a dokáže odhaliť nebezpečné nastavenia v aplikáciách.

Záver

Nástroje a nastavenia uvedené vyššie vám pomôžu čiastočne chrániť systém, ale bezpečnosť závisí od vášho správania a pochopenia situácie. Bez pozornosti, opatrnosti a neustáleho sebaučenia nemusia všetky ochranné opatrenia fungovať.

Ahojte všetci ... Všetci začínajúci správcovia pod Ubuntu majú za úlohu konfigurovať sieťové rozhrania (siete, sieťové karty) V tomto článku vám ukážem ako na to ... Toto sa robí veľmi jednoducho ...

Ak ste nejakým spôsobom vynechali nastavenie siete alebo ste videli ťažkosti pri inštalácii distribúcie, teraz to urobíme manuálne. A tak je distribučná súprava nainštalovaná a čaká na nás v útoku ... Potrebujeme nakonfigurovať 2 sieťové karty ... .. Jeden z nás sa pozerá smerom k poskytovateľovi a druhý do lokálnej siete. Okamžite odsúhlaste a určte naše rozhrania a adresy.

eth0- 192.168.0.1 (povedzme, že toto je adresa, ktorú vydal poskytovateľ) Rozhranie, ktoré sa pozerá na internet (poskytovateľ)
eth1- 10.0.0.1 (adresa, ktorú chceme dať tomuto rozhraniu) Rozhranie nahliadajúce do lokálnej siete

Najprv si skontrolujeme, ktoré rozhrania sme už príkazom spustili ifconfig Uvidíte niečo také (iba s vašimi údajmi namiesto xxxxx)

ETH0 LINK ENCAP: ethernet Hwaddr хх: хх: хх: хх: хх: хх inet addr: ххх.ххх.ххх ххх ххх.ххх.хххх.ххх Maska: 255.255.255.252 INET6 ADDR: ххх :: ххх: ххх :ххх:хххх/64 Rozsah:Pripojenie UP VYSIELANIE RUNNÉHO MULTICAST MTU:1500 Metrika:1 RX pakety:31694097 chyby:0 zahodené:0 prekročenia:0 rámec:0 TX pakety:15166512chyby:0 zahodené:0 prekročenia 0 kolízií:0 txqueuelen:100 RX bajtov:2215593127 (2,2 GB) TX bajtov:1577680249 (1,5 GB) Pamäť:b8820000-b8840000 eth1 Link encap:Ethernetxx ind.:1xxx:1xx:0 0.1 Bcast:10.0.0.255 Maska:255.255.255.0 inet6 xxxx: xxxx::xxxx:xxxf:xxx:xxxx/64 Rozsah:Link UP BROADCAST RUNNING MULTICAST MTU:1500 vypadnutých balíčkov: 0,42 R311 metrických: :0 frame:0 TX pakety:21539638 chyby:0 zahodené:0 prekročenia:0 nosič:0 kolízie:0 txqueuelen:100 RX bajtov:1262641422 (1,2 GB) TX bajtov:1922838889 (1,9 GB) Pamäť:0008 Link-80b encap:Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Rozsah: Hostiteľ UP LOOPBACK RUNNING MTU:16436 Metrika:1 RX pakety:3823 chyby:0 zahodené:0 prekročenia:0 rámec:0 TX pakety:3823 chyby:0 zahodené:0 prekročenia:0 nosič:0 kolízie:0 txqueuelen:0 RX bajtov :717663 (717,6 KB) TX bajtov:717663 (717,6 KB)

Ak sa vám nezobrazuje jedno z rozhraní, je to v poriadku. Je len vypnutý, zapnite ho príkazom sudo ifconfig eth1 up(namiesto eth1 zadajte svoje rozhranie, ak máte 2 sieťové karty, tak sú celkom 2 rozhrania, sú to eth0 a eth1) A tak zapneme naše rozhranie:

sudo ifconfig eth1 up

A tak začneme s nastavovaním.

Rozhraniu eth0 ip priraďme adresu vydanú poskytovateľom pomocou nasledujúceho príkazu:

sudo ifconfig eth1 inet 192.168.0.2

A zadajte masku siete:

sudo ifconfig eth0 sieťová maska ​​255.255.255.0

Takto vykonané nastavenia sa po reštarte servera vynulujú.
Aby ste tomu zabránili, musíte zmeniť nastavenia v konfiguračnom súbore sieťových rozhraní. To si vyžaduje práva root. Vezmime si práva koreň s nasledujúcim príkazom:

sudo su

Konfiguračný súbor sieťového rozhrania sa nachádza na adrese /etc/network/interfaces Na jej úpravu používame Nano editor (môžete použiť vlastný editor) Páči sa mi to Nano

nano /etc/network/interfaces

Vidíme nasledovné:

# Tento súbor popisuje sieťové rozhrania dostupné vo vašom systéme # a ako ich aktivovať. Ďalšie informácie nájdete v časti rozhrania(5). # Sieťové rozhranie spätnej slučky auto lo iface lo inet loopback # Primárne sieťové rozhranie//Primárne sieťové rozhranie auto eth0//Priraďte nasledujúce atribúty sieťovému rozhraniu iface eth0 inet statický//Automaticky povoliť sieťové rozhranie adresa 192.168.0.2// IP adresa našej sieťovej karty (poskytnutá poskytovateľom) sieťová maska ​​255.255.255.0//Maska siete, v ktorej sa nachádza naša IP sieť 192.168.0.0// Sieť s úplným rozsahom vysielané 192.168.0.255//Max. počet adries brána 192.168.0.1//Brána Voľby # dns-* sú implementované balíkom resolvconf, ak je nainštalovaný

Musí byť uvedený do nasledujúceho formulára

# Tento súbor popisuje sieťové rozhrania dostupné na vašom systéme # a ako ich aktivovať. Ďalšie informácie nájdete v časti rozhrania(5). # Sieťové rozhranie spätnej slučky auto lo iface lo inet loopback # Primárne sieťové rozhranie auto eth0 iface eth0 inet statická adresa 192.168.0.2 sieťová maska ​​255.255.255.0 sieť 192.168.0.0 brána 192.168.0.0, možnosti resolv-balíka-*cond sú implementované pomocou 192.168.0.1 ak sú nainštalované DNS-nameservery 192.168.22.22 192.168.33.33 #Rozhranie, ktoré sa pozerá do lokálnej siete auto eth1 iface eth1 inet statické adresa 10.0.0.1 sieťová maska ​​255.255.255.0

Uložte zmeny stlačením Ctrl + O a ukončite stlačením Ctrl + X

Adresy serverov DNS je možné nastaviť v súbore /etc/network/interfaces, ale adresy serverov DNS v Ubuntu sa spravujú cez súbor /etc/resolv.conf, u mňa to vyzerá takto:

menný server xx.xx.xx.xx menný server xx.xx.xx.xx

Nakonfigurujme DNS, na tento účel zadáme do riadku nasledujúci príkaz:

sudo nano /etc/resolv.conf # IP adresy DNS serverov vášho ISP nameserver xxx.xxx.xxx.xxx nameserver xxx.xxx.xxx.xxx

uložiť Ctrl+O a odchádzame ctrl+x musíte tiež reštartovať sieť nasledujúcim príkazom.

Nikto z nás nechce, aby sa osobné informácie dostali do nesprávnych rúk. Ako však ochrániť systém pred útokmi a krádežou dát? Naozaj musíte čítať kilometrové manuály o nastavovaní a šifrovacích algoritmoch? Vôbec to nie je potrebné. V tomto článku vám ukážem, ako zabezpečiť systém Linux za pouhých 30 minút.

Úvod

Žijeme v dobe mobilných zariadení a neustáleho online. Ideme do kaviarne s notebookom a prevádzkujeme webové servery na internete na domácich strojoch. Registrujeme sa na stovkách stránok a používame rovnaké heslá pre webové služby. Vždy máme vo vrecku smartfón, ktorý je nabitý desiatkami hesiel a ukladá kľúče k niekoľkým SSH serverom. Na to, že sa o naše súkromie starajú služby tretích strán, sme si už natoľko zvykli, že sme tomu už prestali venovať pozornosť.

Keď som stratil svoj smartfón, mal som veľké šťastie, že ochrana proti krádeži nainštalovaná na ňom sa ukázala ako účinná a umožnila mi na diaľku vymazať všetky údaje z pamäte zariadenia. Keď som na svojom domácom stroji nechtiac otvoril SSH port s používateľom bez hesla (!) do vonkajšieho sveta (!!), mal som veľké šťastie, že sa script-kiddies dostali na stroj, čo okrem smiešneho shell príbeh, nezanechal žiadne vážne stopy ich pobytu v systéme. Keď som náhodou zavesil na internet inzerát s heslom z Gmailu, mal som veľké šťastie, že sa našiel milý človek, ktorý ma na to upozornil.

Možno to vypichujem, ale pevne verím, že takéto príhody sa stali mnohým, ktorí čítajú tieto riadky. A je dobré, ak sa títo ľudia na rozdiel odo mňa vážne starali o ochranu svojho auta. Koniec koncov, ochrana proti krádeži by nemusela fungovať a namiesto skriptového kiddy by do auta mohli nastúpiť seriózni ľudia a ja by som mohol stratiť nie smartfón, ale notebook, na ktorom okrem hesla používateľa nebolo inú ochranu. Nie, spoliehať sa na jedno Google dvojfaktorové overenie a hlúpe heslá sa v našom veku určite neoplatí, treba niečo vážnejšie.

Tento článok je paranoidnou unixoidnou príručkou venovanou úplnej ochrane počítača so systémom Linux pred čímkoľvek a všetkým. Netrúfam si povedať, že všetko, čo je tu popísané, je povinné pre použitie. Práve naopak, je to súbor receptov, ktorých informácie môžete použiť na ochranu seba a údajov na tých hraniciach, kde je to potrebné vo vašej konkrétnej situácii.

Heslo!

Všetko to začína heslami. Sú všade: v prihlasovacom okne v distribúcii Linuxu, v registračných formulároch na internetových stránkach, na serveroch FTP a SSH a na uzamknutej obrazovke smartfónu. Dnešným štandardom hesiel je 8–12 zmiešaných malých a veľkých písmen vrátane číslic. Generovanie takýchto hesiel vlastnou mysľou je dosť únavné, ale existuje jednoduchý spôsob, ako to urobiť automaticky:

$ openssl rand -base64 6

Žiadne externé aplikácie, žiadne rozšírenia webového prehliadača, OpenSSL je k dispozícii na akomkoľvek počítači. Aj keď, ak je to pre niekoho pohodlnejšie, môže si na tieto účely nainštalovať a používať pwgen (hovoria, že heslo bude odolnejšie):

$ pwgen -Bs 8 1

Kam ukladať heslá? Dnes ich má každý používateľ toľko, že udržať všetko v hlave je jednoducho nemožné. Dôverovať systému automatického ukladania prehliadača? Môžete, ale ktovie, ako sa k nim postaví Google alebo Mozilla. Snowden povedal, že to nebolo veľmi dobré. Preto musia byť heslá uložené na samotnom stroji v zašifrovanom kontajneri. Otcovia zakladatelia na to odporúčajú používať KeePassX. Vec je grafická, čo sa samotným otcom zakladateliam veľmi nepáči, no funguje to všade, vrátane známeho Google Probe Android (KeePassDroid). Zostáva len preniesť databázu s heslami na správne miesto.

Šifrujeme

Šifrovanie – koľko je toho v tomto slove... Dnes je šifrovanie všade a zároveň nikde. Sme nútení používať HTTPS verzie stránok, ale je nám to jedno. Oni nám povedia: "Zašifrujte svoj domovský adresár" a my povieme: "Nastavím to neskôr." Hovoria nám: „Obľúbenou zábavou zamestnancov Dropboxu je smiať sa na osobných fotografiách používateľov“ a my: „Nechajte ich, nech sa smejú.“ Medzitým je dnes šifrovanie jediným absolútnym prostriedkom ochrany. A je cenovo veľmi dostupný a vyhladzuje vrásky.

V Linuxe nájdete množstvo šifrovacích nástrojov pre všetko a všetko, od oddielov pevného disku až po jednotlivé súbory. Tri najznámejšie a časom overené nástroje sú dm-crypt/LUKS, ecryptfs a encfs. Prvý šifruje celé disky a oddiely, druhý a tretí - adresáre s dôležitými informáciami, každý súbor samostatne, čo je veľmi výhodné, ak potrebujete robiť prírastkové zálohy alebo ho používať v spojení s Dropboxom. Existuje aj niekoľko menej známych nástrojov, medzi ktoré patrí napríklad TrueCrypt.

Hneď urobím výhradu, že zašifrovať celý disk je náročná úloha a hlavne zbytočná. V koreňovom adresári nie je a nemôže byť nič obzvlášť dôverné, ale domovský adresár a swap sú len skladiskom informácií. Navyše, ten druhý je ešte väčší ako ten prvý, keďže sa tam môžu dostať už dešifrované dáta a heslá (bežní programátori zakazujú systému hádzať takéto dáta do swapu, ale taká menšina). Nastavenie šifrovania pre obe je veľmi jednoduché, stačí nainštalovať nástroje na šifrovanie:

$ sudo apt-get install ecryptfs-utils

A v skutočnosti povoliť šifrovanie:

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

Ďalej stačí zadať heslo používané na prihlásenie a prihlásiť sa do systému. Áno, je to naozaj také jednoduché. Prvý príkaz zašifruje a znova pripojí swap zmenou požadované línie v /etc/fstab. Druhý vytvorí adresár ~/.Private a ~/Private, v ktorých budú uložené zašifrované a dešifrované súbory. Keď sa prihlásite, spustí sa modul PAM pam_ecryptfs.so, ktorý pripojí prvý adresár k druhému s transparentným šifrovaním údajov. Po odpojení bude ~/Private prázdne a ~/.Private bude obsahovať všetky súbory v zašifrovanej forme.

Nie je zakázané šifrovať celý domovský adresár ako celok. V tomto prípade výkon veľmi neklesne, ale budú chránené všetky súbory vrátane tých istých sieťový adresár~/dropbox. Robí sa to takto:

# ecryptfs-migrate-home -u vasya

Mimochodom, na disku by malo byť 2,5 krát viac miesta, ako má vasya dát, takže odporúčam vyčistiť vopred. Po dokončení operácie by ste sa mali okamžite prihlásiť ako používateľ vasya a skontrolovať, či funguje:

$ mount | grep Private /home/vasya/.Private na /home/vasya typu ecryptfs ...

Ak je všetko v poriadku, nezašifrovanú kópiu údajov možno prepísať:

$ sudo rm -r /home/vasya.*

Zahladzujeme stopy

OK, heslá sú na bezpečnom mieste, osobné súbory tiež, čo teraz? A teraz sa musíme postarať o to, aby sa niektoré časti našich osobných údajov nedostali do nesprávnych rúk. Pre nikoho nie je tajomstvom, že keď je súbor odstránený, jeho skutočný obsah zostane na médiu, aj keď sa formátovanie vykoná až potom. Naše zašifrované dáta budú v bezpečí aj po vymazaní, ale čo flash disky a iné pamäťové karty? Tu príde vhod pomôcka srm, ktorá nielen vymaže súbor, ale aj zaplní dátové bloky, ktoré po ňom zostali:

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

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

Tento príkaz vymaže všetky údaje na kľúči sdb. Ďalej zostáva vytvoriť tabuľku oblastí (s jednou oblasťou) a naformátovať ju do požadovaného súborového systému. Na to sa odporúča použiť fdisk a mkfs.vfat, ale vystačíte si aj s grafickým gparted.

Zabránenie útokom BruteForce

Fail2ban je démon, ktorý skenuje protokoly pre pokusy uhádnuť heslá pre sieťové služby. Ak sa takéto pokusy zistia, potom je podozrivá IP adresa zablokovaná pomocou iptables alebo TCP Wrapperov. Služba je schopná upozorniť majiteľa hostiteľa o incidente e-mailom a po stanovenom čase resetovať blokovanie. Fail2ban bol pôvodne vyvinutý na ochranu SSH, dnes existujú hotové príklady pre Apache, lighttpd, Postfix, exim, Cyrus IMAP, Named a tak ďalej. Navyše jeden Fail2ban proces môže chrániť niekoľko služieb naraz.

V Ubuntu / Debiane na inštaláciu napíšeme:

# apt-get install fail2ban

Konfigurácie sa nachádzajú v adresári /etc/fail2ban. Po zmene konfigurácie reštartujte fail2ban príkazom:

# /etc/init.d/fail2ban reštart

Hrozba zvonku

Teraz sa postarajme o hrozby prichádzajúce z čriev World Wide Web. Tu by som mal začať hovoriť o iptables a pf spustených na vyhradenom stroji s OpenBSD, ale to je všetko nadbytočné, keď je tam ipkungfu. Čo to je? Toto je skript, ktorý za nás urobí všetku špinavú prácu pri konfigurácii firewallu bez toho, aby sme museli vytvárať kilometrové zoznamy pravidiel. Inštalácia:

$ sudo apt-get install ipkungfu

Upraviť konfiguráciu:

$ sudo vi /etc/ipkungfu/ipkungfu.conf # Lokálna sieť, ak existuje - napíšte sieťovú adresu spolu s maskou, nie - napíšte adresu spätnej slučky LOCAL_NET="127.0.0.1" # Náš počítač nie je brána GATEWAY=0 # Zatvorte potrebné porty FORBIDDEN_PORTS="135 137 139" # Blokujte pingy, 90% detí v tejto fáze odpadne BLOCK_PINGS=1 # Zahoďte podozrivé pakety (rôzne záplavy) SUSPECT="DROP" # Zahoďte "nesprávne" pakety (niektoré typy DoS) KNOWN_BAD=" DROP" # Kontrola portu? Thrash! PORT_SCAN="DROP"

Ak chcete povoliť ipkungfu, otvorte súbor /etc/default/ipkungfu a zmeňte riadok IPKFSTART = 0 na IPKFSTART = 1. Spustite:

$ sudo ippungfu

Okrem toho vykonáme zmeny v súbore /etc/sysctl.conf:

$ sudo vi /etc/systcl.conf # Zrušte presmerovania ICMP (proti útokom MITM) net.ipv4.conf.all.accept_redirects=0 net.ipv6.conf.all.accept_redirects=0 # Povoliť mechanizmus TCP syncookies net.ipv4 .tcp_syncookies =1 # Rôzne vylepšenia (anti-spoofing, zvýšenie frontu "polootvorených" pripojení TCP atď.) net.ipv4.tcp_timestamps=0 net.ipv4.conf.all.rp_filter=1 net.ipv4.tcp_max_syn_backlog= 1280 jadro .core_uses_pid=1

Aktivovať zmeny:

$ sudo sysctl -p

Detekcia prienikov

Snort je jedným z obľúbených nástrojov pre správcov a základom všetkých bezpečnostných sprievodcov. Vec s dlhou históriou a kolosálnymi možnosťami, ktorej sú venované celé knihy. Čo robí v našom sprievodcovi rýchla inštalácia bezpečný systém? A tu je miesto pre neho, Snort nie je potrebné konfigurovať:

$ sudo apt-get install snort $ snort -D

Všetky! Nerobím si srandu, predvolené nastavenia Snortu sú viac než dostatočné na ochranu typických sieťových služieb, ak ich samozrejme máte. Stačí sa z času na čas pozrieť do denníka. A v ňom nájdete riadky ako tieto:

[**] Pokus o pretečenie odozvy sondy MS-SQL [**] http://www.securityfocus.com/bid/9407]

Ojoj Niekto sa pokúsil spôsobiť pretečenie vyrovnávacej pamäte v MySQL. Je tam aj odkaz na stránku s podrobným popisom problému. Krása.

Niekto zdedil...

Niekto obzvlášť šikovný dokázal obísť náš firewall, dostať sa cez Snort, získať root prístup do systému a teraz sa pravidelne prihlasuje do systému pomocou nainštalovaného zadného vrátka. Nie je dobré, treba nájsť zadné vrátka, odstrániť ich a aktualizovať systém. Ak chcete vyhľadať rootkity a zadné vrátka, použite rkhunter:

$ sudo apt-get nainštalovať rkhunter

Spúšťame:

$ sudo rkhunter -c --sk

Softvér skontroluje celý systém na prítomnosť rootkitov a zobrazí výsledky. Ak sa malvér stále nájde, rkhunter ukáže na miesto a môže byť prepísané. Podrobnejší protokol sa nachádza tu: /var/log/rkhunter.log. Je lepšie spustiť rkhunter ako každodennú úlohu cron:

$ sudo vi /etc/cron.daily/rkhunter.sh #!/bin/bash /usr/bin/rkhunter -c --cronjob 2>&1 | mail -s "Výsledky skenovania RKhunter" [e-mail chránený]

Vasyovu e-mailovú adresu nahradíme vlastnou a skript urobíme spustiteľným:

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

$ sudo rkhunter --update

Mimochodom, môže sa pridať pred príkaz check v skripte cron. Ďalšie dva nástroje na vyhľadávanie rootkitov:

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

V skutočnosti rovnaké vajíčka Faberge z vtáčej perspektívy, ale majú rôzne základy. Snáď sa s ich pomocou podarí odhaliť, čo rkhunter zmeškal. No, na začiatok, debsums - nástroj na zmierenie kontrolné súčty súbory nainštalované balíky so štandardom. Dali sme:

$ sudo apt-get install debsums

Začneme kontrolu:

$ sudo debsums -ac

Ako vždy? spustenie možno pridať k úlohám cron.



Vonku

Teraz si povedzme, ako si zachovať anonymitu na webe a získať prístup k stránkam a stránkam zablokovaným na žiadosť rôznych autorských organizácií a iných Mizulínov. Najjednoduchší spôsob, ako to urobiť, je použiť jeden z tisícok proxy serverov po celom svete. Mnohé z nich sú zadarmo, ale často obmedzujú kanál na rýchlosť starého analógového modemu.

Na bezpečnú navigáciu na stránkach a zapnutie servera proxy iba v prípade potreby môžete použiť jedno z mnohých rozšírení pre prehliadače Chrome a Firefox, ktoré sa dajú ľahko nájsť v adresári prepínača proxy. Nainštalujeme, zapíšeme zoznam potrebných proxy a prepneme na požadovaný, pričom namiesto stránky sa zobrazí nápis „Prístup na stránku je obmedzený na žiadosť pána Skumbrievicha“.

V situáciách, keď celá stránka spadala pod filter a jej adresa bola na čiernej listine na strane serverov DNS poskytovateľov, môžete použiť bezplatné servery DNS, ktorých adresy sú zverejnené. Stačí si vziať ľubovoľné dve adresy, ktoré sa vám páčia, a pridať do /etc/resolv.conf:

Nameserver 156.154.70.22 nameserver 156.154.71.22

Aby sme zabránili rôznym druhom klientov DHCP a NetworkManagerov prepísať súbor adresami prijatými od poskytovateľa alebo smerovača, pomocou rozšírených atribútov urobíme súbor neprepisovateľný:

$ sudo chattr +i /etc/resolv.conf

Potom bude súbor chránený proti zápisu pre všetkých, vrátane rootov.

Ak chcete ešte viac anonymizovať svoje prehliadanie, môžete použiť aj démona dnscrypt, ktorý okrem proxy servera používaného na pripojenie k samotnej stránke zašifruje všetky požiadavky na server DNS. Inštalácia:

$ 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

Zadajte adresu spätnej slučky v /etc/resolv.conf:

$ vi /etc/resolv.conf nameserver 127.0.0.1

Začnime s démonom:

$ sudo dnscrypt-proxy --daemonize

Mimochodom, existujú verzie dnscrypt pre Windows, iOS a Android.

Smerovanie cibule

Čo je to cibuľové smerovanie? Toto je Tor. A Tor je zasa systém, ktorý umožňuje vytvárať úplne anonymnú sieť s prístupom na internet. Pojem „cibuľa“ sa tu používa v súvislosti s pracovným modelom, v ktorom bude akýkoľvek sieťový paket „zabalený“ do troch vrstiev šifrovania a na ceste k adresátovi prejde cez tri uzly, z ktorých každý odstráni svoj vlastný vrstvu a výsledok preniesť ďalej. Všetko je, samozrejme, komplikovanejšie, ale pre nás je dôležité len to, že ide o jeden z mála typov networkingu, ktorý vám umožňuje zachovať si úplnú anonymitu.

Kde je však anonymita, tam sú problémy s pripojením. A Tor má aspoň tri z nich: je strašne pomalý (vďaka šifrovaniu a prechádzaniu reťazcom uzlov), zaťaží vašu sieť (pretože vy sami budete jedným z uzlov) a je zraniteľný voči odpočúvanie premávky. Ten je prirodzeným dôsledkom možnosti prístupu na internet zo siete Tor: posledný uzol (výstup) odstráni poslednú vrstvu šifrovania a môže pristupovať k údajom.

Tor sa však veľmi ľahko inštaluje a používa:

$ sudo apt-get install

Všetko, teraz na lokálnom počítači bude proxy server vedúci do siete Tor. Adresa: 127.0.0.1:9050, môžete ju vložiť do prehliadača pomocou rovnakého rozšírenia alebo pridať cez nastavenia. Majte na pamäti, že toto je SOCKS, nie HTTP proxy.


INFO

Verzia Tor pre Android sa nazýva Orbot.

Vložiť príkazový riadok heslo nebolo uložené v histórii, môžete použiť šikovný trik s názvom "pridať medzeru na začiatok príkazu."

Práve ecryptfs sa používa na šifrovanie domovského adresára v Ubuntu.

Boj proti povodni

Tu je niekoľko príkazov, ktoré môžu pomôcť pri zaplavení vášho hostiteľa.

Počítanie počtu pripojení na konkrétnom porte:

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

Počítanie počtu „polootvorených“ pripojení TCP:

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

Zobrazenie zoznamu adries IP, z ktorých sa odosielajú žiadosti o pripojenie:

$ netstat -na | grep ":port\" | triediť | uniq -c | sort-nr | menej

Analýza podozrivých paketov pomocou tcpdump:

# tcpdump -n -i eth0 -s 0 -w output.txt dst port port a hostiteľ IP servera

Zrušíme spojenie útočníka:

# iptables -A INPUT -s ip útočníka -p tcp --destination-port port -j DROP

Obmedzujeme maximálny počet „polootvorených“ pripojení z jednej IP na konkrétny port:

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

Zakázať odpovede na požiadavky ICMP ECHO:

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

závery

To je všetko. Bez toho, aby sme zachádzali do detailov a bez nutnosti študovať manuály, sme vytvorili Linux-box, ktorý je chránený pred vonkajším prienikom, pred rootkitmi a inými infekciami, pred priamym zásahom človeka, pred odpočúvaním a sledovaním dopravy. Zostáva len pravidelne aktualizovať systém, zakázať prihlásenie heslom cez SSH, odstrániť nepotrebné služby a vyhnúť sa chybám v konfigurácii.

Na výročnej konferencii LinuxCon v roku 2015 sa tvorca jadra GNU / Linux Linus Torvalds podelil o svoj názor na bezpečnosť systému. Zdôraznil potrebu zmierniť vplyv prítomnosti určitých chýb kompetentnou ochranou tak, aby v prípade zlyhania jedného komponentu problém prekryla ďalšia vrstva.

V tomto článku sa pokúsime odhaliť túto tému z praktického hľadiska:

7. Nainštalujte brány firewall

Nedávno sa objavila nová zraniteľnosť, ktorá umožňuje DDoS útoky na servery so systémom Linux. Od verzie 3.6 na konci roka 2012 sa objavila chyba v jadre systému. Zraniteľnosť umožňuje hackerom vkladať vírusy do sťahovaných súborov, webových stránok a odhaľovať pripojenia Tor a hackovanie nevyžaduje veľa úsilia - metóda spoofingu IP bude fungovať.

Maximálnou škodou pre šifrované pripojenia HTTPS alebo SSH je prerušenie pripojenia, ale útočník môže do nechránenej prevádzky umiestniť nový obsah vrátane škodlivého softvéru. Na ochranu pred takýmito útokmi je vhodný firewall.

Zablokujte prístup pomocou brány firewall

Firewall je jedným z najdôležitejších nástrojov na blokovanie neželanej prichádzajúcej prevádzky. Odporúčame vám povoliť iba premávku, cez ktorú skutočne potrebujete prejsť, a úplne zablokovať všetku ostatnú premávku.

Na filtrovanie paketov má väčšina distribúcií Linuxu radič iptables. Zvyčajne ho používajú pokročilí používatelia a na zjednodušenie konfigurácie môžete použiť nástroje UFW na Debian/Ubuntu alebo FirewallD na Fedore.

8. Vypnite nepotrebné služby

Špecialisti z University of Virginia odporúčajú vypnúť všetky služby, ktoré nepoužívate. Niektoré procesy na pozadí sú nastavené na automatické načítanie a spúšťajú sa, kým sa systém nevypne. Ak chcete nakonfigurovať tieto programy, musíte skontrolovať inicializačné skripty. Služby je možné spustiť cez inetd alebo xinetd.

Ak je váš systém nakonfigurovaný cez inetd, potom v súbore /etc/inetd.conf môžete upraviť zoznam „démonov“ programov na pozadí, aby ste zakázali načítanie služby, stačí vložiť znak „#“ na začiatok riadok, ktorý ho zmení zo spustiteľného súboru na komentár.

Ak systém používa xinetd, jeho konfigurácia bude v adresári /etc/xinetd.d. Každý adresárový súbor definuje službu, ktorú možno deaktivovať zadaním klauzuly disable = yes, ako v tomto príklade:

Servisný prst ( socket_type = čakanie na stream = žiadny používateľ = nikto server = /usr/sbin/in.fingerd disable = yes )
Tiež stojí za to skontrolovať, či neexistujú trvalé procesy, ktoré nespravuje inetd alebo xinetd. Spúšťacie skripty môžete nakonfigurovať v adresároch /etc/init.d alebo /etc/inittab. Po vykonaní zmien spustite príkaz pod účtom root.

/etc/rc.d/init.d/inet reštart

9. Server fyzicky chráňte

Nie je možné sa plne chrániť pred útokmi útočníka s fyzickým prístupom na server. Preto je potrebné zabezpečiť miestnosť, kde sa váš systém nachádza. Dátové centrá berú bezpečnosť vážne, obmedzujú prístup k serverom, inštalujú bezpečnostné kamery a stanovujú stálu stráž.

Pre vstup do dátového centra musia všetci návštevníci prejsť určitými autentizačnými krokmi. Dôrazne sa tiež odporúča používať snímače pohybu vo všetkých oblastiach centra.

10. Chráňte server pred neoprávneným prístupom

Neautorizovaný prístupový systém alebo IDS zhromažďuje údaje o konfigurácii systému a súboroch a potom tieto údaje porovnáva s novými zmenami, aby zistil, či sú pre systém škodlivé.

Napríklad nástroje Tripwire a Aide zhromažďujú databázu systémových súborov a chránia ich pomocou sady kľúčov. Psad sa používa na sledovanie podozrivých aktivít prostredníctvom hlásení brány firewall.

Bro je navrhnutý tak, aby monitoroval sieť, sledoval vzory podozrivých aktivít, zhromažďoval štatistiky, vykonával systémové príkazy a generoval upozornenia. RKHunter možno použiť na ochranu pred vírusmi, najčastejšie rootkitmi. Tento nástroj prehľadá váš systém oproti databáze známych zraniteľností a dokáže odhaliť nebezpečné nastavenia v aplikáciách.

Záver

Nástroje a nastavenia uvedené vyššie vám pomôžu čiastočne chrániť systém, ale bezpečnosť závisí od vášho správania a pochopenia situácie. Bez pozornosti, opatrnosti a neustáleho sebaučenia nemusia všetky ochranné opatrenia fungovať.