Nedroša autentifikācija x logu ubuntu. Drošība operētājsistēmā Linux ir relatīvs jēdziens. Šifrēsim failu sistēmu Linux, lai nodrošinātu pilnīgāku Linux drošību


Daudzi lietotāji uzskata Ubuntu pop, un Ubuntu serveris nav nopietni. Daudzi cilvēki aizmirst, ka Ubuntu serveris tiek atbalstīts 5 gadus, un Debian 5.0 bija tirgū 3 gadus - no 2009. līdz 2012. gadam.

Par atbalsta cenām - Ubuntu serveris salīdzinājumā ar Red Hat, var un vajadzētu teikt - jūs to saņēmāt bez maksas, pat ja pasūtāt 24/7 atbalsts 24x7x365.

Skatiet, kādi drošības risinājumi ir ieviesti visās Ubuntu versijās, un padariet tos drošus un uzticamus.

Iespējas

Drošības iespēju matrica

Iespēja 8,04 LTS(Hardy Heron) 10.04 LTS(Lucid Lynx) 11.04 (Natty Narwhal) 11.10 (Oneiriks Ocelots) 12.04 LTS(Precīzs Pangolīns) 12.10 (Quantal Quetzal)
Nav atvērtu portu politiku politiku politiku politiku politiku politiku
Paroles jaukšana md5 sha512 sha512 sha512 sha512 sha512
SYN sīkfaili -- kodols un sysctl kodols un sysctl kodols un sysctl kodols un sysctl kodols un sysctl
Failu sistēmas iespējas -- kodols kodols kodols kodols kodols
Konfigurējams ugunsmūris ufw ufw ufw ufw ufw ufw
PR_SET_SECCOMP kodols kodols kodols kodols kodols kodols
AppArmor 2.1 2.5 2.6.1 2.7.0 ~ beta1 2.7.0 2.7.0
SELinux Visums Visums Visums Visums Visums Visums
SMACK -- kodols kodols kodols kodols kodols
Šifrēts LVM alt instalētājs alt instalētājs alt instalētājs alt instalētājs alt instalētājs alt instalētājs
eCryptfs -- ~/Privāts vai ~, failu nosaukumi ~/Privāts vai ~, failu nosaukumi ~/Privāts vai ~, failu nosaukumi ~/Privāts vai ~, failu nosaukumi ~/Privāts vai ~, failu nosaukumi
Kaudzes aizsardzība gcc ielāps gcc ielāps gcc ielāps gcc ielāps gcc ielāps gcc ielāps
Kaudzes aizsardzība glibc glibc glibc glibc glibc glibc
Aptumšota rādītāja glibc glibc glibc glibc glibc glibc
ASLR kaudze kodols kodols kodols kodols kodols kodols
Libs/mmap ASLR kodols kodols kodols kodols kodols kodols
Izpildīt ASLR kodols (-mm ielāps) kodols kodols kodols kodols kodols
brk ASLR kodols (exec ASLR) kodols kodols kodols kodols kodols
VDSO ASLR kodols kodols kodols kodols kodols kodols
Ēka ar PIE -- paku saraksts paku saraksts paku saraksts paku saraksts paku saraksts
-- gcc ielāps gcc ielāps gcc ielāps gcc ielāps gcc ielāps
Montāža ar RELRO -- gcc ielāps gcc ielāps gcc ielāps gcc ielāps gcc ielāps
Būvēšana ar BIND_NOW -- paku saraksts paku saraksts paku saraksts paku saraksts paku saraksts
Neizpildāmā atmiņa Tikai PAE PAE, ia32 daļēja NX-emulācija PAE, ia32 daļēja NX-emulācija PAE, ia32 daļēja NX-emulācija PAE, ia32 daļēja NX-emulācija
Aizsargājiet /proc/$pid/maps kodols un sysctl kodols kodols kodols kodols kodols
Simbolisko saišu ierobežojumi -- -- kodols kodols kodols kodols
Cieto saišu ierobežojumi -- -- kodols kodols kodols kodols
ptrace darbības jomu -- -- kodols kodols kodols kodols
0-adreses aizsardzība kodols un sysctl kodols kodols kodols kodols kodols
Aizsargājiet /dev/mem kodols (-mm ielāps) kodols kodols kodols kodols kodols
/dev/kmem ir atspējota kodols (-mm ielāps) kodols kodols kodols kodols kodols
Moduļa ielādes bloķēšana nomest CAP_SYS_MODULES sysctl sysctl sysctl sysctl sysctl
kodols kodols kodols kodols kodols kodols
Kodola steku aizsardzība -- kodols kodols kodols kodols kodols
RO/NX modulis -- -- kodols kodols kodols kodols
-- -- kodols kodols kodols kodols
-- -- kodols kodols kodols kodols
Sistēmas zvanu filtrēšana -- -- -- kodols kodols kodols

Nav atvērtu portu

Noklusējuma Ubuntu instalācijai nav atvērtu portu, kas būtu pieejams ārpus tīkla. Vienīgais izņēmums no šī noteikuma attiecas uz tīkla infrastruktūras pakalpojumiem, piemēram, DHCP klientu un mDNS (Avahi/ZeroConf).

Kad ir instalēts Ubuntu serveris, administrators var instalēt papildu tīkla pakalpojumus, piemēram, Apache tīmekļa serveri. Bet pēc noklusējuma tikko instalētā sistēmā, ja veicat netstat -an --inet | grep KLAUSIES | grep -v 127.0.0.1 , tad varat viegli pārliecināties, ka Ubuntu nevajadzīgi neatver portus piekļuvei no tīkliem uz sistēmu.

Paroles jaukšana

Sistēmas parole, ko izmanto, lai pieteiktos Ubuntu, tiek saglabāta mapē /etc/shadow. Reiz DES paroles jaucējkods tika saglabāts mapē /etc/passwd. Bet mūsdienu Linux jau ilgu laiku glabā jaucējvērtības mapē /etc/shadow, un sākumā tika izmantots uz MD5 bāzes veidots jaucējfails ar sāli (sālītas MD5 bāzes jaucējdaļas crypt id 1). Tā kā vienām un tām pašām parolēm bija vienādas jaucējkodas, neizmantojot sāls, sāls ieviešana ļāva uzlabot drošību un apgrūtināt daudzu sistēmas lietotāju paroļu uzlauzšanu.

Tagad MD5 tiek uzskatīts par neuzticamu un, palielinoties datoru skaitļošanas iespējām, ar Ubuntu 8.10 tiek izmantots SHA-512 hash with salt (salted SHA-512 balstītas paroles jaucējkodas crypt id 6). Tas veic uzlaušanu brutālu spēku izejot cauri visām iespējām – neticami sarežģīti un laikietilpīgi.

Sīkāka informācija par cilvēka kriptu.

Pārbaudēm izmantojiet test-glibc-security.py.

SYN sīkfaili

Kad sistēma ir pārpludināta ar jauniem tīkla savienojumiem, SYN sīkfailu mehānisms palīdz samazināt SYN plūdu uzbrukumu radītos zaudējumus.

Failu sistēmas iespējas

Izmantojot failu sistēmas iespējas, piemēram, xattrs, var samazināt vajadzību pēc setuid lietojumprogrammām, kas darbojas ar augstākām atļaujām nekā personai, kas tās palaiž. Šādas funkcijas samazina potenciāli bīstamu setuid lietojumprogrammu ļaunprātīgas izmantošanas risku.

Linux kodols nodrošina atbalstu un rīkus libcap2-bin, lai izmantotu xattrs tipa failu iespējas, lai uzlabotu setuid lietojumprogrammu drošību.

Pārbaudēm izmantojiet test-kernel-security.py.

Konfigurējams ugunsmūris

ufw ir iptables priekšgals, kas ir instalēts un tiek izmantots Ubuntu, taču lietotājam tas ir jāiespējo neatkarīgi. UFW ir izstrādāts, lai nodrošinātu viegli lietojamu saskarni cilvēkiem, kas nav pazīstami ar iptables ugunsmūra koncepcijām, ar tā ķēdēm un tabulām.

Tajā pašā laikā UFW vienkāršo sarežģītas iptables komandas, lai palīdzētu administratoram, kurš zina, ko viņš dara.

UFW ir palīgs un grafisko frontendu pamats.

Pārbaudēm izmantojiet ufw testus.

PR_SET_SECCOMP

AppArmor

SELinux

SELinux ir obligāta piekļuves kontroles sistēma, kuras pamatā ir inode jēdziens – failu sistēmas indeksa deskriptors.

Instalējot selinux pakotni, datora sāknēšanas laikā tiks veiktas nepieciešamās izmaiņas un pielāgojumi.

Pārbaudēm izmantojiet test-kernel-security.py.

SMACK

SMACK ir elastīga obligātā piekļuves kontroles sistēma, kuras pamatā ir inode jēdziens – failu sistēmas indeksa deskriptors.

Pārbaudēm izmantojiet test-kernel-security.py.

Failu sistēmas šifrēšana

LVM šifrēšana

Lietotāji, kuri izmanto alternatīvo instalēšanas programmu, var instalēt Ubuntu šifrētā LVM (loģiskā sējuma pārvaldība), kas šifrēs visus nodalījumus, tostarp mijmaiņas nodalījumu.

eCryptfs

Šifrētās mapes vispirms tika ieviestas Ubuntu 8.10 kā droša vieta svarīgas lietotāja informācijas glabāšanai.

Alternatīvā un servera diska instalēšanas programma ļauj iestatīt šifrētas mapes pirmajam lietotājam.

Ubuntu 9.04 tika paplašināts atbalsts mapju šifrēšanai, un lietotājs varēja šifrēt visu mājas mapi. Sākuma mapes šifrēšana tiek atbalstīta alternatīvajā instalēšanas programmā un darbvirsmas instalēšanas programmā, izmantojot parametru user-setup/encrypt-home=true.

Lietotāja telpas drošības stiprināšana

Daudzi drošības līdzekļi tiek ieviesti, izmantojot kompilācijas karogus, veidojot programmatūras pakotnes un kodolu.

Kaudzes aizsardzība

Karogs gcc -fstack-protector nodrošina steka pārpildes aizsardzību, ievietojot nelielu nejaušu skaitli kā marķieri. Šī metode apgrūtina steka pārpildīšanu dažādiem ekspluatācijas veidiem.

Nav liels skaits programmas nedarbojas labi, ja tās ir kompilētas ar šo parametru un tām ir atspējots -fstack-protector.

Pārbaudēm izmantojiet test-gcc-security.py.

Kaudzes aizsardzība

GNU C bibliotēkas kaudzes aizsardzība (automātiski, izmantojot ptmalloc un manuāli) nodrošina aizsardzību pret bojātu sarakstu/atsaistīšanu/dubultā bezmaksas/pārplūdes aizsardzību glibc atmiņas pārvaldniekā.

Tas novērš iespēju izpildīt patvaļīgu kodu, izmantojot kaudzes atmiņas pārplūdi, tādējādi sabojājot kaudzes reģiona struktūru.

Šī aizsardzība laika gaitā ir attīstījusies, pievienojot arvien vairāk aizsardzības iespēju. IN pašreizējais stāvoklis glibc 2.10 veiksmīgi pretojas pat smalkiem uzbrukuma apstākļiem.

Aptumšota rādītāja

Dažas glibc norādes tiek aptumšotas, izmantojot PTR_MANGLE/PTR_UNMANGLE makro iekšēji glibc, tādējādi novēršot rādītāju pārrakstīšanu izpildlaikā.

Izmantojiet test-glibc-security.py testus.

Nejaušs izvietojums adreses telpā. Adrešu telpas izkārtojuma nejaušināšana (ASLR)

ASLR ir ieviests kodolā, un ELF ielādētājs svarīgākās struktūras ievieto nejaušās adresēs: steks, kaudze, koplietojamās bibliotēkas utt.

Tas apgrūtina adrešu prognozēšanu, kad uzbrucējs mēģina izmantot ļaunprātīgas darbības.

ASLR tiek mainīts globāli, izmantojot /proc/sys/kernel/randomize_va_space. Pirms Ubuntu 8.10 vērtība bija "1" (iespējota). Vēlākos laidienos, kas ietver brk ASLR, vērtība ir iestatīta uz “2” (iespējota ar brk ASLR).

ASLR kaudze

Katras programmas izpildes rezultāti tiek ievietoti dažādās steka daļās. To ir grūti atrast atmiņā un uzbrukt programmai, pievienojot ļaunprātīgu slodzi.

Libs/mmap ASLR

Bibliotēkas tiek dinamiski ielādētas dažādās atmiņas vietās, tādējādi uzbrucējam ir grūti atrast atgriešanās punktu.

Aizsardzība ir pieejama no kodola 2.6.15 (Ubuntu 6.06).

Izpildīt ASLR

Programmas, kas izveidotas ar opciju "-fPIE -pie", tiek ielādētas dažādās atmiņas vietās. Tas apgrūtina uzbrukumu vai pāriet uz adresi, lai veiktu atmiņas modifikācijas uzbrukumu.

Aizsardzība ir pieejama no kodola 2.6.25 (Ubuntu 8.04 LTS).

brk ASLR

Tāpat kā exec ASLR, brk ASLR regulē atmiņas adreses starp exec un brk maziem atmiņas piešķiršanas pieprasījumiem. Kodolā 2.6.26 (Ubuntu 8.10) tika pievienota nejaušības noteikšanas brk exec atmiņas nobīde.

VDSO ASLR

Katru reizi, kad programma tiek palaista, rezultāti tiek ievietoti citā vdso. Pirmo reizi parādījās kodolā 2.6.18 (x86, PPC) un 2.6.22 (x86_64), bet netika iekļauts Ubuntu 6.10 dēļ COMPAT_VDSO, kas tika noņemts Ubuntu 8.04 LTS.

Aizsargā pret pārlēkšanas uz syscall uzbrukumiem.

Glibc 2.6 atbalstīja tikai x86. glibc 2.7 (Ubuntu 8.04 LTS) jau atbalsta x86_64 ASLR vdso.

Tie, kuriem nepieciešams senais statiskais pre-libc6 vdso, var izmantot "vdso=2" kā kodola parametru un atkal iegūt COMPAT_VDSO.

Ēka ar PIE

Visas programmas, kas ir kompilētas ar Position Independent Executables (PIE) ar opciju "-fPIE -pie", var izmantot exec ASLR aizsardzību.

Tas aizsargā pret "return-to-text" uzbrukumiem un padara parastos atmiņas modifikācijas uzbrukumus bezjēdzīgus.

PIE dēļ ir liels veiktspējas kritums (5–10%) arhitektūrās ar nelielu skaitu vispārējas nozīmes reģistru (piemēram, x86).

Tāpēc PIE tiek izmantots nelielam skaitam drošībai kritisku pakešu.

PIE for x86_64 nav veiktspējas problēmu, un tas tiek izmantots visām pakotnēm, taču ir nepieciešama labāka pārbaude.

Plastmasas maisiņš 8,04 LTS 9.04 9.10 10.04 LTS 10.10 11.04 11.10
openssh
apache2 --
saistīt9 --
openldap --
postfix --
krūzes --
Postgresql-8.3 --
samba --
baložu kūts --
dhcp3 --
ntp -- --
amavisd-jauns -- --
kalmārs -- --
cyrus-sasl2 -- --
eksim4 -- --
nagios3 -- --
nagios-spraudņi -- --
xinetd -- --
ipsec-rīki -- --
mysql-dfsg-5.1 -- --
liecināt -- -- --
firefox -- -- --
rūķīšu vadības centrs -- -- -- -- --
tiff -- -- -- -- --
totems -- -- -- -- --
qemu-kvm -- -- -- -- -- --
pidgin -- -- -- -- -- --

Veidojiet, izmantojot Fortify Source

Programmas, kas izveidotas ar "-D_FORTIFY_SOURCE=2" (un -O1 vai jaunāku versiju), nodrošina vairākas kompilācijas un izpildlaika aizsardzības iespējas pakalpojumā glibc:

  • izsaukumi "sprintf", "strcpy" ar to nenoteiktām robežām tiek aizstāti ar saistītām funkcijām ar ierobežotu N, ja bufera lielums ir zināms iepriekš. Tas pasargā no atmiņas pārplūdes.
  • uzbrukuma apturēšana, izmantojot virknes formātu "%n", ja virkne atrodas atmiņas segmentā ar rakstīšanas piekļuvi.
  • pieprasa pārbaudīt svarīgāko funkciju un argumentu atgriešanas kodus (piemēram, sistēmai, rakstiet, atveriet).
  • veidojot failu, ir nepieciešama skaidra maskas norāde.

Montāža ar RELRO

ELF programmu pievilkšana, lai cīnītos pret bootloader atmiņas pārrakstīšanu. Samazina GOT pārrakstīšanas stila uzbrukuma iespējamību.

Izmantojiet test-gcc-security.py testus.

Būvēšana ar BIND_NOW

Atzīmē ELF programmas, lai palaišanas laikā atrisinātu dinamiskās rakstzīmes, nevis pēc pieprasījuma, ko sauc arī par "tūlītējo saistīšanu".

Tas padara GOT pilnībā tikai lasāmu kombinācijā ar RELRO parametru.

Izmantojiet test-built-binaries.py testus.

Neizpildāmā atmiņa

Mūsdienu procesori aizsargā datu atmiņas apgabalus (kaudzi, kaudzi) no koda izpildes.

Šī tehnoloģija ir pazīstama kā Non-eXecute (NX) vai eXecute-Disable (XD). Aizsardzība samazina uzbrucēja spēju ievietot patvaļīgu kodu.

Aizsardzībai ir nepieciešams "PAE", kas arī ļauj adresēt vairāk nekā 3 GB RAM. 64 bitu un 32 bitu servera un vispārīgie pae kodoli jau ir izveidoti ar PAE.

Sākot ar Ubuntu 9.10, aizsardzība ir daļēji emulēta uz 32 bitu kodoliem procesoriem, kas neatbalsta NX aparatūru.

Pēc lejupielādes varat redzēt NX aizsardzības atbalsta līmeni:

  • Aparatūra: [ 0,000000] NX (Execute Disable) aizsardzība: aktīva
  • Emulācija:
    [ 0,000000] x86 segmenta ierobežojumu izmantošana, lai tuvinātu NX aizsardzību

Ja neredzat nekādu pieminējumu par NX, pārbaudiet BIOS iestatījumus. Sākot ar Ubuntu 11.04, kodols ignorē NX BIOS iestatījumus.

Ubuntu 9.04 un vecākas versijas
CPU atbalsta NX CPU neatbalsta NX
NX iespējots BIOS NX ir atspējots BIOS
i386 -386, -vispārējs kodols (ne-PAE) nx netiek atbalstīts nx netiek atbalstīts nx netiek atbalstīts
- servera kodols (PAE) reāls nx nx netiek atbalstīts nx netiek atbalstīts
amd64 jebkurš kodols (PAE) reāls nx nx netiek atbalstīts nx netiek atbalstīts

Izmantojiet test-kernel-security.py testus.

Aizsargājiet /proc/$pid/maps

Kad darbojas ASLR, pašreizējās procesu atmiņas kartes uzbrucējam kļūst ļoti vērtīgas. Kartes failu var lasīt tikai pats process un procesa īpašnieks.

Pieejams kopš kodola versijas 2.6.22.

Izmantojiet test-kernel-security.py testus.

Simbolisko saišu ierobežojumi

Visizplatītākais veids, kā izmantot šo defektu, ir piespiest root izmantot simbolisku saiti, ko izveidojis uzbrucējs, lai veiktu ļaunprātīgu darbību ar root tiesībām.

Sākot ar Ubuntu 10.10, simboliskajām saitēm direktorijos, piemēram, /tmp, nevar sekot, ja vien "sekotājs" un direktorija īpašnieks nav tas pats, kas ir simboliskās saites īpašnieks.

Šo mehānismu kontrolē Yama mehānisms /proc/sys/kernel/yama/protected_sticky_symlinks. Yama izstrādāja Canonical.

Izmantojiet test-kernel-security.py testus.

Cieto saišu ierobežojumi

Ja direktorijas /etc/ un /home/ atrodas vienā nodalījumā, parasts lietotājs var izveidot cieto saiti uz /etc/shadow failu ar paroles jaucējiem savā mājas mapē. Protams, ja noteiktu failu nevar lasīt vai ierakstīt neviens lietotājs, cietā saite uz šo failu būs tādas pašas tiesības, un tāpēc tās arī nebūs pieejamas šim lietotājam. Tomēr, izmantojot cietās saites, uzbrucējs var “ieslidināt” šādu failu lietojumprogrammai, kurai ir tiesības tam piekļūt.

Yama ļauj bloķēt šo uzbrukumu, neļaujot lietotājiem, kuriem nav atļaujas piekļūt avota failiem, izveidot cietās saites.

Uzvedību kontrolē /proc/sys/kernel/yama/protected_nonaccess_hardlinks Yama.

ptrace darbības jomu

Bez atbilstošas ​​Yama aizsardzības jebkurš process ar CAP_SYS_PTRACE privilēģiju var piekļūt visu procesu atmiņai ar vienu un to pašu UID. Izmantojot Yama, varat ierobežot piekļuves apjomu tikai atmiņai, kas pieder šī procesa pēcnācējiem.

Ubuntu 10.10 un vecākās versijās lietotāji nevar atkļūdot procesus, izmantojot ptrace, ja vien viņi nav tās pēcteči.

Uzvedību kontrolē /proc/sys/kernel/yama/ptrace_scope Yama.

Izmantojiet test-kernel-security.py testus.

Kodola aizsardzības stiprināšana

Iespējoti kodola aizsardzības mehānismi, lai padarītu uzbrukumus grūtākus.

0-adreses aizsardzība

Tā kā kodolam un lietotāja telpai ir kopīgas virtuālās atmiņas adreses, "NULL" atmiņa ir jāaizsargā un "lietotāja" atmiņa nevar sākties no adreses 0, tādējādi novēršot kodola adreses norādes novēršanu - "NULL dereference" uzbrukumu.

Aizsardzība ir pieejama no kodola 2.6.22, izmantojot sysctl parametru "mmap_min_addr". Sākot ar Ubuntu 9.04, mmap_min_addr ir iebūvēts kodolā - adrese 64k x86, 32k ARM.

Izmantojiet test-kernel-security.py testus.

Aizsargājiet /dev/mem

Dažām lietojumprogrammām, piemēram, Xorg, ir nepieciešama tieša piekļuve fiziskā atmiņa lietotāja telpā. Īpašais fails /dev/mem nodrošina šādu piekļuvi.

Agrāk, izmantojot šo failu, bija iespējams skatīt un modificēt kodola atmiņu, ja uzbrucējs ieguva root piekļuvi.

Opcija CONFIG_STRICT_DEVMEM tika ieviesta, lai bloķētu šādus mēģinājumus (opcija sākotnēji tika saukta par CONFIG_NONPROMISC_DEVMEM).

Izmantojiet test-kernel-security.py testus.

/dev/kmem ir atspējota

Mūsdienu lietotājam /dev/kmem nav aktuāls, jo to galvenokārt izmantoja uzbrucēji, lai lejupielādētu rootkit.

CONFIG_DEVKMEM tagad ir iestatīts uz "n".

Fails /dev/kmem pastāv Ubuntu 8.04 LTS līdz Ubuntu 9.04 laidienos, taču tas nebija saistīts ar neko kodolā un netiek izmantots.

Izmantojiet test-kernel-security.py testus.

Moduļa ielādes bloķēšana

Ubuntu 8.04 LTS un vecākās versijās bija iespējams noņemt CAP_SYS_MODULES līdzekli un tādējādi novērst jaunu kodola moduļu ielādi.

Tas bija vēl viens aizsardzības līmenis, lai izvairītos no sakņu komplektu lejupielādes, kad tiek startēta apdraudēta sistēma.

Kodolā 2.6.25 (Ubuntu 8.10) šī funkcionalitāte pazuda. Sākot ar Ubuntu 9.10, tagad ir iespējams atkārtoti atspējot moduļus, iestatot /proc/sys/kernel/modules_disabled uz "1".

Izmantojiet test-kernel-security.py testus.

Tikai lasāmu datu sadaļa

Kodola datu sadaļas atzīmēšana kā tikai lasāma nodrošina, ka izmaiņas tiek bloķētas. Tas palīdz aizsargāt pret dažiem sakņu komplektiem. Iespējots, izmantojot opciju CONFIG_DEBUG_RODATA.

Izmantojiet test-kernel-security.py testus.

Kodola steku aizsardzība

Tāpat kā ELF programmu aizsardzība lietotāja telpā, kodols var aizsargāt savu iekšējo steku, izmantojot opciju CONFIG_CC_STACKPROTECTOR.

Izmantojiet test-kernel-security.py testus.

RO/NX modulis

Šis līdzeklis paplašina CONFIG_DEBUG_RODATA, iekļaujot ierobežojumus ielādētajiem kodola moduļiem. Tas palīdz novērst ļaunprātīgas darbības. Iespējots, izmantojot parametru CONFIG_DEBUG_MODULE_RONX.

Izmantojiet test-kernel-security.py testus.

Kodola adreses parādīšanas ierobežojums

Kad uzbrucēji, izmantojot kodola ievainojamības, mēģina izstrādāt jebkādu izmantošanu, viņiem ir jāzina iekšējo kodola struktūru atrašanās vieta.

Kodola adreses kā svarīga informācija parastajiem lietotājiem nav pieejamas.

Sākot ar Ubuntu 11.04, /proc/sys/kernel/kptr_restrict ir iestatīts uz "1" un bloķē kodola adreses informācijas noplūdi.

Turklāt, dažādi faili un direktorijus lasa tikai sakne
/boot/vmlinuz*, /boot/System.map*, /sys/kernel/debug/, /proc/slabinfo

Izmantojiet test-kernel-security.py testus.

Reto protokolu melnais saraksts

Parasti kodols ļauj pēc pieprasījuma automātiski ielādēt visus tīkla protokolus, izmantojot makro MODULE_ALIAS_NETPROTO(PF_...).

Tā kā daudzi no šiem protokoliem ir novecojuši, reti un pat maz izmantojami parasts lietotājs Ubuntu un var saturēt nezināmas ievainojamības, tās ir iekļautas melnajā sarakstā, sākot no Ubuntu 11.04.

Melnajā sarakstā: ax25, netrom, x25, rose, decnet, econet, rds un af_802154.

Ja ir nepieciešams kāds no šiem protokoliem, tos var ielādēt, izmantojot modprobe vai rediģējot /etc/modprobe.d/blacklist-rare-network.conf.

Izmantojiet test-kernel-security.py testus.

Sistēmas zvanu filtrēšana

Programmas var filtrēt kodola zvanus, izmantojot seccomp_filter.

Tas tiek darīts konteineros vai smilšu kastēs, lai vēl vairāk ierobežotu potenciāli neuzticamu programmatūru.

Izmantojiet test-kernel-security.py testus.

Apakšējā līnija

Pēc izlasīšanas ir skaidrs, ka in Canonical nopietni uztver Ubuntu drošību. Divi projekti, AppArmor un Yama, jau sen ir saistīti ar Ubuntu un palīdz uzlabot drošību. Ubuntu pēc noklusējuma neatver nevajadzīgus portus-durvis tīklā un negaida savienojumus-piedzīvojumus. AppArmor profili ir izveidoti galvenajām programmām, kas darbojas ar tīklu, kas kontrolē programmas.

Jūsu dators būs drošībā ar Ubuntu!

Ikgadējā LinuxCon konferencē 2015. gadā GNU/Linux kodola radītājs Linuss Torvalds dalījās ar savu viedokli par sistēmas drošību. Viņš uzsvēra, ka ir nepieciešams mazināt noteiktu kļūdu ietekmi ar kompetentu aizsardzību, lai, ja kāds komponents nedarbojas, nākamais slānis nosedz problēmu.

Šajā materiālā mēs centīsimies aptvert šo tēmu no praktiskā viedokļa:

7. Instalējiet ugunsmūrus

Nesen parādījās jauna ievainojamība, kas ļauj DDoS uzbrukt serveriem, kuros darbojas Linux. 2012. gada beigās ar versiju 3.6 parādījās kļūda sistēmas kodolā. Ievainojamība ļauj hakeriem injicēt vīrusus lejupielādes failos, tīmekļa lapās un atvērt Tor savienojumus, un uzlaušana neprasa daudz pūļu – derēs IP krāpšanās metode.

Maksimālais kaitējums šifrētiem HTTPS vai SSH savienojumiem ir savienojuma pārtraukšana, taču uzbrucējs neaizsargātā trafikā var ievietot jaunu saturu, tostarp ļaunprātīgu programmatūru. Ugunsmūris ir piemērots aizsardzībai pret šādiem uzbrukumiem.

Bloķējiet piekļuvi, izmantojot ugunsmūri

Ugunsmūris ir viens no svarīgākajiem rīkiem nevēlamas ienākošās trafika bloķēšanai. Mēs iesakām atļaut tikai patiešām nepieciešamo satiksmi un pilnībā bloķēt visus pārējos.

Pakešu filtrēšanai lielākajai daļai Linux izplatījumu ir iptables kontrolieris. To parasti izmanto pieredzējuši lietotāji, un vienkāršotai iestatīšanai varat izmantot UFW utilītas Debian/Ubuntu vai FirewallD programmā Fedora.

8. Atspējojiet nevajadzīgos pakalpojumus

Virdžīnijas universitātes eksperti iesaka atspējot visus pakalpojumus, kurus neizmantojat. Daži fona procesi ir iestatīti uz automātisku palaišanu un darbojas, līdz sistēma tiek izslēgta. Lai konfigurētu šīs programmas, jums jāpārbauda inicializācijas skripti. Pakalpojumus var palaist, izmantojot inetd vai xinetd.

Ja jūsu sistēma ir konfigurēta, izmantojot inetd, tad /etc/inetd.conf failā varat rediģēt sarakstu fona programmas“dēmoni”, lai atspējotu pakalpojuma ielādi, rindas sākumā vienkārši ievietojiet zīmi “#”, pārvēršot to no izpildāmā par komentāru.

Ja sistēma izmanto xinetd, tad tās konfigurācija būs /etc/xinetd.d direktorijā. Katrs direktorija fails definē pakalpojumu, kuru var atspējot, norādot disable = yes, kā šajā piemērā:

Pakalpojuma pirksts ( socket_type = straume gaidīt = nav lietotāja = neviens serveris = /usr/sbin/in.fingerd disable = jā )
Ir arī vērts pārbaudīt, vai nav pastāvīgi procesi, kurus nepārvalda inetd vai xinetd. Startēšanas skriptus var konfigurēt direktorijās /etc/init.d vai /etc/inittab. Pēc izmaiņu veikšanas palaidiet komandu zem saknes konta.

/etc/rc.d/init.d/inet restart

9. Aizsargājiet serveri fiziski

Nav iespējams pilnībā aizsargāties pret uzbrucēja uzbrukumiem ar fizisku piekļuvi serverim. Tāpēc ir nepieciešams nodrošināt telpu, kurā atrodas jūsu sistēma. Datu centri nopietni uzrauga drošību, ierobežo piekļuvi serveriem, uzstāda drošības kameras un piešķir pastāvīgu drošību.

Lai iekļūtu datu centrā, visiem apmeklētājiem ir jāveic noteiktas autentifikācijas darbības. Tāpat ir ļoti ieteicams izmantot kustības sensorus visās centra zonās.

10. Aizsargājiet serveri no nesankcionētas piekļuves

Neatļauta piekļuves sistēma jeb IDS apkopo sistēmas konfigurācijas un failu datus un tālāk salīdzina šos datus ar jaunām izmaiņām, lai noteiktu, vai tās ir kaitīgas sistēmai.

Piemēram, rīki Tripwire un Aide apkopo datu bāzi sistēmas faili un aizsargājiet tos ar atslēgu komplektu. Psad tiek izmantots izsekošanai aizdomīga darbība izmantojot ugunsmūra atskaites.

Bro ir paredzēts tīkla uzraudzībai, aizdomīgu darbību modeļu izsekošanai, statistikas apkopošanai, sistēmas komandu izpildei un brīdinājumu ģenerēšanai. RKHunter var izmantot, lai aizsargātu pret vīrusiem, visbiežāk rootkit. Šī utilīta pārbauda jūsu sistēmu, salīdzinot ar zināmo ievainojamību datu bāzi, un var identificēt nedrošos iestatījumus lietojumprogrammās.

Secinājums

Iepriekš minētie rīki un iestatījumi palīdzēs daļēji aizsargāt sistēmu, taču drošība ir atkarīga no jūsu uzvedības un situācijas izpratnes. Bez piesardzības, piesardzības un pastāvīgas pašizglītošanās visi aizsardzības pasākumi var nedarboties.

Sveiki visiem... Visiem iesācēju administratoriem zem Ubuntu ir uzdevums iestatīt tīkla saskarnes (tīkls, tīkla kartes) Šajā rakstā es jums parādīšu, kā to izdarīt... Tas tiek darīts ļoti vienkārši...

Ja jūs kaut kā nokavējāt tīkla iestatīšanu vai saskatījāt grūtības ar izplatīšanas instalēšanu, tad tagad mēs to darīsim manuāli. Un tātad mums ir uzstādīts distribūciju un gaida mūs uzbrukumā... Jākonfigurē 2 tīkla kartes..... Viens no mums ir vērsts pret pakalpojumu sniedzēju, bet otrs pret vietējo tīklu. Tūlīt vienosimies un norādīsim mūsu saskarnes un adreses.

eth0— 192.168.0.1 (pieņemsim, ka šī ir pakalpojumu sniedzēja izsniegtā adrese) Interfeiss, kas aplūko internetu (nodrošinātājs)
eth1— 10.0.0.1 (adrese, kuru mēs vēlamies piešķirt šim interfeisam) Interfeiss, kas vērsts pret vietējo tīklu

Vispirms pārbaudīsim, kuras saskarnes mēs jau esam palaiduši ar komandu ifconfig Jūs redzēsit kaut ko līdzīgu šim (tikai ar jūsu datiem, nevis xxxxx)

Eth0 saites encap:Ethernet HWaddr хх:хх:хх:хх:хх:хх inet adr:xxx.xxx.xxx.xxx Bcast:xxx.xxx.xxxx.xxx Maska:255.255.255.2xxx:5et. :xxx:xxxx/64 Darbības joma: Saite UP APRAIDE, DARBOJAS MULTICAST MTU:1500 Metrika:1 RX paketes:31694097 kļūdas:0 atmestas:0 pārtēriņi:0 kadrs:0 TX paketes:15166512 kļūdas:0 pārvadītas:0 0 sadursmes:0 txqueuelen:100 RX baiti:2215593127 (2,2 GB) TX baiti:1577680249 (1,5 GB) Atmiņa:b8820000-b8840000 eth1 Saites encap:Ethernet Hxxxxdrxx:x:xxxxxet 0.1 Bcast: 10.0.0.255 Maska: 255.255.255.0 inet6 xxxx: xxxx::xxxx:xxxf:xxx:xxx/64 Darbības joma: Saite UP APRAIDE, DARBOJAS MULTICAST MTU: 1500 metrika:1:1 RX pakete 0:1:1 pakāpe 2:0:1 :0 rāmis: 0 TX paketes: 21539638 kļūdas: 0 atmests: 0 pārtēriņi: 0 nesējs: 0 sadursmes: 0 txqueuelen: 100 RX baiti: 1262641422 (1,2 GB) TX baiti: 1922838889 (1,9 GB) atmiņa: lo2800088 GB encap:Local loopback inet adrs:127.0.0.1 Maska:255.0.0.0 inet6 adrs: ::1/128 Darbības joma:Host UP LOOPBACK RONNING MTU:16436 Metric:1 RX packets:3823 errors:0:0 overrun 0 TX paketes: 3823 kļūdas: 0 atmestas: 0 pārtēriņi: 0 nesējs: 0 sadursmes: 0 txqueuelen: 0 RX baiti: 717663 (717,6 KB) TX baiti: 717663 (717,6 KB)

Ja viena no saskarnēm netiek parādīta, tas ir labi. Tas ir vienkārši atspējots, ieslēdzam to ar komandu sudo ifconfig eth1 up(eth1 vietā ierakstiet savu interfeisu, ja jums ir 2 tīkla kartes, tad ir tikai 2 saskarnes: eth0 un eth1) Un tāpēc mēs iespējojam savu interfeisu:

sudo ifconfig eth1 up

Un tāpēc sāksim iestatīšanu.

Piešķirsim eth0 interfeisam pakalpojumu sniedzēja izsniegto IP adresi ar šādu komandu:

sudo ifconfig eth1 inet 192.168.0.2

Un norādiet tīkla masku:

sudo ifconfig eth0 tīkla maska ​​255.255.255.0

Šādi veiktie iestatījumi tiek atiestatīti pēc servera pārstartēšanas.
Lai tas nenotiktu, jums ir jāmaina iestatījumi konfigurācijas fails tīkla saskarnes. Šim nolūkam ir nepieciešamas saknes tiesības. Iegūsim tiesības Sakne ar šādu komandu:

sudo su

Tīkla saskarņu konfigurācijas fails atrodas vietnē /etc/network/interfaces Lai to rediģētu, mēs izmantojam Nano redaktoru (varat izmantot savu redaktoru) Man tas patīk Nano

nano /etc/network/interfaces

Mēs redzam sekojošo:

# Šis fails apraksta jūsu sistēmā pieejamās tīkla saskarnes # un kā tos aktivizēt. Lai iegūtu papildinformāciju, skatiet saskarnes (5). # Atgriezeniskā tīkla saskarne auto lo iface lo inet loopback # Primārais tīkla interfeiss//Primārais tīkla interfeiss auto eth0//Šo atribūtu piešķiršana tīkla interfeisam iface eth0 inet statisks//Automātiski iespējot tīkla interfeisu adrese 192.168.0.2// mūsu IP adrese tīkla karte(izsniedz pakalpojumu sniedzējs) tīkla maska ​​255.255.255.0//Tīkla maska, kurā atrodas mūsu IP tīkls 192.168.0.0//Visa diapazona tīkls raidījums 192.168.0.255//Maks. adrešu skaits vārteja 192.168.0.1//Vārteja # dns-* opcijas ir ieviestas ar pakotni resolvconf, ja tā ir instalēta

Ir nepieciešams to samazināt līdz šādai formai

# Šajā failā ir aprakstītas jūsu sistēmā pieejamās tīkla saskarnes # un to aktivizēšana. Lai iegūtu papildinformāciju, skatiet saskarnes (5). # Atpakaļcilpas tīkla interfeiss auto lo iface lo inet loopback # Primārā tīkla saskarne auto eth0 iface eth0 inet statiskā adrese 192.168.0.2 tīkla maska ​​255.255.255.0 tīkls 192.168.0.0 vārteja 192.168.0.0 pakotne 192.168.0.0, resol pakotne 192.168.0.1. ja ir instalēti dns-nameservers 192.168.22.22 192.168.33.33 #Interfeiss, kas aplūko lokālo tīklu auto eth1 iface eth1 inet statisks adrese 10.0.0.1 tīkla maska ​​255.255.255.0

Saglabājiet izmaiņas, nospiežot Ctrl + O, un izejiet, nospiežot Ctrl + X

Adreses DNS serveri var iestatīt failā /etc/network/interfaces, bet DNS servera adreses Ubuntu tiek pārvaldītas, izmantojot /etc/resolv.conf failu; man tas izskatās šādi:

vārdu serveris xx.xx.xx.xx vārdu serveris xx.xx.xx.xx

Konfigurēsim DNS; lai to izdarītu, rindā ievadiet šādu komandu:

Sudo nano /etc/resolv.conf # Jūsu pakalpojumu sniedzēja DNS serveru nosaukumu servera хх.ххх.ххх.ххх nosaukumu servera ххх.ххх.хх.ххх IP adreses

Ietaupīsim Ctrl+O un mēs ejam ārā Ctrl+x jums arī jārestartē tīkls ar šādu komandu.

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

Ievads

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

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

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

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

Parole!

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

$ openssl rand -base64 6

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

$ pwgen -Bs 8 1

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

Šifrēsim

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

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

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

$ sudo apt-get instalējiet ecryptfs-utils

Un faktiski iespējojiet šifrēšanu:

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

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

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

# ecryptfs-migrate-home -u vasya

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

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

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

$ sudo rm -r /home/vasya.*

Nosedz mūsu pēdas

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

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

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

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

BruteForce uzbrukumu novēršana

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

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

# apt-get install fail2ban

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

# /etc/init.d/fail2ban restart

Draudi no ārpuses

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

$ sudo apt-get instalēt ipkungfu

Konfigurācijas rediģēšana:

$ sudo vi /etc/ipkungfu/ipkungfu.conf # Vietējais tīkls, ja ir, ierakstiet tīkla adresi kopā ar masku, ja nē, ierakstiet atgriezeniskās saites adresi LOCAL_NET="127.0.0.1" # Mūsu iekārta nav vārteja GATEWAY=0 # Aizveriet nepieciešamos portus FORBIDDEN_PORTS="135 137 139" # Bloķēt pingus, 90% bērnu nokritīs šajā posmā BLOCK_PINGS=1 # Aizdomīgu pakešu nomešana (dažādi plūdu veidi) SUSPECT="DROP" # "Nepareizu" pakešu nomešana (daži DoS veidi) KNOWN_BAD="DROP" # Skenēšana ostas? Thrash! PORT_SCAN="DROP"

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

$sudo ipkungfu

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

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

Aktivizējiet izmaiņas:

$ sudo sysctl -p

Ielaušanās noteikšana

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

$ sudo apt-get install snort $ snort -D

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

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

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

Kāds ir mantojis...

Kāds īpaši gudrs spēja apiet mūsu ugunsmūri, tikt garām Snortam, tikt saknes tiesības sistēmā un tagad regulāri piesakās sistēmā, izmantojot uzstādītas aizmugures durvis. Nav labi, aizmugurējās durvis ir jāatrod, jānoņem un jāatjaunina sistēma. Lai meklētu rootkit un backdoor, mēs izmantojam rkhunter:

$ sudo apt-get instalējiet rkhunter

Sāksim:

$ sudo rkhunter -c --sk

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

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

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

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

$ sudo rkhunter -- atjauninājums

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

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

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

$ sudo apt-get install debsums

Izpildīsim pārbaudi:

$ sudo debsums -ac

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



Ārā

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

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

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

Vārdu serveris 156.154.70.22 vārdu serveris 156.154.71.22

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

$ sudo chattr +i /etc/resolv.conf

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

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

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

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

$ vi /etc/resolv.conf nameserver 127.0.0.1

Sāksim dēmonu:

$ sudo dnscrypt-proxy — daemonize

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

Sīpolu maršrutēšana

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

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

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

$ sudo apt-get install tor

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


INFORMĀCIJA

Tor Android versiju sauc par Orbot.

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

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

Cīņa pret plūdiem

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

Savienojumu skaita skaitīšana uz vienu konkrēta osta:

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

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

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

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

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

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

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

Mēs pārtraucam uzbrucēja savienojumus:

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

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

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

Atspējot atbildes uz ICMP ECHO pieprasījumiem:

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

secinājumus

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

Ikgadējā LinuxCon konferencē 2015. gadā GNU/Linux kodola radītājs Linuss Torvalds dalījās ar savu viedokli par sistēmas drošību. Viņš uzsvēra, ka ir nepieciešams mazināt noteiktu kļūdu ietekmi ar kompetentu aizsardzību, lai, ja kāds komponents nedarbojas, nākamais slānis nosedz problēmu.

Šajā materiālā mēs centīsimies aptvert šo tēmu no praktiskā viedokļa:

7. Instalējiet ugunsmūrus

Nesen parādījās jauna ievainojamība, kas ļauj DDoS uzbrukt serveriem, kuros darbojas Linux. 2012. gada beigās ar versiju 3.6 parādījās kļūda sistēmas kodolā. Ievainojamība ļauj hakeriem injicēt vīrusus lejupielādes failos, tīmekļa lapās un atvērt Tor savienojumus, un uzlaušana neprasa daudz pūļu – derēs IP krāpšanās metode.

Maksimālais kaitējums šifrētiem HTTPS vai SSH savienojumiem ir savienojuma pārtraukšana, taču uzbrucējs neaizsargātā trafikā var ievietot jaunu saturu, tostarp ļaunprātīgu programmatūru. Ugunsmūris ir piemērots aizsardzībai pret šādiem uzbrukumiem.

Bloķējiet piekļuvi, izmantojot ugunsmūri

Ugunsmūris ir viens no svarīgākajiem rīkiem nevēlamas ienākošās trafika bloķēšanai. Mēs iesakām atļaut tikai patiešām nepieciešamo satiksmi un pilnībā bloķēt visus pārējos.

Pakešu filtrēšanai lielākajai daļai Linux izplatījumu ir iptables kontrolieris. To parasti izmanto pieredzējuši lietotāji, un vienkāršotai iestatīšanai varat izmantot UFW utilītas Debian/Ubuntu vai FirewallD programmā Fedora.

8. Atspējojiet nevajadzīgos pakalpojumus

Virdžīnijas universitātes eksperti iesaka atspējot visus pakalpojumus, kurus neizmantojat. Daži fona procesi ir iestatīti uz automātisku palaišanu un darbojas, līdz sistēma tiek izslēgta. Lai konfigurētu šīs programmas, jums jāpārbauda inicializācijas skripti. Pakalpojumus var palaist, izmantojot inetd vai xinetd.

Ja jūsu sistēma ir konfigurēta, izmantojot inetd, tad /etc/inetd.conf failā varat rediģēt fona “dēmonu” programmu sarakstu; lai atspējotu pakalpojuma ielādi, rindas sākumā ievietojiet zīmi “#”, pārvēršot to no izpildāmā uz komentāru.

Ja sistēma izmanto xinetd, tad tās konfigurācija būs /etc/xinetd.d direktorijā. Katrs direktorija fails definē pakalpojumu, kuru var atspējot, norādot disable = yes, kā šajā piemērā:

Pakalpojuma pirksts ( socket_type = straume gaidīt = nav lietotāja = neviens serveris = /usr/sbin/in.fingerd disable = jā )
Ir arī vērts pārbaudīt, vai nav pastāvīgi procesi, kurus nepārvalda inetd vai xinetd. Startēšanas skriptus var konfigurēt direktorijās /etc/init.d vai /etc/inittab. Pēc izmaiņu veikšanas palaidiet komandu zem saknes konta.

/etc/rc.d/init.d/inet restart

9. Aizsargājiet serveri fiziski

Nav iespējams pilnībā aizsargāties pret uzbrucēja uzbrukumiem ar fizisku piekļuvi serverim. Tāpēc ir nepieciešams nodrošināt telpu, kurā atrodas jūsu sistēma. Datu centri nopietni uzrauga drošību, ierobežo piekļuvi serveriem, uzstāda drošības kameras un piešķir pastāvīgu drošību.

Lai iekļūtu datu centrā, visiem apmeklētājiem ir jāveic noteiktas autentifikācijas darbības. Tāpat ir ļoti ieteicams izmantot kustības sensorus visās centra zonās.

10. Aizsargājiet serveri no nesankcionētas piekļuves

Neatļauta piekļuves sistēma jeb IDS apkopo sistēmas konfigurācijas un failu datus un tālāk salīdzina šos datus ar jaunām izmaiņām, lai noteiktu, vai tās ir kaitīgas sistēmai.

Piemēram, Tripwire un Aide rīki apkopo sistēmas failu datu bāzi un aizsargā tos, izmantojot atslēgu komplektu. Psad tiek izmantots, lai uzraudzītu aizdomīgas darbības, izmantojot ugunsmūra ziņojumus.

Bro ir paredzēts tīkla uzraudzībai, aizdomīgu darbību modeļu izsekošanai, statistikas apkopošanai, sistēmas komandu izpildei un brīdinājumu ģenerēšanai. RKHunter var izmantot, lai aizsargātu pret vīrusiem, visbiežāk rootkit. Šī utilīta pārbauda jūsu sistēmu, salīdzinot ar zināmo ievainojamību datu bāzi, un var identificēt nedrošos iestatījumus lietojumprogrammās.

Secinājums

Iepriekš minētie rīki un iestatījumi palīdzēs daļēji aizsargāt sistēmu, taču drošība ir atkarīga no jūsu uzvedības un situācijas izpratnes. Bez piesardzības, piesardzības un pastāvīgas pašizglītošanās visi aizsardzības pasākumi var nedarboties.