CentOS 7-da xavfsizlik devori sozlamalari

Operatsion tizimga o'rnatilgan xavfsizlik devori kompyuter tarmoqlari o'rtasida ruxsatsiz trafikni oldini olish uchun ishlatiladi. Qo'lda yoki avtomatik ravishda xavfsizlik devori uchun maxsus qoidalar yaratiladi va kirishni boshqarish uchun javobgardir. Linux yadrosi asosida o'rnatilgan operatsion tizim, CentOS 7, o'rnatilgan xavfsizlik devoriga ega va uni xavfsizlik devori boshqaradi. Odatiy bo'lib, FirewallD ishtirok etmoqda va bugun biz uning konfiguratsiyasi haqida gaplashmoqchimiz.

CentOS 7-da xavfsizlik devori sozlamalari

Yuqorida aytib o'tilganidek, CentOS 7-dagi standart xavfsizlik devori FirewallD yordam dasturi sifatida belgilangan. Shuning uchun, xavfsizlik devori konfiguratsiyasi ushbu vosita misolida muhokama qilinadi. Iptables yordamida filtrlash qoidalari ham tuzilishi mumkin, ammo bu biroz boshqacha tarzda amalga oshiriladi. Yuqoridagi dasturning konfiguratsiyasi haqida quyidagi havolani bosish orqali o'qishingizni tavsiya qilamiz va biz FirewallD-ni tahlil qilishni boshlaymiz.

Shuningdek o'qing: CentOS 7 da iptables konfiguratsiyasi

Xavfsizlik devori asoslari

Bir nechta zonalar mavjud - tarmoqqa bo'lgan ishonchga asoslangan trafikni boshqarish qoidalari to'plami. Ularning barchasiga o'zlarining shaxsiy qoidalari beriladi, ularning kombinatsiyasi xavfsizlik devori konfiguratsiyasini shakllantiradi. Har bir zonaga bir yoki bir nechta tarmoq interfeyslari tayinlangan, bu sizga filtrlashni sozlash imkonini beradi. Amaldagi interfeys qo'llaniladigan qoidalarga bevosita ta'sir qiladi. Masalan, umumiy Wi-Fi tarmog'iga ulanish paytida xavfsizlik devori boshqaruv darajasini oshiradi, uy tarmog'ida esa zanjir a'zolari uchun qo'shimcha kirish imkoniyatini ochadi. Ko'rib chiqilgan xavfsizlik devorida ushbu zonalar mavjud:

  • trusted - Tarmoqdagi barcha qurilmalar uchun maksimal ishonch darajasi;
  • home - LAN guruhi. Atrof-muhitga ishonch bor, lekin kiruvchi ulanishlar faqat ma'lum mashinalar uchun mavjud;
  • work - Ish maydoni. Ishonch aksariyat qurilmalarda mavjud va qo'shimcha xizmatlar faollashtirilgan;
  • dmz - ajratilgan kompyuter maydoni. Ushbu qurilmalar tarmoqning qolgan qismidan uzilgan va faqat ma'lum kiruvchi trafikning o'tishiga imkon beradi;
  • internal - ichki tarmoq maydoni. Ishonch barcha mashinalarga tegishli, qo'shimcha xizmatlar ochiladi;
  • external - oldingi maydonning teskarisi. Tashqi tarmoqlarda NAT maskalanishi faol bo'lib, ichki tarmoqni yopadi, lekin kirish imkoniyatlarini bloklamaydi;
  • public - barcha qurilmalarga ishonmaslik va kiruvchi trafikni individual qabul qilish bilan umumiy tarmoq zonasi;
  • block - barcha kiruvchi so'rovlar xato yuborilishi bilan bekor qilinadi icmp-host tomonidan taqiqlangan o icmp6-adm-taqiqlangan;
  • drop - ishonchning minimal darajasi. Kiruvchi ulanishlar hech qanday ogohlantirishsiz o'chiriladi.

Siyosatlarning o'zi vaqtinchalik va doimiy ravishda taqdim etiladi. Parametrlar qo'llanilganda yoki tahrir qilinganda, xavfsizlik devorining harakati darhol qayta ishga tushirilmasdan o'zgartiriladi. Agar vaqtinchalik qoidalar qo'llanilgan bo'lsa, ular FirewallD-ni qayta ishga tushirgandan so'ng tiklanadi. Doimiy qoida doimiy qoida deb ataladi, chunki u doimiy ravishda saqlanib qoladi —permanent.

Xavfsizlik devori yoqilmoqda

Avvalo, FirewallD-ni ishga tushirishingiz yoki uning faol holatda ekanligiga ishonch hosil qilishingiz kerak. Faoliyat devoriga faqat ishlaydigan demon (fonda ishlaydigan dastur) qoidalarni qo'llaydi. Faollashtirish tom ma'noda bir necha marta bosish orqali amalga oshiriladi:

  1. Klassik yugurish "Terminal". har qanday qulay usul bilan, masalan menyu orqali "Ilovalar"..
  2. Buyruqni kiriting sudo systemctl start firewalld.service tugmachasini bosing Men kirdim.
  3. Yordamchi dastur super foydalanuvchi sifatida ishlaydi, shuning uchun parolni ko'rsatib, autentifikatsiya qilishingiz kerak bo'ladi.
  4. Xizmatning ishlashini tekshirish uchun belgilang firewall-cmd --state.
  5. Ochilgan grafik oynada qayta tasdiqlang.
  6. Yangi satr paydo bo'ladi. Qiymat "shoshib" xavfsizlik devori ishlayotganligini bildiradi.

Ammo, agar siz xavfsizlik devorini vaqtincha yoki butunlay o'chirib qo'yishingiz kerak bo'lsa, biz quyidagi havoladagi boshqa maqolamizda ko'rsatilgan ko'rsatmalardan foydalanishni tavsiya etamiz.

Ko'proq o'qing: CentOS 7-da xavfsizlik devorini o'chirib qo'yish

Standart qoidalar va mavjud zonalarni ko'ring

Hatto normal rejimda ishlaydigan xavfsizlik devori ham o'ziga xos qoidalar va mavjud zonalarga ega. Qoidalarni tahrir qilishni boshlashdan oldin, joriy sozlamalarni ko'rib chiqish yaxshi bo'ladi. Buning uchun oddiy buyruqlar ishlatiladi:

  1. Standart zonani aniqlash uchun buyruqdan foydalaning firewall-cmd --get-default-zone.
  2. Uni faollashtirgandan so'ng, kerakli parametr paydo bo'lgan yangi qatorni ko'rasiz. Masalan, quyidagi skrinshotda zona faol hisoblanadi "ommaviy".
  3. Shu bilan birga, bir vaqtning o'zida bir nechta zonalar faol bo'lishi mumkin va ular boshqa interfeys bilan ham bog'langan. Ushbu ma'lumotni toping firewall-cmd --get-active-zones.
  4. Equipo firewall-cmd --list-all u standart zona uchun belgilangan qoidalarni ko'rsatadi. Quyidagi skrinshotga qarang. Siz issiq nuqtani ko'rishingiz mumkin "ommaviy" qoidaga tayinlangan "standart" - standart operatsiya, interfeys "Enp0s3" va ikkita xizmat qo'shildi.
  5. Agar mavjud bo'lgan barcha xavfsizlik devorlari zonalarini bilishingiz kerak bo'lsa, kiriting firewall-cmd --get-zones.
  6. Boshqa tomondan, ma'lum bir maydonning parametrlari bilan belgilanadi firewall-cmd --zone=name --list-all, qaerda nombre - hudud nomi.

Kerakli parametrlar aniqlangandan so'ng, ularni o'zgartirish va qo'shishga o'tishingiz mumkin. Keling, eng mashhur konfiguratsiyalarning ayrimlarini batafsil ko'rib chiqaylik.

Interfeys zonasi konfiguratsiyasi

Yuqoridagi ma'lumotlardan ma'lumki, har bir interfeys uchun standart zona belgilanadi. Sozlamalar foydalanuvchi tomonidan yoki jadval asosida o'zgartirilguncha u ushbu zonada qoladi. -Ni faollashtirish orqali interfeysni seans zonasiga qo'lda ko'chirish mumkin sudo firewall-cmd --zone=home --change-interface=eth0. Natija "muvaffaqiyat" ko'chish muvaffaqiyatli bo'lganligini ko'rsatadi. Ushbu parametrlar xavfsizlik devorini qayta ishga tushirgandan so'ng darhol tiklanganligini unutmang.

Sozlamalarni shu tarzda o'zgartirganda, xizmatlarning ishlashi tiklanishi mumkinligini unutmang. Ulardan ba'zilari ma'lum zonalarda ishlashni qo'llab-quvvatlamaydi, masalan SSH, mavjud bo'lsa ham "uy"ammo xizmat maxsus yoki maxsus xizmatlarda ishlashdan bosh tortadi. Interfeys yangi filialga muvaffaqiyatli bog'langanligini tekshirish uchun kiriting firewall-cmd --get-active-zones.

Agar ilgari o'rnatilgan sozlamalarni tiklashni xohlasangiz, shunchaki xavfsizlik devorini tiklashni amalga oshiring: sudo systemctl restart firewalld.service.

Ba'zan interfeys zonasini bitta seans uchun o'zgartirish qulay emas. Bunday holda, barcha sozlamalar doimiy ravishda kiritilishi uchun siz konfiguratsiya faylini tahrirlashingiz kerak bo'ladi. Buning uchun sizga matn muharriridan foydalanishni taklif qilamiz Nanorasmiy ombordan o'rnatiladi sudo yum install nano. Quyidagi qadamlar bajarilishi kerak:

  1. Kiritish orqali muharrir yordamida konfiguratsiya faylini oching sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0qaerda eth0 - kerakli interfeysning nomi.
  2. Iltimos, qo'shimcha choralar ko'rish uchun hisobning haqiqiyligini tasdiqlang.
  3. Variantni qidiring "ZONA" va uning qiymatini kerakli qiymatga o'zgartiring, masalan, public o home.
  4. Tugmalarni ushlab turing. Ctrl + OO'zgarishlarni saqlash uchun.
  5. Fayl nomini o'zgartirmang, shunchaki bosing Men kirdim.
  6. Yordamida matn muharriridan chiqing Ctrl + X.

Endi interfeys maydoni siz konfiguratsiya faylini keyingi tahrirlashigacha belgilaganingizdek bo'ladi. Yangilangan sozlamalar kuchga kirishi uchun ishga tushiring sudo systemctl restart network.service и sudo systemctl restart firewalld.service.

Standart zona konfiguratsiyasi

Yuqorida biz allaqachon standart zona sozlamalarini topish buyrug'ini namoyish etdik. Siz tanlagan parametrni sozlash orqali uni o'zgartirish ham mumkin. Buning uchun faqat konsolni yozing sudo firewall-cmd --set-default-zone=nameqaerda nombre - bu kerakli zonaning nomi.

Buyruqning muvaffaqiyatli bajarilishi ko'rsatiladi "muvaffaqiyat" alohida satrda. Agar konfiguratsiya fayllarida boshqacha ko'rsatilmagan bo'lsa, barcha mavjud interfeyslar belgilangan zonaga bog'lanadi.

Dasturlar va yordam dasturlari uchun qoidalar yaratish

Ushbu maqolaning boshida biz har bir zonaning harakatini tasvirlab berdik. Ushbu filiallardagi xizmatlar, kommunal xizmatlar va dasturlarning spetsifikatsiyasi har bir foydalanuvchi ehtiyojiga qarab har bir filialga individual sozlamalarni qo'llashga imkon beradi. Boshlash uchun sizga hozirda mavjud bo'lgan xizmatlarning to'liq ro'yxati bilan tanishishingizni maslahat beramiz: firewall-cmd --get-services.

Natijada to'g'ridan-to'g'ri konsolda ko'rsatiladi. Har bir server bo'sh joy bilan ajralib turadi va ro'yxatda siz o'zingizni qiziqtirgan vositani osongina topishingiz mumkin. Agar siz qidirayotgan xizmatni topa olmasangiz, uni qo'shimcha ravishda o'rnatishingiz kerak. O'rnatish qoidalari uchun dasturiy ta'minotning rasmiy hujjatlariga qarang.

Yuqoridagi buyruq faqat xizmatlarning nomlarini ko'rsatadi. Ularning har biri haqida batafsil ma'lumot yo'lda joylashgan alohida fayl orqali olinadi /usr/lib/firewalld/services. Ushbu hujjatlar XML formatida, masalan SSH ga o'tish yo'li quyidagicha ko'rinadi /usr/lib/firewalld/services/ssh.xmlva hujjat quyidagi tarkibga ega:

SSH
Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.

Muayyan hududdagi yordam xizmati qo'lda faollashtiriladi. V "Terminal". buyruqni qo'yish kerak sudo firewall-cmd --zone=public --add-service=httpqaerda –Zona = ommaviy - faollashtiriladigan zona va –Add-service = http - xizmat nomi. Ushbu o'zgarish faqat bitta seans ichida kuchga kirishini unutmang.

Doimiy qo'shilish tomonidan amalga oshiriladi sudo firewall-cmd --zone=public --permanent --add-service=httpva natija "muvaffaqiyat" operatsiya muvaffaqiyatli yakunlanganligini bildiradi.

Ro'yxatni alohida konsol qatorida aks ettirish orqali ma'lum bir mintaqa uchun doimiy qoidalarning to'liq ro'yxatini ko'rishingiz mumkin: sudo firewall-cmd --zone=public --permanent --list-services.

Xizmatga kirishning etishmasligi bilan bog'liq muammolarni bartaraf etish

Odatiy bo'lib, xavfsizlik devori qoidalari ruxsat berilganidek, eng mashhur va xavfsiz xizmatlarni ro'yxatlaydi, ammo ba'zi standart yoki uchinchi tomon dasturlari xavfsizlik devori tomonidan bloklanadi. Agar shunday bo'lsa, foydalanuvchi kirish muammosini hal qilish uchun sozlamalarni qo'lda o'zgartirishi kerak. Bu ikki xil usulda amalga oshirilishi mumkin.

Port investitsiyalari

Ma'lumki, barcha tarmoq xizmatlari ma'lum bir portdan foydalanadilar. Bu xavfsizlik devori tomonidan osongina aniqlanadi va uni bloklash uchun ishlatilishi mumkin. Ushbu xavfsizlik devori harakatlarining oldini olish uchun buyruq bilan kerakli portni oching sudo firewall-cmd --zone=public --add-port=0000/tcpqaerda –Zona = ommaviy - port uchun maydon, –Add-port = 0000 / tcp - port raqami va protokoli. Variant firewall-cmd --list-ports ochiq portlar ro'yxatini namoyish etadi.

Agar oraliqda portlarni ochishingiz kerak bo'lsa, chiziqdan foydalaning sudo firewall-cmd --zone=public --add-port=0000-9999/udpqaerda –Add-port = 0000-9999 / udp - Portlar doirasi va ularning protokoli.

Yuqoridagi buyruqlar faqat ushbu parametrlarning qo'llanilishini tekshirishga imkon beradi. Muvaffaqiyatli bo'lsa, doimiy konfiguratsiyaga bir xil portlar qo'shilishi kerak va bu kirish orqali amalga oshiriladi sudo firewall-cmd --zone=public --permanent --add-port=0000/tcp o sudo firewall-cmd --zone=public --permanent --add-port=0000-9999/udp. Ochiq doimiy portlarning ro'yxati quyidagicha: sudo firewall-cmd --zone=public --permanent --list-ports.

Xizmat ta'rifi

Ko'rib turganingizdek, portlarni qo'shish qiyin emas, lekin juda ko'p dastur qo'llanilganda protsedura murakkablashadi. Amaldagi barcha portlarni kuzatib borish qiyin, shuning uchun xizmatni aniqlash yaxshiroq variant:

  1. Yozish orqali konfiguratsiya faylini nusxalash sudo cp /usr/lib/firewalld/services/service.xml /etc/firewalld/services/example.xmlqaerda service.xml - bu xizmat faylining nomi va example.xml. - sizning nusxangizning nomi.
  2. Nusxasini har qanday matn muharriri orqali o'zgartirish uchun oching, masalan sudo nano /etc/firewalld/services/example.xml.
  3. Masalan, biz HTTP xizmatining nusxasini yaratamiz. Qisqa ism va tavsif kabi turli xil metadata asosan hujjatda ko'rinadi. Serverga faqat port raqami va protokolning o'zgarishi ta'sir qiladi. Chiziq ustida « » qo'shilishi kerak <port protocol="tcp" port="0000"/>portni ochish uchun. tcp - foydalanilgan protokol va 0000 - port raqami.
  4. Barcha o'zgarishlarni saqlash (Ctrl + O), faylni yoping (Ctrl + X) -ni tanlang va keyin sozlamalarni qo'llash uchun xavfsizlik devorini qayta yoqing sudo firewall-cmd --reload. Keyin xizmat mavjud xizmatlar ro'yxatida paydo bo'ladi, ular orqali maslahat olish mumkin firewall-cmd --get-services.

Siz qilishingiz kerak bo'lgan narsa - xizmatga kirish muammosini hal qilish uchun eng mos usulni tanlash va berilgan ko'rsatmalarga amal qilishdir. Ko'rib turganingizdek, barcha qadamlar juda oson va qiyinchiliklar tug'ilmasligi kerak.

Foydalanuvchilar zonalarini yaratish

FirewallD dastlab ma'lum qoidalarga ega bo'lgan turli xil zonalarni yaratganligini allaqachon bilasiz. Biroq, tizim administratori kabi foydalanuvchi zonasini yaratishi kerak bo'lgan holatlar mavjud "Ommaviy veb-sayt" o'rnatilgan veb-server uchun yoki "Shaxsiy DNS" - DNS-server uchun. Filiallarni qanday qo'shishni ko'rsatish uchun biz ushbu ikkita misoldan foydalanamiz:

  1. Buyruqlar bilan ikkita yangi doimiy zonani yarating sudo firewall-cmd --permanent --new-zone=publicweb и sudo firewall-cmd --permanent --new-zone=privateDNS.
  2. Ular asbobni qayta yuklashdan keyin mavjud bo'ladi sudo firewall-cmd --reload. Doimiy zonalarni ko'rish uchun kiriting sudo firewall-cmd --permanent --get-zones.
  3. Ularga tegishli xizmatlarni tayinlang, masalan, "SSH"., "HTTP" и "HTTPS".. Bu buyruqlar bilan amalga oshiriladi sudo firewall-cmd --zone=publicweb --add-service=ssh, sudo firewall-cmd --zone=publicweb --add-service=http и sudo firewall-cmd --zone=publicweb --add-service=httpsQaerda? –Zona = publicweb - qo'shiladigan zonaning nomi. Yozish orqali xizmatlarning faolligini ko'rishingiz mumkin firewall-cmd --zone=publicweb --list-all.

Ushbu maqolada siz qanday qilib maxsus zonalarni yaratish va ularga xizmatlarni qo'shishni bilib oldingiz. Yuqorida ularning standart qiymatlarini o'rnatish va interfeyslarni qanday belgilashni tushuntirib berdik, faqat to'g'ri ismlarni ko'rsatish kifoya. Doimiy o'zgarishlarni amalga oshirgandan so'ng, xavfsizlik devorini qayta ishga tushirishni unutmang.

Ko'rib turganingizdek, FirewallD xavfsizlik devori konfiguratsiyasini iloji boricha moslashuvchan qilishga imkon beradigan juda keng qamrovli vositadir. Qolgan yagona narsa - bu yordamchi dastur tizim bilan birgalikda ishga tushirilishi va belgilangan qoidalar darhol ishlay boshlashiga ishonch hosil qilish. Buni buyruq bilan bajaring sudo systemctl enable firewalld.

Biz sizning muammoingizda sizga yordam bera olganimizdan xursandmiz.

Siz uchun nima ishlamaganligini tasvirlab bering.
Bizning mutaxassislarimiz imkon qadar tezroq javob berishga harakat qilishadi.

Ushbu maqola sizga yordam berdimi?