Turpinot iepriekšējo apmācību Kā nodrošināt un nocietināt CentOS serverī, šajā rakstā mēs apspriedīsim citus drošības padomus, kas tiks parādīti zemāk esošajā kontrolsarakstā.
Ja setuid un setgid biti ir iestatīti binārajās programmās, šīs komandas var izpildīt uzdevumus ar citām lietotāja vai grupas tiesībām, piemēram, sakne privilēģijas, kas var atklāt nopietnas drošības problēmas.
Bieži vien bufera pārsniegšanas uzbrukumi var izmantot šādus izpildāmos bināros failus, lai palaistu neatļautu kodu ar saknes enerģijas lietotāja tiesībām.
# find / -path / proc -prune -o -type f \ (-perm -4000 -o -perm -2000 \) -exec ls -l {} \;
Lai atspējotu setuid bit izpildiet zemāk esošo komandu:
# chmod u-s/path/to/binary_file.
Lai atiestatītu setgid bitu, palaidiet zemāk esošo komandu:
# chmod g-s/path/to/binary_file.
Faili vai katalogi, kas nepieder derīgam kontam, ir jāizdzēš vai jāpiešķir ar lietotāja un grupas atļaujām.
Izdod tālāk atrast komandu lai uzskaitītu failus vai direktorijus bez lietotāja un grupas.
# find / -nouser -o -nogroup -exec ls -l {} \;
Pasaulē rakstāma faila glabāšana sistēmā var būt bīstama, jo ikviens var tos modificēt. Izpildiet tālāk norādīto komandu, lai parādītu vārdos rakstāmus failus, izņemot Saites, kas vienmēr ir rakstāmi visā pasaulē.
# atrast / -path / proc -prune -o -perm -2! -tipa l –ls.
Izveidojiet vismaz astoņu rakstzīmju paroli. Parolē jābūt cipariem, speciālajām rakstzīmēm un lielajiem burtiem. Izmantot pwmake lai ģenerētu 128 bitu paroli no /dev/urandom failu.
# 128.
Piespiediet sistēmu izmantot spēcīgas paroles, pievienojot zemāk esošo rindiņu /etc/pam.d/passwd failu.
nepieciešama parole pam_pwquality.so mēģiniet vēlreiz = 3.
Pievienojot iepriekš minēto rindu, ievadītajā parolē nedrīkst būt vairāk par 3 rakstzīmes monotoniskā secībā, piemēram, abcd, un vairāk nekā 3 identiskas rakstzīmes pēc kārtas, piemēram, 1111.
Piespiest lietotājus izmantot paroli ar minimālo garumu 8 rakstzīmes, ieskaitot visas rakstzīmju klases, rakstzīmju secības un secīgu rakstzīmju stiprības pārbaude pievieno /etc/security/pwquality.conf failu.
Minlen = 8. minsklase = 4. maksimālā secība = 3. maksimālais atkārtojums = 3.
chage komanda var izmantot lietotāja paroles novecošanai. Lai iestatītu lietotāja paroles derīguma termiņu 45 dienas, izmantojiet šādu komandu:
# chage -M 45 lietotājvārds.
Lai atspējotu paroles derīguma termiņu, izmantojiet komandu:
# chage -M -1 lietotājvārds.
Piespiediet tūlītēju paroles derīguma termiņa beigām (lietotājam ir jāmaina parole nākamajā pieteikšanās reizē), izpildot šādu komandu:
# chage -d 0 lietotājvārds.
Lietotāju kontus var bloķēt, izpildot passwd vai usermod komanda:
# passwd -l lietotājvārds. # usermod -L lietotājvārds.
Lai atbloķētu kontus, izmantojiet -u
iespēja par passwd komandu un -U
iespēja par usermod.
Lai neļautu sistēmas kontam (parastajam kontam vai pakalpojuma kontam) piekļūt bash apvalkam, nomainiet saknes apvalku uz /usr/sbin/nologin vai /bin/false iekš /etc/passwd failu, izdodot tālāk norādīto komandu:
# usermod -s /bin /nepatiess lietotājvārds.
Lai mainītu apvalku, veidojot jaunu lietotāju, izdodiet šādu komandu:
# useradd -s/usr/sbin/nologin lietotājvārds.
vlock ir programma, ko izmanto, lai bloķētu vienu vairāku sesiju Linux konsolē. Instalējiet programmu un sāciet bloķēt termināļa sesiju, izpildot tālāk norādītās komandas.
# yum instalēt vlock. # vloks.
Izmantojot centralizētu autentifikācijas sistēmu, var ievērojami vienkāršot kontu pārvaldību un kontroli. Pakalpojumi, kas var piedāvāt šāda veida kontu pārvaldību, ir IPA Server, LDAP, Kerberos, Microsoft Active Directory, Nis, Samba ADS vai Winbind.
Daži no šiem pakalpojumiem pēc noklusējuma ir ļoti aizsargāti ar kriptogrāfijas protokoliem un simetriskās atslēgas kriptogrāfiju, piemēram, Kerberos.
Izmantojot blockdev utilītu, jūs varat piespiest visus noņemamos datu nesējus uzstādīt kā tikai lasāmus. Piemēram, izveidojiet jaunu udev nosaukts konfigurācijas fails 80 lasīšanas tikai usb.noteikumi iekš /etc/udev/rules.d/ direktoriju ar šādu saturu:
APAKŠSISTĒMA == "bloķēt", ATTRS {noņemams} == "1", RUN {program} = "/sbin/blockdev --setro %N"
Pēc tam piemērojiet noteikumu ar zemāk esošo komandu:
# udevadm kontrole -pārlādēt.
Lai saknes konts nevarētu pieteikties sistēmā, izmantojot visas konsoles ierīces (TTY), izdzēsiet securetty faila saturu, ierakstot šādu komandu termināļa uzvedni kā root.
# cp /etc /securetty /etc/securetty.bak. # cat /dev /null> /etc /securetty.
Atcerieties, ka šis noteikums neattiecas uz SSH pieteikšanās sesijām
Lai novērstu root pieteikšanos, izmantojot SSH, rediģējiet failu /etc/ssh/sshd_config un pievienojiet zemāk esošo rindu:
PermitRootLogin nr.
Piekļuves kontroles saraksti var definēt piekļuves tiesības vairāk nekā tikai vienam lietotājam vai grupai un var noteikt tiesības programmām, procesiem, failiem un direktorijiem. Ja direktorijā iestatāt ACL, tā pēcteči automātiski mantos tās pašas tiesības.
Piemēram,
# setfacl -m u: user: rw fails. # getfacl fails.
SELinux Linux kodola uzlabošana īsteno Obligātās piekļuves kontroles (MAC) politika, ļaujot lietotājiem definēt drošības politiku, kas nodrošina detalizētas atļaujas visiem lietotājiem, programmām, procesiem, failiem un ierīcēm.
Kodola piekļuves kontroles lēmumi ir balstīti uz visu ar drošību saistīto kontekstu, nevis uz autentificētu lietotāja identitāti.
Dabūt Selinux statuss un izpildes politika palaidiet tālāk norādītās komandas:
# getenforce. # setenforce 1. # sestatus.
Uzstādīt policycoreutils-pitons pakotne, kas nodrošina papildu Python utilītas darbībai SELinux: audit2allow, revīzija2 kāpēc, chcat, un semanāža.
Lai parādītu visas Būla vērtības kopā ar īsu aprakstu, izmantojiet šādu komandu:
# semanage boolean -l.
Piemēram, lai parādītu un iestatītu vērtību httpd_enable_ftp_server, palaidiet zemāk esošo komandu:
# getsebool httpd_enable_ftp_server.
Lai boolean vērtība saglabātu visu restartēšanu, norādiet -P
iespēja uz setsebool, kā parādīts šādā piemērā:
# setsebool -P Ieslēgts httpd_enable_ftp_server.
Konfigurēt rsyslog dēmonu, lai nosūtītu sensitīvu komunālo pakalpojumu žurnāla ziņojumus uz centralizētu žurnālu serveri. Arī uzraudzīt žurnāla failus, izmantojot logwatch utilītu.
Žurnālu ziņojumu sūtīšana uz attālo serveri nodrošina, ka, tiklīdz sistēma ir apdraudēta, ļaunprātīgie lietotāji nevar pilnībā slēpt savu darbību, vienmēr atstājot pēdas attālos žurnāla failos.
Iespējojiet procesu uzskaiti, instalējot psacct lietderība un izmantot lastcomm komandu, lai parādītu informāciju par iepriekš izpildītajām komandām, kas ierakstītas sistēmas uzskaites failā un sa lai apkopotu informāciju par iepriekš izpildītajām komandām, kas ierakstīta sistēmas uzskaites failā.
Lai aizsargātu sistēmu, izmantojiet šādus kodola parametru noteikumus:
net.ipv4.conf.all.accept_source_route = 0.
ipv4.conf.all.forwarding = 0.
net.ipv6.conf.all.disable_ipv6 = 1. net.ipv6.conf.default.disable_ipv6 = 1. net.ipv6.conf.lo.disable_ipv6 = 1.
Atspējojiet ICMP novirzīto pakešu pieņemšanu un sūtīšanu, ja vien tas nav īpaši nepieciešams.
net.ipv4.conf.all.accept_redirects = 0. net.ipv4.conf.all.secure_redirects = 0. net.ipv4.conf.all.send_redirects = 0.
net.ipv4.conf.all.rp_filter = 2.
Ignorēt visus ICMP atbalss pieprasījumus (iestatīts uz 1, lai iespējotu)
net.ipv4.icmp_echo_ignore_all = 0.
Vienmēr lietojiet VPN pakalpojumi pārvadātājiem, lai attālināti piekļūtu LAN telpām internetā. Šāda veida pakalpojumus var konfigurēt, izmantojot bezmaksas atvērtā koda risinājumu, piemēram, OpenVPNvai izmantojot patentētu risinājumu, piemēram, Cisco VPN (instalēt vpnc komandrindas utilīta, ko nodrošina Epel krātuves).
Novērtējiet sistēmas drošību attiecībā uz ievainojamībām, skenējot sistēmu no LAN attāliem punktiem, izmantojot īpašus rīkus, piemēram:
Izmantojiet sistēmas iekšējo aizsardzību pret vīrusiem, rootkitiem, ļaunprātīgu programmatūru un, kā laba prakse, instalējiet ielaušanās atklāšanas sistēmas, kas var atklāt neatļautas darbības (DDOS uzbrukumi, portu skenēšana), piemēram kā:
Pievienot datums un laiks formātu, lai saglabātu komandu izpildi, izdodot tālāk norādīto komandu:
# echo 'HISTTIMEFORMAT = "%d/%m/%y%T" ">> .bashrc'
Piespiediet uzreiz ierakstīt HISTFILE katru reizi, kad tiek ievadīta komanda (nevis atteikšanās):
# echo ‘PROMPT_COMMAND =" history -a "’ >> .bashrc.
Ierobežojiet taimauta pieteikšanās sesiju. Automātiski nojauc apvalku, ja dīkstāves laikā netiek veiktas nekādas darbības. Ļoti noderīgi, lai automātiski atvienotu SSH sesijas.
# echo ‘TMOUT = 120’ >> .bashrc.
Piemērojiet visus noteikumus, izpildot:
# avots .bashrc.
Izmantot rezerves komunālie pakalpojumi, piemēram, darva, kaķis, rsync, scp, LVM momentuzņēmumi, utt., lai sistēmas kļūmes gadījumā saglabātu jūsu sistēmas kopiju, vēlams ārpus tās.
Ja sistēma tiek apdraudēta, varat atjaunot iepriekšējo dublējumu datus.
Visbeidzot, neaizmirstiet, ka neatkarīgi no tā, cik drošības pasākumus un pretpasākumus veicat, lai tos saglabātu ja jūsu sistēma ir droša, jūs nekad nebūsiet 100% pilnīgi drošs, kamēr jūsu iekārta ir pievienota elektrotīklam un ieslēgts.