Faylga kirishni tekshirish linux. Linuxni qattiq qattiqlashtirish. Biz keng qamrovli xavfsizlik auditi uchun vositalarni tanlaymiz. Operatsion tizim darajasi sozlamalari

Bunday korxona va ko'p komponentli tizimlarning aksariyati SAP , OracleDB o'z platformasida operatsion tizimdan foydalanish linux . Shuni inobatga olib, ularga IT-auditorlar tomonidan katta e’tibor qaratilmoqda. Bugun maqolada biz sizning e'tiboringizga skriptlar shaklida taqdim etilgan va xavfsizlik konfiguratsiyasining ekspress auditini ta'minlash uchun oddiy OS mexanizmlaridan foydalangan holda bir nechta bepul vositalarni taqdim etamiz.

Linux OT tizimlarining xavfsizlik imkoniyatlarini ekspress-auditi uchun ishlatiladigan quyidagi tizim buyruqlari va skriptlar UNIX/LINUX Operatsion tizim xavfsizligi auditi/tasdiqlash dasturi qoʻllanmasida ISACA hamjamiyati tomonidan chop etilgan xavfsizlik tekshiruvlari boʻyicha tavsiyalarga asoslanadi.

1. Hisoblarni tekshirish

1.1 Barcha foydalanuvchilarni ro'yxatlash
Foydalanuvchilar ro'yxati /etc/passwdfile faylida saqlanadi. Foydalanuvchilar ro'yxatini olish uchun siz quyidagi skriptdan foydalanishingiz mumkin:

  1. bin/bash
  2. # userslistinthesystem.sh
  3. # count va tizimdagi mavjud "haqiqiy" foydalanuvchilarni ro'yxatga oladi.
  4. echo “[*] Mavjud foydalanuvchilar (alifbo tartibida tartiblangan):”
  5. grep ‘/bin/bash’ /etc/passwd | grep -v 'root' | kesish-f1
  6. -d':' | saralash
  7. echo -n “[*] Haqiqiy foydalanuvchilar soni: “
  8. grep ‘/bin/bash’ /etc/passwd | grep -v 'root' | wc -l
1.2 Bloklangan hisoblar ro‘yxati
Tekshiruv davomida siz bloklangan va blokdan chiqarilgan foydalanuvchilar ro'yxatini tekshirishingiz kerak ( hisob nomi ). Buning uchun quyidagi buyruq ishlaydi:
  1. #!/bin/bash
  2. # passwd – hisobining nomi

1.3 Barcha foydalanuvchilar uchun statistikani ko'rish

  • Auditor jamoani ta'minlashi kerak ac foydalanuvchi faoliyatining umumiy ko'rinishi uchun tizimga kiritilgan:
    1. #!/bin/bash
    Har bir kun uchun jami bilan foydalanuvchining ulanish seansi faolligini ko'rish uchun quyidagi buyruqdan foydalaning:
    1. #!/bin/bash
    2. # ac -d
    Foydalanuvchi ulanishining sessiya faoliyati (soatlarda) haqidagi ma'lumotlarni ko'rsatish uchun "foydalanuvchi" :
    1. #!/bin/bash
    2. # AC foydalanuvchi
    1.4 Foydalanuvchi faoliyatini ko‘rish
    Psacct yoki acct tizim ilovalari fonda ishlaydi va har bir foydalanuvchining tizimdagi faoliyatini hamda ular iste'mol qiladigan resurslarni kuzatib boradi. Tizimdagi foydalanuvchilarning faolligini tekshirish uchun quyidagi skriptni ishga tushiring:
    1. #!/usr/bin/envksh
    2. oxirgi -Fa|awk '
    3. /wtmp boshlanadi/ (keyingi; )
    4. /hali ham tizimga kirgan/ (keyingi; )
    5. $0 == qayta ishga tushirish (keyingi; )
    6. NF > 0 (
    7. agar (NR > 1)
    8. printf("
      ”);
    9. printf("Foydalanuvchi:t%s
      ”, $1); # foydalanuvchi
    10. printf(" Boshlash:t%s %s %s %s
      ”, $3, $4, $5, $6);
    11. if($9 == "pastga")
    12. printf(" End:shutdown
      ”);
    13. printf(" End:t%s %s %s %s
      ”, $9, $10, $11, $12);
    14. if(substr ($NF, 1, 1) == “(“)
    15. t = $NF;
    16. h = "localhost";
    17. t = $(NF-1);
    18. h = $NF;
    19. gsub(“[()]”, “”, t);
    20. printf("Vaqt yoqilgan:t%s
      ”, t);
    21. printf("Masofaviy host:t%s
      ”, h);
  • 2. Parol siyosatini tekshirish

    2.1 Bo'sh parol bilan hisoblar
    Tekshiruv davomida tizimda parolni kiritmasdan tizimga kirish imkonini beruvchi hisob qaydnomalari yo'qligi yoki bloklanganligiga ishonch hosil qilishingiz kerak. Ushbu qoidani buyruq bilan tekshirish mumkin:

    # mushuk /etc/soya | awk -F: ($2==””)($1 chop etish)’

    2.2 Parolning murakkabligini tekshirish
    Tekshiruv davomida parolga qo'pol kuch (qo'pol kuch) yoki lug'at hujumlari xavfini kamaytirish uchun parol murakkabligi sozlamalarini tekshirish kerak. Tizimda ushbu siyosatni o'rnatish uchun Pluggable Autentifikatsiya Modullaridan (PAM) foydalanish kerak.
    Auditor konfiguratsiya faylida tegishli sozlamani tekshirishi mumkin:

    # vi /etc/pam.d/system-auth

    2.3 Parolning amal qilish muddatini tekshirish

    Tekshiruvning bir qismi sifatida siz parolning amal qilish muddati sozlamalarini tekshirishingiz kerak. Parolning amal qilish muddatini tekshirish uchun buyruqdan foydalaning o'zgartirish. Ushbu buyruq parolning amal qilish muddati, shuningdek, oxirgi marta o'zgartirilgan sana haqida batafsil ma'lumotni ko'rsatadi.
    Parollarning "yoshi" haqidagi ma'lumotlarni ko'rish uchun quyidagi buyruqdan foydalaniladi:

    #chage -l foydalanuvchi nomi

    Muayyan foydalanuvchi uchun parolning amal qilish muddatini o'zgartirish uchun siz quyidagi buyruqlardan foydalanishingiz mumkin:

    #chage -M 60 foydalanuvchi nomi
    #chage -M 60 -m 7 -W 7 foydalanuvchi nomi

    Variantlar (parolning amal qilish muddatini belgilash uchun):
    -M - kunlarda maksimal amal qilish muddati.
    -m - kunlardagi minimal amal qilish muddati.
    -W - kunlardagi ogohlantirish sozlamalari.

    2.4 Takroriy parollardan foydalanish
    Tizimdagi avtorizatsiya sozlamalari parol siyosatiga mos kelishi kerak. Parol tarixini o'z ichiga olgan fayl ichida joylashgan /etc/security/opasswd. Tekshirish uchun quyidagi amallarni bajaring:

    RHEL uchun: "/etc/pam.d/system-auth" faylini oching:

    # vi /etc/pam.d/system-auth

    Ubuntu/Debian/Linux Mint uchun: '/etc/pam.d/common-password' faylini oching:

    # vi /etc/pam.d/common-password

    "Auth" bo'limiga quyidagi qatorni qo'shing:

    auth yetarli pam_unix.shuning uchun authnullok kabi

    Oxirgi oltita paroldan foydalanishni o'chirish uchun quyidagi qatorni qo'shing:

    Parol yetarli pam_unix.so nullokuse_authtok md5 soyasini eslab qolish=6

    Buyruqni bajargandan so'ng, tizim oldingi oltita parollar tarixini saqlaydi va agar biron bir foydalanuvchi oxirgi oltitadan birortasi yordamida parolni yangilashga harakat qilsa, u xato xabarini oladi.

    3. Xavfsiz ulanish sozlamalari
    Telnet va Rlogin masofaviy ulanish protokollari parolni shifrlanmagan shaklda tarmoq orqali uzatish tufayli juda eski va himoyasiz. Masofaviy va xavfsiz ulanish uchun xavfsiz protokoldan foydalanish kerak Secure Shell (SSH). Auditor ham variantni ta'minlashi kerak root login o'chirilgan, standart SSH porti o'zgartirilgan, masofadan kirish faqat ma'lum vakolatli foydalanuvchilar uchun ruxsat etilgan. Tekshiriladigan sozlamalar SSH konfiguratsiya faylida:

    1. #vi /etc/ssh/sshd_config

    3.1 Superuser sifatida tizimga kirish (root login)

    Audit davomida auditor root superuser huquqlari bilan masofadan kirish taqiqlanganligini tekshirishi kerak.

    # PermitRootLogin = ha
    3.2 Xizmat hisobining SSH loginini tekshiring

    Audit davomida auditor xizmat hisobini parolsiz SSH login bilan tekshirishi kerak. Odatda, tizim ma'murlari ushbu xususiyatdan dasturlashtirilgan zaxira nusxalari, fayllarni uzatish va masofadan boshqarish rejimida skriptlarni ishga tushirish uchun foydalanadilar.

    Oxirgi marta sshd_config sozlamalari (/etc/ssh/sshd_config) toʻgʻriligini tekshiring.

    # PermitRootLogin parolsiz

    # RSAAutentifikatsiya = ha

    #PubkeyAuthentication=ha

    3.3 DenyHosts va Fail2ban-da kirish ro'yxatlarini tekshirish
    Audit davomida kirish ro'yxatlarining sozlamalarini tekshirish kerak DenyHosts va Fail2ban . Bular SSH kirish jurnallarini kuzatish va tahlil qilish va parolni shafqatsiz kuch hujumlaridan himoya qilish uchun ishlatiladigan skriptlardir.

    DenyHost xususiyatlari:

    • fayldan jurnallarni saqlaydi va kuzatib boradi /var/log/secure , barcha muvaffaqiyatli va muvaffaqiyatsiz kirish urinishlarini belgilash va ularni filtrlash.
    • muvaffaqiyatsiz kirish urinishlarini kuzatadi
    • bloklangan xostlar va shubhali kirish urinishlari haqida elektron pochta xabarnomalarini yuboradi
    Fail2ban xususiyatlari:
    • Fayllardan jurnallarni saqlaydi va kuzatib boradi /var/log/secure va /var/log/auth.log , /var/log/pwdfail
    • juda moslashtirilgan va ko'p tarmoqli
    • jurnal fayllarini muntazam ravishda kuzatib boradi

    4. Tizim jurnallarini tekshirish
    Tekshiruv davomida siz SysLog dasturi ishlayotganiga va tizimda sodir bo'lgan barcha muhim voqealar voqea jurnallarida qayd etilganligiga ishonch hosil qilishingiz kerak. Audit, shuningdek, hodisalar jurnalini saqlash siyosati amaldagi qonunchilik va xavfsizlik siyosati talablarini hisobga olishini ta'minlashi kerak.

    4.1 Linuxda voqealar jurnallari:

    /var/log/auth.log – avtorizatsiya tizimi jurnali (loginlar va autentifikatsiya mexanizmi).
    /var/log/dpkg.log - dpkg yordamida paketlarni o'rnatish/o'chirish jurnali.
    /var/log/yum.log - yum yordamida paketlarni o'rnatish/o'chirish jurnali.
    /var/log/faillog - Muvaffaqiyatsiz kirish urinishlari jurnali va ularning har bir hisob uchun chegarasi.
    /var/log/kern.log – yadro jurnali, (Linux yadrosidan kelgan xabarlarning batafsil jurnali).
    /var/log/maillog yoki /var/log/mail.log – pochta serveri jurnali.
    /var/log/wtmp – login jurnali (barcha tizim foydalanuvchilarining jurnalga kirish vaqti va davomiyligi).
    /var/run/utmp - tizimga hozirda kirgan foydalanuvchilar haqida ma'lumot.
    /var/log/lastlog - oldingi loginlar yozuvlari.
    /var/log/boot - tizimni yuklash paytida ro'yxatga olingan ma'lumotlar

    5. Tizim fayllarini himoya qilish

    5.1 GRUB yuklagichini himoya qilish

    GRUB yuklagichini himoya qilish uchun administrator parolni shifrlashdan foydalanishi kerak MD5 formati :

    # grub-md5-crypt

    Buyruqni bajargandan so'ng, administrator faylni ochishi kerak /boot/grub/menu.lst yoki /boot/grub/grub.conf va MD5 parolini qo'shing:

    # vi /boot/grub/menu.lst

    #vi /boot/grub/grub.conf

    Yangi yaratilgan MD5 paroli GRUB konfiguratsiya fayliga qo'shilishi mumkin.

    5.2 /BOOT yuklash katalogini himoya qilish

    Audit davomida siz katalog holatini tekshirishingiz kerak /boot, chunki tizimning yadrosi va tegishli fayllar katalogda joylashgan /boot. Ushbu katalog faqat o'qish uchun ruxsatga ega ekanligiga ishonch hosil qilishingiz kerak, bu tizimdagi muhim fayllarga ruxsatsiz o'zgarishlarni oldini oladi. Tekshirish uchun /etc/fstab faylini oching va konfiguratsiyani tekshiring:

    Fayl qatorni o'z ichiga olishi kerak:

    LABEL=/boot /boot ext2 sukut bo'yicha,ro 1 2

    5.3 Ochiq portlar va faol ulanishlarni tekshirish

    Tizimda ishlayotgan xizmatlarni tekshirish uchun quyidagi skriptdan foydalanish mumkin:

    #!/bin/bash
    agar (($(ps -ef | grep -v grep | grep $xizmat | wc -l) > 0))
    keyin
    echo "$xizmati ishlayapti!!!"
    boshqa
    /etc/init.d/$xizmat boshlanishi
    fi

    Tarmoq ulanishlarini ko'rish

    # netstat -anop
    yoki
    # lsof -i(lsof -ni)
    yoki
    # iptraf

    Tinglash portlari
    Netstat buyrug'i yordamida siz barcha ochiq portlarni va ular bilan bog'liq buyruqlarni ko'rishingiz mumkin. Skript misoli:

    # netstat-tulpn
    Portni skanerlash uchun skript:
    scan() (
    agar [[ -z $1 || -z$2]]; keyin
    echo “Foydalanish: $0
    qaytish
    fi
    localhost=$1
    mahalliy portlar =()
    korpus 2 dyuym
    *-*)
    IFS=- boshlanish oxirini o'qish<<< “$2”
    uchun ((port=start; port<= end; port++)); do
    portlar+=($port)
    bajarildi
    ;;
    *,*)
    IFS=, -ra portlarini o'qing<<< “$2”
    ;; *)
    portlar+=($2) ;;
    esac
    “$(portlar[@])”dagi port uchun; qilmoq
    signal 1 "echo >/dev/tcp/$host/$port" &&
    echo "port $port ochiq" ||
    echo "port $port yopiq"
    bajarildi
    }

    iptables xavfsizlik devori

    Tekshiruv davomida ruxsatsiz kirishni oldini olish uchun Linux xavfsizlik devori konfiguratsiyasini tekshirishingiz kerak. Trafikni boshqarish uchun IP-manzil va TCP/UDP port raqami asosida kiruvchi, chiquvchi va yo'naltirilgan paketlarni filtrlaydigan iptables-da qoidalar yaratilishi kerak.

    # iptables -n -L -v --satr raqamlari

    ICMP/eshittirish so'rovlari

    Tekshiruv davomida tizimlar ping va translyatsiya so'rovlarini e'tiborsiz qoldiradigan tarzda tuzilganligini tekshirishingiz kerak. Buning uchun faylga ishonch hosil qiling “/etc/sysctl.conf” quyidagi qatorlarni qo'shdi:

    # ICMP so'rovlarini e'tiborsiz qoldiring:
    net.ipv4.icmp_echo_ignore_all = 1
    # translyatsiya so'rovlarini e'tiborsiz qoldirmang:
    net.ipv4.icmp_echo_ignore_broadcasts = 1

    5.4 O'rnatilgan yangilanishlarni tekshirish

    Tizimlarda eng so'nggi yangilanishlar o'rnatilgan bo'lishi kerak:

    # yum yangilanishlari
    # yum tekshiruvi yangilanishi

    6. Avtomatik bajarilgan CRON ishlarini tekshirish

    Auditor crondagi ishlarni bajarishga ruxsat etilgan va kimga taqiqlanganligini tekshirishi kerak. Cronga kirish fayllar yordamida boshqariladi /etc/cron.allow va /etc/cron.deny.

    # echo ALL >>/etc/cron.deny

    7. SELINUX majburiy xavfsizlik tekshiruvi

    Audit paytida holatni tekshirish muhimdir SELinux . Ushbu mexanizm tizimda yoqilgan bo'lishi kerak.
    Uchta rejim mavjud SELinux :

    • Amalga oshirish: SELinux siyosati amalga oshiriladi. SELinux SELinux siyosat qoidalariga asoslanib kirishni rad etadi.
    • Ruxsat beruvchi: SELinux siyosati qo'llanilmaydi. SELinux kirishni rad etmaydi, lekin rad etishlar, agar siyosat kuchga kirishi uchun o‘rnatilgan bo‘lsa, rad etiladigan harakatlar sifatida qayd etiladi.
    • O'chirilgan: SELinux o'chirilgan. Faqat diskret DAC qoidalari qo'llaniladi.

    Audit paytida siz SELinux holatini tekshirish uchun quyidagi skriptdan foydalanishingiz yoki system-configselinux, getenforce yoki sestatus buyruqlaridan foydalanishingiz mumkin:

    ENABLED=`mushuk /selinux/enforce`
    agar [ “$ENABLED” == 1 ]; keyin
    echo “SELinux yoqilgan, oʻchirilsinmi? (Ha yo'q):"
    o'qishni o'chirish
    agar [ $disable == "ha" ]; keyin
    echo "selinuxni o'chirish"
    setenforce 0
    fi
    fi

    Asosiy xavfsizlik opsiyalarini tekshirish uchun LBSA skripti

    LBSA (Linux Basic Security Audit skripti) Linux xavfsizlik konfiguratsiyasining asosiy audit skriptidir. Skript imtiyozlarga ega buyruq qatoridan ishga tushirilishi kerak ildiz, yoki konfiguratsiya o'zgarishlarini tizimli ravishda tekshirish uchun cron yordamida muntazam ravishda ishlash uchun ideal tarzda rejalashtirilgan.

    Ushbu skriptning maqsadi xavfsizlik sozlamalarini tezda tekshirish va yuqori darajadagi xavfsizlikni ta'minlash uchun o'zgartirilishi mumkin bo'lgan sozlamalarni tavsiflovchi hisobotni yuklab olishdir. Agar biron bir variant bo'yicha tavsiyalar bo'lmasa, skript chekni qayta ishlash bilan bir qatorni ko'rsatadi va yakuniy qaror har doim administratorda qoladi. Sinovni o'tkazishdan oldin, ishlab chiquvchilar qo'shimcha ma'lumot olish uchun qo'llanmani o'qib chiqishni va tavsiya etilgan bo'limlarni o'rganishni tavsiya qiladi.

    Joriy nashrda (1.0.49-versiya) skript quyidagi variantlarni tekshiradi:

    • hisob sozlamalaridagi zaifliklar
    • SSH sozlamalaridagi zaifliklar
    • RAMga yuklangan fayl tizimining vaqtinchalik kataloglari va kataloglaridagi zaifliklar (masalan, /tmp, /var/tmp /dev/ da)
    • fayl ruxsatlari, tizim kataloglarining holati
    • -DRBD va Hearbeat xizmatlarini sozlash

    Skript juda katta, shuning uchun biz uni sahifaga joylashtirmadik.

    Ushbu maqolada biz Linuxni qattiqlashtirish uchun asosiy yordam dasturlari bilan tanishamiz. Rus tilida bu "Linux tizimlarining xavfsizlik darajasini tekshirish va axborot xavfsizligi nuqtai nazaridan konfiguratsiyalarning to'g'riligini baholash" kabi bir narsa deb ataladi. Albatta, biz nafaqat dasturlarni ko'rib chiqamiz, balki ulardan foydalanishga misollar keltiramiz.

    O'zingizning auditoringiz yoki o'zingizning xavfsizlik

    Administratorlar va undan ham ko'proq IS auditorlari ko'pincha juda qisqa vaqt ichida ko'p sonli xostlar xavfsizligini tekshirish vazifasi bilan duch kelishadi. Va, albatta, Enterprise segmentida ushbu muammolarni hal qilish uchun maxsus vositalar mavjud, masalan, tarmoq xavfsizligi skanerlari. Ishonchim komilki, ularning barchasi - OpenVAS dvigatelining ochiq manbalaridan tortib Nessus yoki Nexpose kabi tijorat mahsulotlarigacha - bizning o'quvchilarimizga ma'lum. Biroq, bu dastur odatda eskirgan va shuning uchun zaif dasturiy ta'minotni qidirish va keyin yamoq boshqaruvini ishga tushirish uchun ishlatiladi. Bundan tashqari, barcha skanerlar Linux va boshqa ochiq kodli mahsulotlarning o'rnatilgan xavfsizlik mexanizmlarining o'ziga xos xususiyatlarini hisobga olmaydi. Va nihoyat, eng muhimi, masalaning narxi muhim, chunki faqat ushbu biznes uchun byudjet ajratadigan kompaniyalar tijorat mahsulotlarini sotib olishga qodir.

    Shuning uchun bugun biz tizim xavfsizligining joriy darajasini tashxislashi, potentsial xavflarni baholashi mumkin bo'lgan, masalan, Internetda qolib ketgan "qo'shimcha xizmatlar" yoki xavfsiz bo'lmagan standart konfiguratsiya va hattoki bepul tarqatiladigan yordamchi dasturlarning ixtisoslashtirilgan to'plami haqida gaplashamiz. topilgan kamchiliklarni bartaraf etish variantlarini taklif qilish. Ushbu vositalardan foydalanishning yana bir afzalligi - har qanday miqdordagi Linux tizimlaridan odatiy fermer test skriptlarini takrorlash va jurnallar va alohida hisobotlar shaklida testlarning hujjatlashtirilgan bazasini shakllantirish qobiliyati.

    Xavfsizlik auditining amaliy jihatlari

    Agar siz auditorning ko'zi bilan qarasangiz, testga yondashuvni ikki turga bo'lish mumkin.

    Birinchi- bu muvofiqlik talablariga muvofiqligi, bu erda har qanday xalqaro standartda yoki "eng yaxshi amaliyotda" belgilangan majburiy xavfsizlik elementlarining mavjudligi tekshiriladi. Klassik misol - SOX404, NIST-800 seriyali to'lov AT tizimlari uchun PCI DSS talablari.

    Ikkinchi- bu "Xavfsizlikni kuchaytirish uchun yana nima qilish mumkin?" Degan savolga asoslangan sof ratsional yondashuv. Hech qanday majburiy talablar yo'q - faqat sizning bilimingiz, yorqin boshingiz va mohir qo'llaringiz. Masalan, bu yadro versiyasini va/yoki dastur paketlarini yangilash, xavfsizlik devorini yoqish, majburlash, sozlash.

    Ikkinchi yondashuv bilan bog'liq bo'lgan hamma narsa odatda maxsus atama deb ataladi. qattiqlashuv, shuningdek, "operatsion tizimning (yoki dasturning) dastlabki xavfsizlik darajasini asosan muntazam vositalar bilan mustahkamlashga qaratilgan harakatlar" sifatida ham ta'riflanishi mumkin.

    Muvofiqlik talablariga muvofiqligi odatda PCI DSS yoki boshqa sertifikatlashtirish auditi kabi majburiy auditdan o'tishga tayyorgarlik ko'rishda tekshiriladi. Qattiqlashtiruvchi komponentga ko'proq e'tibor qaratamiz. Barcha yirik ishlab chiquvchilar o'z mahsulotlarini taklif qilishadi Qattiqlashtirish bo'yicha ko'rsatmalar- muntazam xavfsizlik mexanizmlari va dasturiy ta'minotning o'ziga xos xususiyatlarini hisobga olgan holda xavfsizlikni kuchaytirish bo'yicha maslahatlar va tavsiyalarni o'z ichiga olgan qo'llanmalar. Shunday qilib, Red Hat, Debian, Oracle, Cisco shunga o'xshash qo'llanmalarga ega.

    MA'LUMOT

    Qattiqlashuv - bu axborot xavfsizligi olamidan olingan atama bo'lib, tizim (dastur) zaifligini kamaytirish va qoida tariqasida faqat standart yordamchi dasturlar yoki himoya mexanizmlaridan foydalangan holda uning xavfsizligini ta'minlash jarayonini anglatadi.

    sudo apt-get update sudo apt-get install lynis

    Va RPMga yo'naltirilgan tarqatishlar uchun (tegishli omborlarni qo'shgandan keyin):

    Yum install linus -y

    MacOS-da o'rnatish:

    $ brew qidiruv lynis $ brew o'rnatish lynis

    Lynis dasturini ishga tushirish uchun kamida bitta kalitni ko'rsatish kifoya. Masalan, barcha mavjud testlarni bajarish uchun siz -c kalitini belgilashingiz kerak (hammasini tekshiring, hammasini tekshiring):

    # Oddiy sudo lynis audit tizimining sinov to'plami # To'liq sudo lynis audit tizimi -c test to'plami # Masofaviy host audit tizimini masofaviy skanerlash







    Auditdan oldin Lynisning yangi versiyasi mavjudligini tekshirish har doim yaxshi fikr:

    Lynis yangilanish ma'lumotlari && lynis yangilanishini tekshirish

    Lynis yordam dasturi standartga qo'shimcha ravishda yana bitta rejimga ega - imtiyozsiz yugurish:

    Lynis audit --pentest

    Agar siz testni boshlagan auditorning ismini qo'ymoqchi bo'lsangiz, shunchaki -auditor parametrini qo'shing :

    Sudo lynis audit tizimi -c -auditor Daddy

    Tekshiruvning istalgan bosqichida tekshirish jarayoni davom ettirilishi mumkin (Enter) yoki majburiy ravishda tugatilishi mumkin (Ctrl+C). Amalga oshirilgan testlar natijalari Lynis jurnaliga /var/log/lynis.log ga yoziladi. Yordamchi dastur har safar ishga tushirilganda jurnalning ustiga yozilishini unutmang.

    Avtomatik rejimda tizimli ravishda sinovdan o'tkazish uchun -cronjob kaliti yordamida Cron rejalashtiruvchisiga tegishli ishni belgilashingiz mumkin. Bunday holda, yordamchi dastur belgilangan shablonga (konfiguratsiya) muvofiq ishlaydi va hech qanday interaktiv xabarlar, savollar yoki ogohlantirishlarni ko'rsatmaydi. Barcha natijalar jurnalga saqlanadi. Misol uchun, bu erda oyda bir marta standart konfiguratsiyaga ega yordamchi dasturni ishga tushirish skripti:

    #!/bin/sh AUDITOR="avtomatlashtirilgan" DATE=$(sana +%Y%m%d) HOST=$(xost nomi) LOG_DIR="/var/log/lynis" REPORT="$LOG_DIR/report-$( HOST).$(DATE)" DATA="$LOG_DIR/report-data-$(HOST).$(DATE).txt" cd /usr/local/lynis ./lynis -c –auditor "$(AUDITOR)" --cronjob > $(REPORT) mv /var/log/lynis-report.dat $(DATA) # End

    Ushbu skriptni /etc/cron.monthly/lynis katalogiga saqlang. Va jurnallarni saqlash uchun yo'llarni qo'shishni unutmang (/usr/local/lynis va /var/log/lynis), aks holda u to'g'ri ishlamasligi mumkin.

    Siz qo'ng'iroq qilish uchun mavjud bo'lgan barcha buyruqlar ro'yxatini ko'rishingiz mumkin:

    Lynis buyruqlarni ko'rsatish

    Ayniqsa qiziquvchilar standart konfiguratsiyadan sozlamalarga qarashlari mumkin:

    Lynis ko'rsatish sozlamalari

    Yordamchi dastur bilan ishlash bo'yicha qisqacha ko'rsatma:

    erkak Lynis

    Tekshirish natijalariga ko'ra mumkin bo'lgan holatlarning variantlari quyidagi ro'yxat bilan cheklangan: YO'Q, ZAYIF, BAJARILDI, TOPILIB, NOMA_FOUND, OK, OGOHLANTIRISH.


    Lynisda individual testlarni o'tkazish

    Amalda, faqat bir nechta testlarni o'tkazish kerak bo'lishi mumkin. Masalan, agar sizning serveringiz faqat Mail Server yoki Apache funksiyalarini bajarsa. Buning uchun -tests variantidan foydalanishimiz mumkin. Buyruqning sintaksisi quyidagicha:

    Lynis - "Test-IDlar" ni sinovdan o'tkazadi

    Agar test identifikatorlarining ko'pligi tufayli tushunish qiyin bo'lsa, unda siz guruh parametridan foydalanishingiz mumkin -test-category . Ushbu parametr yordamida Lynis faqat ma'lum bir toifaga kiruvchi test identifikatorlarini ishga tushiradi. Misol uchun, biz xavfsizlik devori va yadro sinovlarini o'tkazishni rejalashtirmoqdamiz:

    ./lynis -tests-toifasi "xavfsizlik devori yadrosi"

    Bundan tashqari, Lynisning funksionalligi siz o'zingiz qo'shishingiz yoki mavjud katalogga yangilarini qo'yishingiz mumkin bo'lgan turli xil plaginlar bilan kengaytirilgan.

    Tuzatish bo'yicha takliflar

    Natijalardan keyin barcha ogohlantirishlar ro'yxatga olinadi. Har biri ogohlantirish matni bilan boshlanadi, keyin uni yaratgan test uning yonidagi qavs ichida ko'rsatiladi. Keyingi qatorda, agar mavjud bo'lsa, muammoni hal qilish taklif etiladi. Darhaqiqat, oxirgi satr URL manzil bo'lib, unda siz tafsilotlarni ko'rishingiz va muammoni hal qilish bo'yicha qo'shimcha tavsiyalarni topishingiz mumkin.

    Profillar

    Auditni boshqaradigan profillar kengaytmali fayllarda aniqlanadi .prf/etc/lynis katalogida joylashgan. Standart profil taxminiy nomlanadi: default.prf . Ishlab chiquvchilar uni to'g'ridan-to'g'ri tahrir qilishni tavsiya etmaydi: auditga kiritmoqchi bo'lgan har qanday o'zgarishlar eng yaxshisi, xuddi shu katalogda joylashgan custom.prf fayliga qo'shiladi.

    Davomi faqat aʼzolar uchun mavjud

    Variant 1. Saytdagi barcha materiallarni o'qish uchun "sayt" jamoasiga qo'shiling

    Belgilangan muddatda hamjamiyatga a'zolik sizga BARCHA Hacker materiallariga kirish imkonini beradi, shaxsiy jami chegirmangizni oshiradi va professional Xakep Score reytingini to'plash imkonini beradi!

    AT infratuzilmasi xavfsizligi masalasi har qanday biznes turi uchun katta ahamiyatga ega. Bu keng filial tarmog'iga ega kompaniyalar guruhi yoki 1-2 sotuvchiga ega onlayn-do'kon bo'ladimi.
    Asosiy maqsadi saytlarni xosting bilan ta'minlash bo'lgan har bir server uchun foydalanuvchi ma'lumotlarini himoya qilishni ta'minlashning keskin muammosi mavjud.
    Kompaniyamiz server xavfsizligi auditi xizmatini taklif etadi.

    Ushbu xizmatga quyidagilar kiradi:

    — Serverda oʻrnatilgan dasturiy taʼminot versiyalarining maʼlum xavfsizlik muammolaridan xoli joriy haqiqiy versiyalarga muvofiqligini tahlil qilish. Qoidaga ko'ra, veb-serverlar uchun quyidagi dasturiy ta'minot versiyalarining dolzarbligi muhimdir: pochta serveri, veb-server, keshlash veb-server (agar mavjud bo'lsa), dasturlash tili tarjimoni (masalan, PHP veb-saytlari yozilgan), ftp. server, veb-ilovalar (ma'lum server sozlamalariga soddalashtirilgan kirishni ta'minlash va ma'lumotlar bilan ishlash uchun);
    — veb-server sozlamalarini, tegishli dasturiy ta'minot sozlamalarini xavfsizlikning asosiy talablariga muvofiqligini tahlil qilish;
    — Operatsion tizim sozlamalarini tahlil qilish. Ushbu element tajovuzkorning server boshqaruvini egallashi mumkinligi bilan bog'liq asosiy fikrlarni tahlil qiladi. Qoida tariqasida, ssh server sozlamalari, qattiq disklar bilan ishlash imkoniyatlari ko'rib chiqiladi;
    — Maxfiy ma'lumotlarni o'z ichiga olgan tizimning asosiy fayl va papkalariga kirish huquqlarini tahlil qilish. Qoida tariqasida, ushbu band doirasida asosiy tizim papkalari, server boshqaruv paneli fayllari, zaxira nusxalari bo'lgan kataloglar, foydalanuvchi papkalariga bo'lgan huquqlar tekshiriladi;
    – Buzilgan va tajovuzkorlar tomonidan zararli harakatlarni amalga oshirish uchun ishlatilishi mumkinligi shubha ostida bo'lgan serverda bizning mutaxassislarimiz uni zararli dasturlardan tozalash va bu holat yana takrorlanmasligi uchun zarur choralarni ko'radi;

    Axborot xavfsizligi har qanday onlayn biznes uchun ustuvor masaladir. Virusli infektsiyalar va tashqi hujumlar, shuningdek, ma'lumotlarga ruxsatsiz kirish - barchasi katta moliyaviy va obro'-e'tiborga xavf tug'diradi. Shuning uchun, server platformasini tanlashda biznes egalari har doim resurs xavfsizligi darajasiga qiziqishadi.
    Himoya tizimining qanchalik yaxshi ishlashini, unda zaifliklar va "teshiklar" mavjudligini tekshirish uchun kamida oyiga bir marta server xavfsizligi auditini o'tkazish tavsiya etiladi.

    Server xavfsizligi auditiga nimalar kiradi

    Hatto serverning noto'g'ri sozlamalari yoki eskirgan dasturiy ta'minot kabi ahamiyatsiz ko'rinadigan omil ham xavfsizlikka tahdidga aylanishi mumkin. Audit xavfsizlikning zaif tomonlarini aniqlashga va ma'lumotlar buzilgan yoki o'g'irlanishidan oldin ularni bartaraf etish uchun o'z vaqtida choralar ko'rishga yordam beradi.
    Server ma'muri o'rnatilgan dasturiy ta'minotni, uning so'nggi yangilanishlarga muvofiqligini tekshiradi, server xavfsizligi sozlamalarini baholaydi va agar mavjud bo'lsa, xatolarni yo'q qiladi, shuningdek, xodimlarning ma'lum resurslarga kirish huquqlari sozlamalariga muvofiqligini tahlil qiladi.

    O'z qo'llaringiz bilan virtual xususiy serverni qanday tekshirish mumkin

    Har bir foydalanuvchi Windows yoki Linux platformalarida serverlar xavfsizligini tekshirishi mumkin, buning uchun dasturlash bo'yicha maxsus bilimga ega bo'lish shart emas.
    Xavfsizlik tekshiruvini bir necha bosqichlarga bo'lish mumkin:

    Jismoniy kirish

    Ajratilgan server bo'lsa, uchinchi tomon serveriga jismoniy kirish sukut bo'yicha cheklangan, bu ma'lumotlar markazi tomonidan ta'minlanadi. Lekin foydalanuvchi qo'shimcha ravishda BIOS-ga kirish uchun parol o'rnatishi mumkin.

    Xavfsizlik devori

    Dasturiy ta'minot va portlarni doimiy monitoring qilish uchun Windows xavfsizlik devori to'g'ri sozlangan va yoqilgan bo'lishi kerak. Linux uchun siz kirishni boshqarish uchun SELinux tizimidan foydalanishingiz mumkin. Shuningdek, siz Cisco ASA yoki Fortinet FortiGate 60D apparat xavfsizlik devorini bizdan ijaraga olishingiz mumkin.

    Fayl tizimi

    yangilanishlarni tekshirish

    Yangilanishlarni avtomatik qabul qilish va o'rnatish uchun serverni sozlang.

    Parol siyosati

    Murakkab parollar, ularning amal qilish muddati va bir nechta muvaffaqiyatsiz login yoki bo'sh paroldan so'ng hisobni blokirovka qilish talablarini bajarish uchun mahalliy Windows xavfsizlik siyosatlaridan foydalaning.

    Jurnal nazorati

    Muhim infratuzilma segmentlari uchun jurnalga kirishni yoqing va ularni muntazam tekshirib turing.

    Tarmoq xavfsizligi

    VPN va VLAN xost segmentatsiyasi va havola xavfsizligi uchun tavsiya etiladi.
    Shuningdek, siz standart sozlamalarni o'zgartirishingiz va tarmoq uskunalari xizmatlarining portlarini yo'naltirishingiz kerak.
    Trafikni shifrlash uchun IPsec xizmatidan foydalanishingiz mumkin. Va ochiq portlarni ko'rish uchun - Netstat yordam dasturi.

    Kirish nazorati

    Muhim fayllarga foydalanuvchi kirish huquqlarini farqlang, mehmonlarga kirishni va bo'sh parol bilan foydalanuvchilarni o'chirib qo'ying. Serverda foydalanilmagan rollar va ilovalarni o'chirib qo'ying.

    Zaxira

    Fayllarni zaxiralash xizmatidan foydalaning, u foydali va ishonchli. Zaxira nusxalarini shifrlanmagan holda saqlamang. Agar siz serverni bizdan ijaraga olsangiz, zaxira uchun joy tanlashingiz mumkin.

    Ma'lumotlar bazasiga kirish

    Muhim ma'lumotlar bazalari turli SQL serverlarida saqlanishi kerak. Siz minimal imtiyozlarga ega bo'lgan foydalanuvchi nomidan yoki IP manzillarining oldindan tuzilgan oq ro'yxatidan ishga tushirishni sozlashingiz kerak.

    Antivirus himoyasi

    Serverning Windows tizimida ishlashi uchun foydalanuvchilar tarmoq xotiralari bilan ishlaganda avtomatik yangilanadigan antivirus dasturini o'rnatish tavsiya etiladi. Linux uchun server xavfsizligini muntazam monitoring qilish va ruxsatsiz kirishni nazorat qilish sharti bilan antivirusni o'rnatish talab qilinmaydi. Buning uchun Tiger yordam dasturi foydali bo'lishi mumkin.

    Oyiga bir marta bunday audit serverning to'g'ri ishlashini tekshirishga, zaifliklarni bartaraf etishga va tarmoq infratuzilmasi xavfsizligini nazorat qilishga yordam beradi.

    Buzg'unchilarning serverga kirishi bilan bog'liq yuzaga kelishi mumkin bo'lgan muammolarni o'z vaqtida aniqlash uchun har oyda bir marta server xavfsizligi auditini o'tkazing.

    Agar VPS yoki saytda uchinchi tomon faoliyati belgilarini ko'rmasangiz, serverni xakerlik hujumidan himoya qilish uchun quyidagi qator tekshirish va sozlashlarni bajaring.

    Ilova qatlami sozlamalari

    Agar CMS serverda o'rnatilgan bo'lsa, barcha so'nggi yangilanishlar o'rnatilganligini tekshiring.

    Joomla

    Changelog.txt faylini saytning asosiy katalogidan toping, u erda CMS versiyasi haqida ma'lumot topasiz. Agar u eskirgan bo'lsa, Joomla-ni yangilang.

    Wordpress

    CMS versiyasi ma'lumotlari uchun wp-includes/version.php faylini qidiring. Agar u eskirgan bo'lsa, Wordpress-ni yangilang.

    DLE

    Engine/data/config.php faylini qidiring, version_id qatorini qidiring va versiya yangilanganligiga ishonch hosil qiling.

    Shuningdek, engine/ajax/updates.php va upgrade/index.php fayllarini tekshiring ($dle_version parametri).

    1C-Bitrix

    /bitrix/modules/main/classes/general/version.php faylini qidiring, u erda CMS versiyasi haqida ma'lumot topasiz. Shuningdek, /bitrix/admin/update_system.php faylini tekshiring. Agar versiya eskirgan bo'lsa, 1C-Bitrix-ni yangilang.

    Drupal

    Changelog.txt faylini saytning asosiy katalogidan toping, u erda CMS versiyasi haqida ma'lumot topasiz. Agar u eskirgan bo'lsa, Drupal-ni yangilang.

    /modules/system/system.info faylida yadro versiyasini tekshiring.

    Bundan tashqari, boshqaruv paneli orqali CMS versiyasini aniqlashingiz mumkin.

    Tekshirish veb-server.

    Apache

    Apache konfiguratsiya faylini oching (versiyaga qarab, ular httpd.conf, httpd2.conf, apache.conf, apache2.conf fayllari bo'lishi mumkin) va unda veb-versiya haqida ma'lumot chiqishini o'chirib qo'yuvchi direktiva mavjudligini tekshiring. server:

    ServerTokensProd

    Agar ushbu ko'rsatma mavjud bo'lmasa, faylni qo'shing va saqlang.

    Secure.conf faylini qidiring, uni ko'rish uchun oching va tarkibini quyidagi misol bilan tekshiring:

    Variantlar +O‘z ichiga oladi -FollowSymLinks +SymLinksIfOwnerMatch AllowOverride FileInfo AuthConfig Limit Indekslar Variantlar Buyurtma ruxsat berish, rad etish Hammasidan Ruxsat berish php_admin_value open_basedir "." Variantlar - indekslar Harakat php-cgi /php-bin/php

    Sizning security.conf yuqoridagi misoldan sezilarli darajada farq qilmasligi kerak.

    O'rnatilgan MPM ni buyruq bilan tekshiring

    Apachectl -V

    Kuchliroq xavfsizlik uchun mpm_itk dan foydalaning, agar sizga mutlaqo mpm_prefork kerak bo'lmasa.

    Agar siz MPM ni o'zgartirmoqchi bo'lsangiz, konfiguratsiya fayllarining zaxira nusxalarini yaratgandan so'ng qayta o'rnating. Qayta o'rnatgandan so'ng, sayt va uning barcha kataloglari egasi foydalanuvchi ekanligini tekshiring.

    Nginx

    Veb-server konfiguratsiya faylini (nginx.conf) oching, http bo'limiga o'ting va unda bitta IP-manzildan ulanishlar sonini cheklovchi ko'rsatmalar mavjudligini tekshiring:

    Limit_zone chegaralari $binary_remote_addr 5m; limit_conn chegaralari 10; yoki (oxirgi versiyalar uchun) limit_conn_zone $binary_remote_addr zona=addr:10m; limit_conn manzili 10;

    Agar ushbu ko'rsatmalar mavjud bo'lmasa, faylni qo'shing va saqlang.

    Kiruvchi trafikni bloklash uchun ba'zi foydalanuvchi agentlarini bloklang. Nginx konfiguratsiya faylining http bo'limida direktivani qo'shing

    Agar ($http_user_agent ~* LWP::Simple|BBBike|wget|msnbot) (qaytish 403;)

    Nginx konfiguratsiya faylining http bo'limiga direktivani qo'shish orqali yo'naltiruvchi spamni bloklang

    If($http_referer ~*(go'daklar|forsale|qiz|zargarlik|sevgi|nudit|organik|poker|porno|seks|o'smir))(403 qaytish;)

    ISP menejeri

    ISPmanager boshqaruv panelida quyidagi tekshiruvlarni bajaring.

    Boshqaruv paneliga kirish IP-manzil bilan cheklanganligini tekshiring.

    Agar u yoqilmagan bo'lsa, ma'lumotlarni zaxiralashni o'rnating. Arxiv bilan birga ma'lumotlar yo'qotilishining oldini olish uchun zaxiralash uchun tashqi diskdan foydalanishni tavsiya etamiz.

    PHP

    Php.ini konfiguratsiya faylini oching va quyidagi ko'rsatmalarni qo'shing.

    Expose_php=Off - HTTP sarlavhasida PHP versiyasi ma'lumotlarini uzatishni o'chirish; sql.safe_mode=On - SQL xavfsiz rejimini yoqish; post_max_size=8M - POST usuli bilan uzatiladigan ma'lumotlar uchun o'lcham chegarasi; disable_functions exec, system, passthru, proc_open, shell_exec - xavfsizlik sababli ba'zi funktsiyalarni o'chirib qo'ying.

    NTP

    NTP konfiguratsiya faylida (sukut bo'yicha/etc/ntp.conf) rekursiv so'rovlarni o'chirish uchun qatorlarni qo'shing:

    Standart kod cheklangan nomodify notrap nopeer noquery limit -6 standart kod cheklangan nomodify notrap nopeer noquery limit 127.0.0.1 cheklash -6::1

    Bog'lash

    Rekursiv so'rovlarni o'chirish uchun nomlangan.conf fayliga quyidagi qatorlarni joylashtiring:

    Ruxsat berish-rekursiya (127.0.0.1; 82.146.32.0/19; 78.24.216.0/21; 92.63.96.0/20; 62.109.0.0/19; 188.120.224.0.0/19; 188.120.224.0/192.1; 188.120.224.0/194.1; 248.0/21; );

    Sayt katalogi egasini tekshirish

    Saytning asosiy katalogi va uning barcha quyi kataloglari kimga tegishli ekanligini tekshiring.

    ISPmanager asboblar panelida "Tizim" -> "Fayl menejeri" bo'limiga o'ting va sayt katalogini oching. Egasi va Guruh ustunlari saytga egalik qiluvchi foydalanuvchi uchun ekanligiga ishonch hosil qiling. Ushbu atributlarni o'zgartirish uchun asboblar panelidagi Atributlar tugmasini bosing.

    Agar siz mpm_prefork dan foydalansangiz, veb-sayt egasining haqiqiy nomlari apache, www, www-data hisoblanadi. Xavfsizlikni yaxshilash uchun mpm_itk dan foydalanishni tavsiya etamiz.

    Agar sayt umumiy papkalarni o'z ichiga olsa (masalan, yuklash, tmp), u holda egasining nomi 777 ular uchun amal qiladi.Buyruqni ishga tushirish orqali ushbu foydalanuvchi faqat kerakli kataloglarga o'rnatilganligiga ishonch hosil qiling.

    ./ -perm 0777 ni toping

    U 777 ga tegishli barcha papkalar va fayllarni topadi.

    Operatsion tizim darajasi sozlamalari

    ovchi

    Potensial server zaifliklarini aniqlash uchun rkhunter yordam dasturidan foydalaning.

    Yordamchi dasturni o'rnatish uchun quyidagi buyruqdan foydalaning:

    Yum install rkhunter - CentOS OS apt-get install rkhunter - Debian/Ubuntu OS barcha o'rnatishni toza qiladi -C /usr/ports/security/rkhunter yoki pkg rkhunterni o'rnatish - FreeBSD OS

    Ushbu yordamchi dasturning ma'lumotlar bazasini yangilash uchun buyruqlarni bajaring

    Rkhunter --yangilash

    Rkhunter --propupd

    Buyruq bilan tizim tekshiruvini o'tkazing

    Rkhunter -c --cs2

    Tekshirish jarayonida davom etish uchun Enter tugmasini bir necha marta bosishingiz kerak. Tugatgandan so'ng, test natijasining xulosasi paydo bo'ladi.

    Tekshiruv natijalari /var/log/rkhunter/rkhunter.log jurnali fayliga joylashtiriladi, uni ogohlantirishlar va xatolar uchun ko'rib chiqing.

    sysctl

    Tizim yadrosi parametrlarini boshqarish uchun sysctl yordam dasturidan foydalaning. /etc/sysctl.conf yordamchi dastur konfiguratsiya faylini oching va quyidagi qatorlarni kiriting.

    Kiruvchi trafikni yo'naltirish imkoniyatini o'chirib qo'ying, chunki tajovuzkor IP manzillarini aldash uchun ushbu imkoniyatdan foydalanishi mumkin:

    net.ipv4.conf.all.accept_source_route = 0

    Translyatsiya kanali orqali ICMP so'rovlariga javoblarni o'chirib qo'ying - bu smurf hujumlarining oldini olishga yordam beradi:

    Net.ipv4.icmp_echo_ignore_broadcasts = 1

    Noto'g'ri xato xabarlarini jurnalga yozishni o'chirib qo'ying:

    Net.ipv4.icmp_ignore_bogus_error_responses = 1

    Xotiraning to'lib ketishidan himoya qilishni yoqing:

    Kernel.exec-shield=1 (CentOS)

    ASLR xotiradan foydalanishni yoqing:

    kernel.randomize_va_space = 2

    ICMP xabarlarini yuborish imkoniyatini o'chirib qo'ying:

    net.ipv4.conf.all.accept_redirects=0 net.ipv4.conf.default.accept_redirects=0

    Agar siz VPN yoki serverda boshqa maxsus ilovalardan foydalanmasangiz, yo'naltirishni o'chirib qo'ying:

    Net.ipv4.conf.all.forwarding=0

    SYN suv toshqini himoyasini yoqish - SYN cookie-fayllaridan foydalanish:

    Net.ipv4.tcp_syncookies=1

    SYN-ACK paketlarini yuborishga urinishlar sonini belgilang:

    Net.ipv4.tcp_synack_retries = 3

    Agar server uzoq vaqt davomida foydalanilmagan bo'lsa, ulanishni tekshiradigan vaqtni belgilang (standart - 2 soat):

    Net.ipv4.tcp_keepalive_time=1800

    Ulanish tugashidan oldin tekshirishlar sonini belgilang:

    Net.ipv4.tcp_keepalive_probes=3

    FIN-WAIT-2 holatida rozetka vaqti tugashini o'rnating:

    net.ipv4.tcp_fin_timeout=30

    fstab

    Disklar, bo'limlar va saqlash qurilmalari va ular tizimga qanday o'rnatilganligi haqidagi ma'lumotlarni o'z ichiga olgan fstab konfiguratsiya faylini (/etc/fstab) tekshiring.

    Vi /etc/fstab

    E'tibor bering, ildiz bo'lmagan bo'limlarda nodev opsiyasi bo'lishi kerak. Agar /tmp alohida bo'limga o'rnatilgan bo'lsa, ushbu bo'lim uchun nodev, noexec, nosuid qo'shing.

    rsyslog

    Tizim jurnali faylini tekshiring /etc/rsyslog.conf.

    Vi /etc/rsyslog.conf

    Quyidagi qatorlarga e'tibor bering, ular quyidagicha ko'rinishi kerak:

    Shuningdek, jurnal fayli bo'sh emasligiga ishonch hosil qiling, ya'ni. ro'yxatga olish to'g'ri.

    sudo

    Sudo (yoki su) yordam dasturi to'g'ri sozlanganligini tekshiring, bu foydalanuvchiga ma'lum buyruqlar va dasturlarni root sifatida ishlatish imkonini beradi. Ushbu yordamchi dastur sozlamalari /etc/sudoers yoki /usr/local/etc/sudoers konfiguratsiya faylida joylashgan. Uni tahrirlash uchun oching

    Vi /etc/sudoers

    Sukut bo'yicha yozilgan va ildiz superuseriga har qanday buyruqlarni bajarishga imkon beradigan qatorni toping.

    Barcha foydalanuvchilarga buyruqlarni root sifatida ishlatish huquqini berish uchun quyidagi qatorni qo'shing:

    ALL ALL=/bin/su yoki ALL ALL=/usr/bin/su

    Muayyan foydalanuvchiga faqat ma'lum buyruqlarni root sifatida ishlatish huquqini berish uchun qatorni qo'shing:

    %users ALL=/sbin/mount - foydalanuvchilar guruhi faqat sudo-dan foydalanuvchi ALL=/sbin/mount mount buyrug'i bilan foydalanishi mumkin - foydalanuvchi sudo-dan faqat mount buyrug'i bilan foydalanishi mumkin.

    Tarmoq darajasi sozlamalari

    Buyruqni ishga tushirish orqali serverda qaysi portlar ochiqligini va qaysi xizmatlar ulardan foydalanayotganini tekshiring

    Netstat -tuplnw | awk "($4,$NF chop etish)" | saralash | noyob

    Masalan, 127.0.0.1:53 748/nomed yozuvi nomidagi xizmat 53-portdan foydalanayotganligini bildiradi. Ishlayotgan xizmatlar orasida faqat keraklilari borligini tekshiring, qolganlarini o'chiring.

    FTP

    Passiv FTP rejimida foydalanish uchun port diapazonini o'rnating. Buni amalga oshirish uchun tahrirlash uchun FTP serveringizning konfiguratsiya faylini oching va qatorlarni qo'shing:

    vsftpd.conf uchun:

    pasv_min_port = 1028 pasv_max_port = 1048

    proftpd.conf uchun:

    Passiv portlar 1028 1048

    Agar zarurat bo'lmasa, FTP protokolidan foydalanmang, uning o'rniga SFTP dan foydalaning. Agar FTP hali ham talab qilinsa, konfiguratsiya fayliga quyidagi qatorlarni qo'shing:

    vsftpd.conf uchun:

    Xferlog_enable=HA (ftp logging) anonymous_enable=YO'Q (anonim foydalanuvchi ulanishlarini rad etish) anon_upload_enable=YO'Q anon_mkdir_write_enable=YO'Q

    proftpd.conf uchun:

    bo'limida ... barcha bo'limlarni o'chiring va qatorlarni qo'shing

    Hammasini rad et Hammasini rad et

    iptables

    Xavfsizlik devori to'g'ri sozlanganligini tekshiring. Iptables uchun buyruqni bajaring

    Iptables-nL

    Ushbu buyruq barcha iptables xavfsizlik devori qoidalarini buyruq satriga chop etadi. Shuningdek, ushbu qoidalarni xavfsizlik devori konfiguratsiya faylida /etc/sysconfig/iptables - CentOS OS uchun, /etc/network/if-up.d/ispmgrfw - Debian/Ubuntu OS uchun ko'rish va tahrirlash mumkin.

    Xavfsizlik devori qoidalarida serverda ishlaydigan xizmatlar tomonidan ishlatiladigan portlardan tashqari barcha portlarni yoping. Buning uchun chiziqlarni o'zgartiring

    :KIRISH QABUL QABUL QILISh :O’LGA QABUL QABUL :CHISH QABUL QABUL :KIRISH TO’SHISH :O’LGA TO’SHISH :CHISH QABUL QILISh

    Kerakli portlarni ochish uchun kabi qatorlarni qo'shing

    A INPUT -p tcp -m tcp --dport 53 -j ACCEPT -A INPUT -p udp -m udp --dport 53 -j QABUL OLING -A INPUT -p tcp -m multiport --sport 53,80,25,443,953 -j QABUL QILING

    bu erda 53 - ochiladigan port raqami.

    Xavfsizlik devori konfiguratsiya fayliga o'zgartirish kiritishdan oldin ishchi faylning nusxasini yarating.

    Xavfsizlik devori qoidalarini ISPmanager boshqaruv panelidan sozlash mumkin.

    SSH

    SSH konfiguratsiya faylini oching:

    Vi /etc/ssh/sshd_config

    Quyidagi satrlarga izoh berilmaganligini tekshiring:

    Protokol 2 (protokolning ikkinchi versiyasidan foydalanish uchun) IgnoreRhosts ha (.rhost faylidan foydalanmang) HostbasedAuthentication yoʻq (xost autentifikatsiyasi yoʻq) PermitRootLogin yoʻq (rootga kirishni rad etish) PermitEmptyPasswords yoʻq (boʻsh parollardan foydalanmang) PermitUserEnvironment yoʻq (foydalanuvchiga muhit oʻzgaruvchilarini oʻrnatishni taqiqlash) PasswordAuthentication ha (parolni autentifikatsiya qilishga ruxsat berish)

    sshd_config ga quyidagi qatorni qo'shish orqali SFTP ni yoqing:

    sftp /usr/lib/openssh/sftp-server quyi tizimi

    Pochta navbatining to'lib ketishini tekshiring va xabarlar orasida spam-xabarlar yo'qligiga ishonch hosil qiling.

    Mailq buyrug'ini ishga tushiring va xabarlar ro'yxatini ko'ring. Agar ro'yxat juda katta bo'lsa, spam bo'lishi mumkin bo'lgan xabarlarni tanlab tekshiring. Identifikator bo'yicha (masalan, BD65F10DEE4) xat jo'natuvchisini aniqlang. Jamoa

    Exim -Mvh message_id

    elektron pochta sarlavhasini va buyruqni ko'rsatadi

    Exim -Mvb message_id

    xabarning asosiy qismini ko'rsatadi.

    Xabar sarlavhalari orasida Kimdan: maydoni jo'natuvchini, X-PHP-Originating-Script esa xabar yuborilgan skriptni o'z ichiga oladi.

    Dasturiy ta'minot

    Zaifliklar uchun server dasturini tekshiring.

    CentOS operatsion tizimi

    O'rnatilgan dasturiy ta'minot fayllari ro'yxatini ko'rsatadigan va ularni yaqinda o'zgartirgan buyruqni ishga tushiring:

    Rpm -qVa - barcha fayllarni ko'rsatish uchun, rpm -qVa | awk "$2!="c" ($0 chop etish)" - jurnallardan tashqari fayllarni chop etish uchun.

    Quyidagi parametr qiymatlari yordamida qaysi fayllar va qanday o'zgartirilganligini tahlil qiling:

    S - fayl hajmi o'zgartirildi M - standart ruxsatlar o'zgartirildi 5 - MD5 nazorat summasi o'zgartirildi D - qurilma uchun katta/kichik raqamlar o'zgartirildi L - ramziy havola o'zgartirildi U - fayl egasi o'zgartirildi G - guruh o'zgartirildi T - faylni o'zgartirish sanasi (mvaqt) o'zgartirildi ) c - konfiguratsiya fayli d - hujjat fayli g - fayl l paketiga kiritilmagan - litsenziya fayli r - README fayli

    Masalan, S.5....T liniyasi. c /etc/httpd/conf/httpd.conf httpd.conf konfiguratsiya fayli ekanligini, uning hajmi, nazorat summasi va oxirgi o'zgartirish sanasi o'zgartirilganligini bildiradi. Bu konfiguratsiya fayli bo'lgani uchun bu o'zgarishlar shubhali emas.

    Hech qanday sababsiz nazorat summasi o'zgartirilgan fayllarga e'tibor bering. Bunday fayllar uchun buyruqni bajaring:

    Stat /usr/sbin/sshd && fayl /usr/sbin/sshd, bu erda usr/sbin/sshd faylga yo'ldir.

    Buyruqning bajarilishi natijasida ekranda ushbu fayldagi o'zgarishlar haqida batafsil ma'lumot ko'rsatiladi.

    Buyruqni bajaring:

    Yum --xavfsizlik yangilanishi

    xavfsizlik yangilanishini o'rnatish uchun.

    Debian OS

    O'rnatilgan dasturlar uchun MD5 nazorat summalarini tekshiradigan buyruqlarni ishga tushiring:

    # apt-get install debsums # debsums -c

    Xavfsizlik yangilanishini tekshirish uchun quyidagi buyruqlarni bajaring:

    # echo 'deb http://security.debian.org wheezy/updates asosiy hissasi bepul' >> /etc/apt/sources.list # grep security /etc/apt/sources.list > /etc/apt/secsrc .list # apt-get -s -o Dir::Etc::sourcelist="secsrc.list" -o Dir::Etc::sourceparts="-" yangilash

    Xavfsizlik yangilanishini o'rnatish uchun buyruqni bajaring:

    # apt-get -o Dir::Etc::sourcelist="secsrc.list" -o Dir::Etc::sourceparts="-" yangilash

    Buyruqlarni bajarish orqali barcha omborlarda gpg moslashuvi mavjudligiga ishonch hosil qiling:

    # grep -ri gpgcheck /etc/yum.conf # grep -ri gpgcheck /etc/yum.repos.d/ Satrlar quyidagicha ko'rinishiga ishonch hosil qiling: gpgcheck=1 # grep -ri AllowUnauthenticated /etc/apt/

    Shakl qatorlari

    APT::Get::AllowUnauthenticated "true";

    bo'lmasligi kerak.

    Foydalanilmayotgan xizmatlar

    CentOS operatsion tizimi

    chkconfig --list

    Chkconfig --del service_name bu erda xizmat_nomi xizmat nomidir.

    Debian OS

    Foydalanilmayotgan xizmatlar ro'yxatini ko'rsatadigan buyruqni ishga tushiring:

    sysv-rc-conf

    Foydalanilmayotgan xizmatni ishga tushirishni o'chirish uchun quyidagi buyruqni bajaring:

    Sysv-rc-conf off service_name, bu erda service_name - xizmat nomi.

    Maqola yoqdimi? Do'stlar bilan baham ko'rish uchun: