Centos 7 portini ochish Interfeys zonasini doimiy ravishda o'zgartirish

Bugun men sizni mashhur operatsion tizimda universal serverning dastlabki konfiguratsiyasi haqidagi tasavvurim bilan tanishtiraman. Men sizga centos serverining asosiy konfiguratsiyasini o'rnatishdan so'ng darhol uni istalgan hajmda ishlatish uchun qanday qilishni aytaman. Ushbu amaliy maslahatlar serveringiz xavfsizligi va qulayligini oshiradi. Maqola Centos-ning so'nggi ikkita nashri - 7 va 8 uchun tegishli bo'ladi.

  1. Men yangi o'rnatilgan serverda bajarayotgan dastlabki centos sozlamalarini sanab o'ting.
  2. Men odatiy sozlashda foydalanadigan konfiguratsiyalar misollarini ko'rsating.
  3. Tizim bilan ishlash tajribangiz asosida centosni o'rnatish bo'yicha maslahat bering.
  4. Serverni boshqarishga yordam beradigan odatiy dasturlar va yordamchi dasturlar ro'yxatini taqdim eting.

Ushbu maqola server haqidagi maqolalar turkumining bir qismidir.

Kirish

Centos 8-ning yangi versiyasi chiqqandan so'ng, uni bitta maqolada tasvirlash qiyin bo'ldi dastlabki sozlash ikkala server ham, lekin men maqolani bo'lishni xohlamadim, chunki unga turli joylardan ko'plab kiruvchi havolalar mavjud. Ikkala nashrda ham umumiy materialni saqlash qulayroq, men buni qilaman. Shu bilan birga, ikkita versiya o'rtasidagi farqlar aniq ko'rinadi, bu centos 8 chiqarilgandan keyin bir necha yil o'tgach, ikkalasi ham tegishli bo'ladi va vaziyatga qarab ikkala versiyadan ham foydalanishga to'g'ri keladi.

Centos 7 paket menejeridan foydalanadi yum, va Centos 8 da - dnf... Shu bilan birga, biz yum dan dnf ga ramziy havolani qoldirdik, shuning uchun siz birinchi ismni ham, ikkinchisini ham yozishingiz mumkin. Barqarorlik uchun men hamma joyda yum dan foydalanaman va sizni ogohlantiraman, shuning uchun nima uchun bunday qilayotganimni tushunasiz. Aslida, dnf CentOS 8 da qo'llaniladi, bu bir xil dasturiy ta'minotning turli versiyalari bilan ishlashga imkon beruvchi boshqa, zamonaviyroq paket menejeri. Buning uchun centos 8 uchun paydo bo'lgan alohida omborlardan foydalaniladi.

CentOS-ni dastlabki sozlash

Shaxsan, o'rnatishdan so'ng, men tizimni to'liq yangilash orqali, centos yoki boshqa yo'l bilan har qanday tizimni o'rnatishni boshlayman. Agar o'rnatish tasviri yangi bo'lsa yoki o'rnatish tarmoq orqali amalga oshirilgan bo'lsa, unda yangilanishlar bo'lmaydi. Ular ko'pincha topiladi, chunki o'rnatish tasvirlari har doim ham muntazam yangilanmaydi.

Tizimni yangilash

# yum yangilash

Ma'muriyat qulayligi uchun men har doim Midnight Commander-ni yoki shunchaki mc-ni o'rnataman:

# yum install mc

Va darhol buning uchun men faylda aniq ko'rsatilmagan barcha fayllarning sintaksisini ta'kidlashni yoqaman. / usr / almashish / mc / sintaksis / Sintaksis sh uchun sintaksis va bash skriptlari... Ushbu umumiy sintaksis serverda eng ko'p ishlatiladigan konfiguratsiya fayllari uchun juda mos keladi. Faylni qayta yozing noma'lum.sintaksis... Bu .conf va .cf fayllariga qo'llaniladigan shablon, chunki ularga aniq sintaksis biriktirilmagan.

# cp /usr/share/mc/syntax/sh.syntax /usr/share/mc/syntax/unknown.syntax

Keyinchalik, tarmoq yordam dasturlari yordam beradi. Tizimni o'rnatishda siz tanlagan boshlang'ich paketlar to'plamiga qarab, sizda bir yoki boshqa tarmoq yordam dasturlari to'plami bo'ladi. Mana men shaxsan o'rganib qolganlar ro'yxati - ifconfig, netstat, nslookup va boshqalar. Agar sizga kerak bo'lsa, men kabi, agar ular allaqachon mavjud bo'lmasa, ularni alohida o'rnatishni taklif qilaman. Agar ularga haqiqatan ham kerak bo'lmasa va ulardan foydalanmasangiz, ularni o'rnatishni o'tkazib yuborishingiz mumkin. Keling, hozirda tizimda nima borligini tekshirib ko'ramiz

# ifconfig

Agar javobni ko'rsangiz:

Bash: ifconfig: buyrug'i topilmadi

Bu yordam dasturi o'rnatilmaganligini anglatadi. CentOS-da ifconfig o'rniga endi yordamchi dastur mavjud ip... Bu nafaqat centoslarga tegishli. Bu deyarli barcha mashhur zamonaviy Linux distributivlaridagi rasm. Men ifconfig ga anchadan beri o'rganib qolganman, garchi oxirgi paytlarda uni deyarli ishlatmayman. Men har doim turli xil Linux distributivlarida hamma narsa bir xil bo'lishini yoqtirardim. Ifconfig-dan foydalanib, siz tarmoqni nafaqat Linux-da, balki freebsd-da ham sozlashingiz mumkin. Bu qulay. Va har bir tarqatish o'z vositasiga ega bo'lganda, bu qulay emas. Garchi hozir bu unchalik dolzarb emas, chunki men endi Freebsd bilan ishlamayman va ip yordam dasturi barcha Linux distributivlarida. Biroq, agar sizga ifconfig kerak bo'lsa, paketni o'rnatishingiz mumkin tarmoq vositalari, unga quyidagilar kiradi:

# yum net-vositlarini o'rnating

Nslookup buyruqlari yoki, masalan, xost, biz uchun ishlashi uchun paketni o'rnatishingiz kerak bog'lovchilar... Agar bu bajarilmasa, buyruqqa:

# nslookup

Chiqish quyidagicha bo'ladi:

Bash: nslookup: buyruq topilmadi

Shunday qilib, bind-utils-ni o'rnating:

# yum bind-utils o'rnating

SELinux-ni o'chirib qo'ying

SELinux-ni o'chirib qo'ying. Uning ishlatilishi va alohida suhbatni o'rnatish. Endi men buni qilmayman. Shunday qilib, biz o'chirib qo'yamiz:

# mcedit / etc / sysconfig / selinux

qiymatini o'zgartiring

SELINUX = o'chirilgan

O'zgarishlar kuchga kirishi uchun siz qayta ishga tushirishingiz mumkin:

# qayta ishga tushirish

Va agar siz SELinux-ni qayta ishga tushirmasdan o'chirishni qo'llamoqchi bo'lsangiz, quyidagi buyruqni bajaring:

# setenforce 0

Men har doim SELinux-ni o'chirib qo'yish haqida juda ko'p tanqid qilaman. Men uning qanday ishlashini bilaman, uni sozlashim mumkin. Bu, albatta, unchalik qiyin emas va o'zlashtirish qiyin emas. Bu mening ataylab qilgan tanlovim, garchi ba'zida men uni sozlayman. Tizim bilan ishlash formatim shundayki, menga ko'pincha SELinux kerak emas, shuning uchun men bunga vaqt sarflamayman va asosiy sozlamalarda centosni o'chirib qo'ymayman. Tizim xavfsizligi murakkab ish, ayniqsa zamonaviy dunyo mikroservislar va konteynerlar hukmronlik qiladigan veb-ishlab chiqish. SELinux - bu har doim va hamma joyda kerak bo'lmaydigan maxsus vosita. Shuning uchun, bu maqolaga tegishli emas. Kimga kerak bo'lsa, SELinux-ni alohida yoqadi va sozlaydi.

Tarmoq parametrlarini belgilash

O'rnatishdan keyin biz centosning asosiy konfiguratsiyasini davom ettiramiz. Endi biz buni qilamiz, agar biron sababga ko'ra o'rnatish vaqtida buni qilmagan bo'lsak yoki ularni o'zgartirish kerak bo'lsa. Umuman olganda, Centos-dagi tarmoq yordamida sozlangan Tarmoq menejeri va uning konsol yordam dasturi nmtui... Bu tizimning asosiy sozlamalarida keladi. Oddiy va tushunarli grafik interfeys mavjud, shuning uchun aytadigan hech narsa yo'q. Men tarmoq skriptlarining konfiguratsiya fayllari orqali tarmoqni sozlashga ko'proq odatlanganman. Centos 7-versiyasida ular qutidan tashqarida, 8-versiyasida ular olib tashlandi. Tarmoqni sozlash uchun ulardan foydalanish uchun paketni alohida o'rnatishingiz kerak tarmoq skriptlari.

# yum tarmoq skriptlarini o'rnating

Endi siz tarmoqni sozlashingiz mumkin. Buning uchun faylni oching / etc / sysconfig / tarmoq skriptlari / ifcfg-eth0

# mcedit / etc / sysconfig / tarmoq skriptlari / ifcfg-eth0

Olsangiz tarmoq sozlamalari dhcp tomonidan, keyin konfiguratsiya faylidagi minimal sozlamalar to'plami quyidagicha bo'ladi.

TYPE = "Ethernet" BOOTPROTO = "dhcp" DEFROUTE = "ha" IPV4_FAILURE_FATAL = "yo'q" NAME = "eth0" DEVICE = "eth0" ONBOOT = "ha"

Statik IP-manzilni sozlash uchun sozlamalar quyidagicha bo'ladi.

TYPE = "Ethernet" BOOTPROTO = "yo'q" DEFROUTE = "ha" IPV4_FAILURE_FATAL = "yo'q" NAME = "eth0" QURILMA = "eth0" ONBOOT = "ha" IPADDR = 192.168.167.117 DNS1 = GATE122. = ATE18.W18. 192.168.167.113

IPADDR maydonida manzilingizni, PREFIX tarmoq maskasida, GATEWAY shlyuzida, dns serverining DNS manzilini kiriting. Faylni saqlang va sozlamalarni qo'llash uchun tarmoqni qayta ishga tushiring:

# systemctl tarmog'ini qayta ishga tushiring

Xavfsizlik devorini o'rnatish

Repozitariylarni qo'shish

Centosni o'rnatishda sizga ko'pincha standart sholg'omda bo'lmagan dasturiy ta'minot kerak bo'ladi. Qo'shimcha paketlarni o'rnatish uchun sizga kerak bo'ladi. Eng mashhuri - EPEL. Ilgari bu rpmforge edi, lekin u bir necha yillardan beri yopildi. Hamma uni unutdi. Biz EPEL omborini ulaymiz. U bilan hamma narsa oddiy, u standart sholg'omdan qo'shiladi:

# yum o'rnatish epel-release

Bundan tashqari, CentOS 7 uchun REMI repozitori juda foydali bo‘lib, standart ombordagilardan farqli o‘laroq, PHP ning eng so‘nggi versiyalarini o‘rnatish imkonini beradi. Sizga eslatib o'taman, bu PHP 5.4, u endi hech narsa uchun yaxshi emas va qo'llab-quvvatlashdan olib tashlangan.

# rpm -Uhv http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Centos 8 remi uchun hali dolzarb emas, lekin menimcha, bu vaqtinchalik. Umuman olganda, centosdagi ushbu ikkita ombor men uchun odatda etarli. Boshqalar esa turli dasturlarni o'rnatish uchun maxsus ehtiyojlar uchun allaqachon ulangan.

bash_history-da tarixni saqlashni sozlash

Biz serverda centos tizimini o'rnatishga o'tamiz. Buyruqlar tarixini saqlash uchun standart mexanizmga ba'zi o'zgarishlar kiritish foydali bo'ladi. Ilgari kiritilgan buyruqlardan birini eslab qolish kerak bo'lganda, u tez-tez yordam beradi. Standart sozlamalarda noqulay bo'lgan ba'zi cheklovlar mavjud. Mana ularning ro'yxati:

  1. Odatiy bo'lib, faqat oxirgi 1000 ta buyruq saqlanadi. Agar ular ko'proq bo'lsa, eskilari o'chiriladi va yangilari bilan almashtiriladi.
  2. Buyruqlarni bajarish sanalari ko'rsatilmagan, faqat ularning ro'yxati bajarilish tartibida.
  3. Seans tugagandan so'ng buyruqlar ro'yxati fayli yangilanadi. Parallel seanslarda ba'zi buyruqlar yo'qolishi mumkin.
  4. Mutlaqo barcha buyruqlar saqlanadi, garchi ba'zilarini saqlashning ma'nosi yo'q.

Oxirgi bajarilgan buyruqlar ro'yxati foydalanuvchining fayldagi uy katalogida saqlanadi .bash_history(boshlang'ich nuqtada). Uni istalgan muharrir ochishi va ko‘rishi mumkin. Ro'yxatni yanada qulayroq ko'rsatish uchun konsolda buyruqni kiritishingiz mumkin:

#tarix

va raqamlangan ro'yxatni ko'ring. Siz faqat kerakli qatorlarni filtrlash orqali ma'lum bir buyruqni tezda topishingiz mumkin, masalan:

# tarix | grep yum

Shunday qilib, tarixda saqlanadigan yum buyrug'ini ishga tushirishning barcha variantlarini ko'ramiz. Keling, sanab o'tilgan kamchiliklarni tuzataylik standart sozlamalar CentOS-da buyruqlar tarixini saqlash. Buning uchun siz faylni tahrirlashingiz kerak .bashrc tarix fayli bilan bir xil katalogda joylashgan. Unga quyidagi qatorlarni qo'shing:

Eksport HISTSIZE = 10000 eksport HISTTIMEFORMAT = "% h% d% H:% M:% S" PROMPT_COMMAND = "history -a" eksport HISTIGNORE = "ls: ll: tarix: w: htop"

Birinchi parametr fayl hajmini 10 000 satrgacha oshiradi. Ko'proq narsani qilish mumkin, garchi bu o'lcham odatda etarli bo'lsa. Ikkinchi parametr buyruq bajarilgan sana va vaqtni saqlashni belgilaydi. Uchinchi qator buyruqni bajargandan so'ng darhol uni tarixga saqlashga majbur qiladi. Oxirgi qatorda biz tarixga yozilishi shart bo'lmagan buyruqlar uchun istisnolar ro'yxatini yaratamiz. Men eng oddiy ro'yxatga misol keltirdim. Siz uni o'zingizning xohishingiz bilan qo'shishingiz mumkin.

O'zgarishlarni qo'llash uchun tizimdan chiqish va qayta ulanish yoki buyruqni ishga tushirish kerak:

# manba ~ / .bashrc

Bu buyruqlar tarixini saqlashni sozlash haqida. .bashrc faylida juda ko'p qiziqarli narsalarni qilishingiz mumkin. Bir vaqtlar meni haydab, sinab ko'rdim, lekin keyin hamma narsani tashlab qo'ydim, chunki bu hech qanday ma'noga ega emas. Mijozlarning serverlari bilan ishlashda men ko'pincha standart bashni ko'raman, shuning uchun unga ko'nikish va unda ishlash yaxshiroqdir. Va individual sozlamalar va bezaklar taqdirdir shaxsiy kompyuterlar va serverlar. Ishchilar emas. Shuning uchun men bu borada centos serveridagi standartga muvofiq boshqa hech narsani sozlamayman.

Tizimni avtomatik yangilash

Server xavfsizligini kerakli darajada ushlab turish uchun uni hech bo'lmaganda o'z vaqtida yangilash kerak - tizim yordam dasturlari va boshqa paketlar bilan yadroning o'zi ham. Buni qo'lda qilishingiz mumkin, ammo samaraliroq ishlash uchun avtomatik bajarishni sozlash yaxshiroqdir. Yangilanishlarni avtomatik ravishda o'rnatish shart emas, lekin hech bo'lmaganda ularning ko'rinishini tekshirish kerak. Men odatda ushbu strategiyaga amal qilaman.

Yum-cron

Centos 7-dagi yangilanishlarni avtomatik tekshirish uchun yordam dasturi bizga yordam beradi yum-cron... U an'anaviy tarzda standart ombordan yum orqali o'rnatiladi.

# yum yum-cronni o'rnating

Yum-cron-ni o'rnatgandan so'ng, yordamchi dasturni bajarish uchun avtomatik vazifa yaratiladi /etc/cron.daily va /etc/cron.hourly... Odatiy bo'lib, yordamchi dastur topilgan yangilanishlarni yuklab oladi, lekin ularni qo'llamaydi. Buning o'rniga, mahalliy ildiz pochta qutisidagi administratorga yangilash bildirishnomasi yuboriladi. Keyin siz qo'lda rejimga o'tasiz va siz uchun qulay vaqtda yangilanishlarni o'rnatish yoki o'rnatmaslik haqida qaror qabul qilasiz. Ushbu ish tartibi menga eng qulay ko'rinadi, shuning uchun men ushbu sozlamalarni o'zgartirmayman.

Yum-cronni quyidagi manzilda joylashgan konfiguratsiya fayllari orqali sozlashingiz mumkin /etc/yum/yum-cron.conf va yum-cron-hourly.conf... Ular yaxshi sharhlangan, shuning uchun ularga batafsil tushuntirishlar kerak emas. Bo'limga e'tibor bering , bu erda siz xabarlarni yuborish parametrlarini belgilashingiz mumkin. Odatiy bo'lib mahalliy xost orqali pochta jo'natiladi. Siz bu yerda parametrlarni oʻzgartirishingiz va uchinchi tomon orqali xabarlar yuborishingiz mumkin pochta serveri... Lekin buning o'rniga, shaxsan men boshqa smtp serverida avtorizatsiya qilish orqali butun server uchun global miqyosda tashqi pochta qutisiga mahalliy ildiz pochtasini yo'naltirishni sozlashni afzal ko'raman.

Dnf - avtomatik

Yuqorida aytganimdek, Centos 8 boshqa paket menejeridan foydalanadi - dnf. U erda paket yangilanishlarini sozlash yordamchi dastur orqali amalga oshiriladi dnf-avtomatik... Keling, uni o'rnatamiz va sozlaymiz.

# yum dnf-avtomatik o'rnatish

Rejalashtirilgan ishga tushirish boshqaruvi endi cron tomonidan emas, balki o'rnatilgan rejalashtiruvchisi bilan systemd tomonidan boshqariladi. Taymerlarni ko'rish avtomatik ishga tushirish buyruqdan foydalanishingiz mumkin:

# systemctl ro'yxat taymerlari * dnf- *

Agar u erda hech qanday vazifa bo'lmasa, taymerni qo'lda qo'shishingiz mumkin:

# systemctl faollashtirish --endi dnf-automatic.timer

Standart taymer server ishga tushgandan bir soat o'tgach dnf-avtomatik ishga tushiriladi va har kuni takrorlanadi. Taymer konfiguratsiyasi shu erda yashaydi - /etc/systemd/system/multi-user.target.wants/dnf-automatic.timer.

dnf-avtomatik uchun konfiguratsiya mavjud /etc/dnf/automatic.conf... Odatiy bo'lib, u faqat yangilanishlarni yuklab oladi, lekin ularni qo'llamaydi. Konfiguratsiya yaxshi izohlangan, shuning uchun uni xohlaganingizcha sozlashingiz mumkin. Alohida tushuntirishlar talab qilinmaydi. Tizim paketi yangilanishlarini o'zingizga moslashtiring. Aytganimdek, men ularni faqat avtomatik ravishda yuklab olaman. Men har doim o'rnatishni qo'lda boshqarish bilan nazorat qilaman.

/ var / log / xabarlarida xabarlarni to'ldirishni o'chirib qo'ying

Centos konfiguratsiyasini davom ettirib, biz bitta kichik noqulaylikni tuzatamiz. Tizimning 7-versiyasining standart o'rnatilishida butun tizim jurnalingiz / var / log / xabarlar bir muncha vaqt o'tgach, server quyidagi yozuvlar bilan tiqilib qoladi.

16 oktabr 14:01:01 xs-files systemd: foydalanuvchi-0.slice tilim yaratilgan. 16 oktabr 14:01:01 xs-files systemd: user-0.slice boshlanmoqda. 16 oktabr 14:01:01 xs-files systemd: foydalanuvchi ildizining 14440-sessiyasi boshlandi. 16 oktabr 14:01:01 xs-files systemd: foydalanuvchi ildizining 14440-sessiyasini boshlash. 16 oktabr 14:01:01 xs-files systemd: foydalanuvchi-0.slice tilim olib tashlandi. 16 oktabr 14:01:01 xs-files systemd: user-0.slice to'xtatilmoqda. 16 oktabr 15:01:01 xs-files systemd: Yaratilgan tilim user-0.slice. 16 oktabr 15:01:01 xs-files systemd: user-0.slice boshlanmoqda. 16 oktabr 15:01:01 xs-files systemd: foydalanuvchi ildizining 14441-sessiyasi boshlandi. 16-oktabr 15:01:01 xs-files systemd: foydalanuvchi ildizining 14441-sessiyasini boshlash. 16 oktabr 15:01:01 xs-files systemd: foydalanuvchi ildizining 14442-sessiyasi boshlandi. 16-oktabr 15:01:01 xs-files systemd: foydalanuvchi ildizining 14442-sessiyasini boshlash. 16 oktabr 15:01:01 xs-files systemd: foydalanuvchi-0.slice tilim olib tashlandi. 16 oktabr 15:01:01 xs-files systemd: user-0.slice to'xtatilmoqda. 16 oktabr 16:01:01 xs-files systemd: Yaratilgan slice user-0.slice. 16 oktabr 16:01:01 xs-files systemd: user-0.slice boshlanmoqda. 16 oktabr 16:01:01 xs-files systemd: foydalanuvchi ildizining 14443-sessiyasi boshlandi. 16 oktabr 16:01:01 xs-files systemd: foydalanuvchi ildizining 14443-sessiyasini boshlash. 16 oktabr 16:01:01 xs-files systemd: Foydalanuvchi-0.slice tilim olib tashlandi.

Men ularni Centos 8 da sezmadim, shuning uchun u erda qiladigan hech narsa yo'q. Xabarlarning amaliy foydasi yo'q, shuning uchun ularni o'chirib qo'yaylik. Buni amalga oshirish uchun biz rsyslog uchun alohida qoida yaratamiz, u erda biz kesib tashlaydigan barcha xabar shablonlarini sanab o'tamiz. Keling, ushbu qoidani kiritamiz alohida fayl /etc/rsyslog.d/ignore-systemd-session-slice.conf.

# cd /etc/rsyslog.d && mcedit ignore-systemd-session-slice.conf agar $ programname == "systemd" va ($ msg "Start sessiyasi" bo'lsa yoki $ msg "Boshlangan seans" bo'lsa yoki $ msg "Yaratilgan" bo'lsa slice "yoki $ msg tarkibida" Starting user- "yoki $ msg tarkibida" Starting User Slice of "yoki $ msg tarkibida" O'chirilgan sessiya "yoki $ msg tarkibida" O'chirilgan foydalanuvchi bo'limi "yoki $ msg tarkibida" To'xtatuvchi foydalanuvchi bo'limi mavjud ) keyin to'xtating

Faylni saqlang va sozlamalarni qo'llash uchun rsyslog-ni qayta ishga tushiring.

# systemctl rsyslogni qayta ishga tushiring

Shuni tushunish kerakki, bu holda biz faqat mahalliy serverda log fayliga toshqinni o'chirib qo'yamiz. Agar siz jurnallarni saqlasangiz, unda ushbu qoidani sozlash kerak bo'ladi.

CentOS da iftop, atop, htop, lsof o'rnatish

Va nihoyat, konfiguratsiya oxirida biz serverning ishlashi paytida foydali bo'lishi mumkin bo'lgan bir nechta foydali yordamchi dasturlarni qo'shamiz.

iftop real vaqtda tarmoq interfeysining yukini ko'rsatadi, uni turli tugmalar bilan ishga tushirish mumkin, men bu haqda batafsil to'xtalmayman, Internetda ushbu mavzu bo'yicha ma'lumotlar mavjud. Biz qo'yamiz:

# yum iftopni o'rnating

Va ikkita qiziqarli vazifa menejeri, men asosan htop-dan foydalanaman, lekin ba'zida tepada yordam beradi. Biz ikkalasini ham qo'yamiz, o'zingiz ko'ring, sizga ko'proq yoqadigan kostyumlarni aniqlang:

# yum install htop # yum install tepaga

Qaysi fayllar ma'lum jarayonlar tomonidan ishlatilishi haqida ma'lumotni ko'rsatish uchun sizga yordam dasturini o'rnatishingizni maslahat beraman lsof... Ertami-kechmi server ishiga tashxis qo'yganingizda bu yordam beradi.

# yum wget bzip2 tracerout gdisk-ni o'rnating

Men uchun hammasi shu. Asosiy CentOS-ni sozlash tugallangandan so'ng, siz asosiy funksiyani o'rnatish va sozlashni boshlashingiz mumkin.

Tizim pochtasini sozlash

CentOS serverini sozlashni tugatish uchun mahalliy ildizga yuborilgan pochta tashqi pochta serveri orqali tanlangan pochta qutisiga yuborilganligiga ishonch hosil qilaylik. Agar bu bajarilmasa, u faylga mahalliy sifatida qo'shiladi / var / spool / mail / root... Va muhim va bo'lishi mumkin foydali ma'lumotlar... Keling, uni tizim administratorining pochta qutisiga yuborish uchun sozlaymiz.

Men bu haqda alohida maqolada batafsil gaplashdim -. Bu erda qisqacha faqat buyruqlar va tez sozlash... Biz kerakli paketlarni o'rnatamiz:

# yum mailx cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain postfiksini o'rnating

Biz postfiks uchun shunday konfiguratsiyani chizamiz.

Cat /etc/postfix/main.cf ## SUVGA SOZLAMA BOSHLADI ########################################################queue_directory = / var / spool / postfix command_directory = / usr / sbin daemon_directory = / usr / libexec / postfix data_directory = / var / lib / postfix mail_owner = postfix inet_interfaces = localhost inet_protocols = barcha noma'lum_local_recipient_recipient_alitabase = alitabase_ alitabase = alitabase_ga ega / alitabase_: alitabase_ va hokazo. = debiah: / etc / com = / bin: / usr / bin: / usr / local / bin: / usr / X11R6 / bin ddd $ daemon_directory / $ process_name $ process_id & uyqu 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = / usr / bin / newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = manpage_directory yo'q = / usr / share / man sample_directory = /usr/share/doc/postfix-2.10. readme_directory = / usr / share / doc / postfix-2.10.1 / README_FILES ## SUVGA SOZLASHTIRISH ###################### # Server nomi ko'rsatilgan hostname myhostname = centos-test.xs.local # Bu yerda n mantiq haqida, siz faqat domenni qoldirishingiz kerak, lekin bu holda serverning to'liq nomini qoldirgan ma'qul, shunda serverning to'liq nomi jo'natuvchi # maydonida paydo bo'ladi, shuning uchun xizmatni tahlil qilish qulayroqdir. xabarlar mydomain = centos-test.xs.local mydestination = $ myhostname myorigin = $ mydomain # Biz pochta jo'natadigan server manzili relayhost = mailsrv.mymail.ru:25 smtp_use_tls = ha smtp_sasl_auth_enable = ha smtp_sasl_auth_enable = ha smtpassword_sashps / etc / post / sasl_passwd smtp_sasl_security_options = noanseonymous smtp_sasl_security_options = noanseonymous smtp

Avtorizatsiya uchun foydalanuvchi nomi va parol haqida ma'lumotga ega fayl yarating.

# mcedit / etc / postfix / sasl_passwd mailsrv.mymail.ru:25 [elektron pochta himoyalangan]: parol

db faylini yarating.

# postmap / etc / postfix / sasl_passwd

Endi siz postfiksni qayta ishga tushirishingiz va uning ishlashini tekshirishingiz mumkin.

# systemctl postfixni qayta ishga tushiring

Ildiz uchun standart taxallusga / etc / taxalluslar, ildizga yuborilgan pochta takrorlanadigan tashqi manzilni qo'shing. Buning uchun oxirgi qatorni o'zgartirib, belgilangan faylni tahrirlang.

#root: marc

ildiz: ildiz, [elektron pochta himoyalangan]

Sertifikat bazasini yangilash:

# ta yangi taxallus

Keling, konsol orqali mahalliy ildizga xat yuboramiz:

# df -h | mail -s "Diskdan foydalanish" ildizi

Xat tashqi pochta qutisiga o'tishi kerak. Agar siz Yandex-dan pochta qutisidan foydalansangiz, siz pochta serveri jurnalida xatolikka yo'l qo'yasiz va xat yuborilmaydi.

Relay = smtp.yandex.ru: 25, kechikish = 0,25, kechikishlar = 0/0 / 0,24 / 0,01, dsn = 5.7.1, holat = qaytgan (xost smtp.yandex.ru dedi: 553 5.7.1 Yuboruvchining manzili rad etildi: auth foydalanuvchiga tegishli emas. (MAIL FROM buyrug'iga javob sifatida))

Bu xato sizda avtorizatsiya uchun foydalanadigan pochta jo‘natuvchisi bilan bir xil pochta qutisi yo‘qligini bildiradi. Buni qanday tuzatish kerak, men sizga alohida maqolada aytib beraman -. Boshqalar bilan pochta tizimlari bunday tekshiruv bo'lmagan joyda hamma narsa yaxshi bo'lishi kerak va hokazo.

Bu mahalliy pochta konfiguratsiyasini yakunlaydi. Endi mahalliy ildizga yo'naltirilgan barcha xatlar, masalan, cron xabarlari tashqi pochta qutisiga ko'paytiriladi va to'liq huquqli pochta serveri orqali yuboriladi. Shunday qilib, elektron pochta xabarlari odatda spamga tushmasdan yetkaziladi (garchi shart bo'lmasa ham, evristik filtrlar ham mavjud).

Xulosa

Biz CentOS serverini o'rnatish bo'yicha ba'zi bir dastlabki qadamlarni bajardik, men odatda serverni o'rnatishdan so'ng darhol tayyorlashda qilaman. Men o'zimni mutlaq haqiqat deb ko'rsatmayman, ehtimol men biror narsani etishmayapman yoki men buni to'g'ri qilmayapman. Mantiqiy va mazmunli mulohazalar va takliflar bo'lsa, xursand bo'lardim.

..
  • Linux-ga asoslangan tarmoqlarni joylashtirish, sozlash va saqlashning o'ziga xos xususiyatlarini tushunish.
  • paydo bo'lgan muammolarni tezda hal qilish va tizimning barqaror va uzluksiz ishlashini ta'minlash qobiliyati.
  • Kirish imtihonida o'zingizni sinab ko'ring va dasturning tafsilotlarini ko'ring.

    Operatsion tizimda o'rnatilgan xavfsizlik devori o'rtasida ruxsatsiz trafik oqimining oldini olish uchun ishlatiladi kompyuter tarmoqlari... Xavfsizlik devori uchun maxsus qoidalar qo'lda yoki avtomatik ravishda yaratiladi, ular kirishni boshqarish uchun javobgardir. Linux yadrosida ishlab chiqilgan operatsion tizim CentOS 7 o'rnatilgan xavfsizlik devoriga ega va xavfsizlik devori tomonidan boshqariladi. FirewallD sukut bo'yicha yoqilgan va biz bugun uning konfiguratsiyasi haqida gaplashmoqchimiz.

    Yuqorida aytib o'tilganidek, FirewallD CentOS 7 da standart xavfsizlik devori hisoblanadi. Shuning uchun xavfsizlik devorini o'rnatish ushbu vositadan misol sifatida ko'rib chiqiladi. Xuddi shu iptables yordamida filtrlash qoidalarini o'rnatishingiz mumkin, ammo bu biroz boshqacha tarzda amalga oshiriladi. Quyidagi havolani bosish orqali eslatib o'tilgan yordam dasturining konfiguratsiyasi bilan tanishishingizni tavsiya qilamiz va biz FirewallD-ni tahlil qilishni boshlaymiz.

    Faervol haqida asosiy tushunchalar

    Bir nechta zonalar mavjud - tarmoqlarga ishonch asosida trafikni boshqarish qoidalari to'plami. Ularning barchasiga o'z siyosatlari tayinlangan, ularning kombinatsiyasi xavfsizlik devori konfiguratsiyasini tashkil qiladi. Har bir zonaga bir yoki bir nechta tarmoq interfeyslari tayinlangan, bu ham filtrlashni sozlash imkonini beradi. Qo'llaniladigan qoidalar to'g'ridan-to'g'ri ishlatiladigan interfeysga bog'liq. Misol uchun, umumiy Wi-Fi tarmog'iga ulanganda, xavfsizlik devori nazorat darajasini oshiradi va uy tarmog'ida u zanjir ishtirokchilari uchun qo'shimcha kirishni ochadi. Ko'rib chiqilayotgan xavfsizlik devori quyidagi zonalarni o'z ichiga oladi:

    • ishonchli - barcha tarmoq qurilmalariga ishonchning maksimal darajasi;
    • uy - mahalliy tarmoq guruhi. Atrof-muhitga ishonch bor, lekin kiruvchi ulanishlar faqat ma'lum mashinalar uchun mavjud;
    • ish - ish maydoni. Aksariyat qurilmalarda ishonch mavjud va qo'shimcha xizmatlar faollashtiriladi;
    • dmz - izolyatsiya qilingan kompyuterlar uchun zona. Ushbu qurilmalar tarmoqning qolgan qismidan uzilgan va faqat ma'lum kiruvchi trafikka ruxsat beradi;
    • ichki - ichki tarmoqlar zonasi. Ishonch barcha mashinalarga qo'llaniladi, qo'shimcha xizmatlar ochiladi;
    • tashqi - oldingi zonaga teskari. Tashqi tarmoqlarda NAT maskaradlash faol, ichki tarmoqni qamrab oladi, lekin kirish imkoniyatini bloklamaydi;
    • ommaviy - barcha qurilmalarga ishonchsiz va kiruvchi trafikni individual qabul qiladigan umumiy foydalanishdagi tarmoqlar zonasi;
    • bloklash - barcha kiruvchi so'rovlar o'chiriladi va xatolik yuboriladi icmp-host-taqiqlangan yoki icmp6-adm-taqiqlangan;
    • pasayish - ishonchning minimal darajasi. Kiruvchi ulanishlar hech qanday bildirishnomasiz uziladi.

    Siyosatchilarning o'zi vaqtinchalik va doimiydir. Parametrlar paydo bo'lganda yoki tahrirlanganda, xavfsizlik devorining harakati qayta ishga tushirishni talab qilmasdan darhol o'zgaradi. Agar vaqtinchalik qoidalar qo'llanilsa, FirewallD qayta ishga tushirilgandan so'ng ular qayta o'rnatiladi. Doimiy qoida shunday deb ataladi - -permanent argumenti qo'llanilganda, u doimiy ravishda saqlanadi.

    FirewallD yoqilmoqda

    Avval FirewallD-ni ishga tushirishingiz yoki uning faol ekanligiga ishonch hosil qilishingiz kerak. Faqat ishlaydigan demon (dastur ishlayotgan fon) xavfsizlik devori qoidalarini qo'llaydi. Faollashtirish bir necha marta bosish orqali amalga oshiriladi:

    1. Klassik yugurish "Terminal" har qanday qulay usul bilan, masalan, menyu orqali "Ilovalar".
    2. Sudo systemctl start firewalld.service buyrug'ini kiriting va tugmani bosing Kirish.
    3. Yordamchi dastur superfoydalanuvchi nomidan boshqariladi, shuning uchun parolni ko'rsatish orqali shaxsingizni tasdiqlashingiz kerak bo'ladi.
    4. Xizmat ishlayotganligini tekshirish uchun xavfsizlik devori-cmd --state-ni belgilang.
    5. Ochilgan grafik oynada qayta autentifikatsiya qiling.
    6. Yangi qator ko'rsatiladi. Ma'nosi "Yugurish" xavfsizlik devori ishlayotganligini bildiradi.

    Agar bir kun siz xavfsizlik devorini vaqtincha yoki butunlay o'chirib qo'yishingiz kerak bo'lsa, quyidagi havoladagi boshqa maqolamizda keltirilgan ko'rsatmalardan foydalanishni maslahat beramiz.

    Standart qoidalar va mavjud zonalarni ko'rish

    Hatto normal ishlaydigan xavfsizlik devorining ham o'ziga xos qoidalari va mavjud zonalari mavjud. Siyosatlarni tahrirlashni boshlashdan oldin joriy konfiguratsiya bilan tanishib chiqishingizni tavsiya qilamiz. Bu oddiy buyruqlar yordamida amalga oshiriladi:

    1. Faervol-cmd --get-default-zone buyrug'i standart zonani aniqlashga yordam beradi.
    2. Uni faollashtirgandan so'ng, kerakli parametr ko'rsatiladigan yangi qatorni ko'rasiz. Misol uchun, quyidagi skrinshotda faol zona "Ommaviy".
    3. Biroq, bir vaqtning o'zida bir nechta zonalar faol bo'lishi mumkin, bundan tashqari, ular alohida interfeysga bog'langan. Ushbu ma'lumotni xavfsizlik devori-cmd --get-active-zones orqali bilib oling.
    4. Firewall-cmd --list-all buyrug'i zona uchun standart qoidalarni ko'rsatadi. Quyidagi skrinshotni ko'rib chiqing. Siz faol zonani ko'rasiz "Ommaviy" tayinlangan qoida "Standart"- standart ishlash, interfeys "Enp0s3" va ikkita xizmatni qo'shdi.
    5. Agar siz barcha mavjud xavfsizlik devori zonalarini bilishingiz kerak bo'lsa, firewall-cmd --get-zones kiriting.
    6. Muayyan zonaning parametrlari xavfsizlik devori-cmd --zone = name --list-all orqali aniqlanadi, bu erda nomi- zona nomi.

    Kerakli parametrlarni aniqlagandan so'ng, ularni o'zgartirish va qo'shishga o'tishingiz mumkin. Keling, eng mashhur konfiguratsiyalarning bir nechtasini batafsil ko'rib chiqaylik.

    Interfeys zonalarini sozlash

    Yuqoridagi ma'lumotlardan ma'lumki, har bir interfeys o'zining standart zonasiga ega. Sozlamalar foydalanuvchi tomonidan yoki dasturiy ravishda o'zgartirilgunga qadar u ichida qoladi. Bir seans uchun interfeysni zonaga qo'lda o'tkazish mumkin va u sudo firewall-cmd --zone = home --change-interface = eth0 buyrug'ini faollashtirish orqali amalga oshiriladi. Natija "Muvaffaqiyat" transfer muvaffaqiyatli bo'lganligini ko'rsatadi. Eslatib o'tamiz, bunday sozlamalar xavfsizlik devori qayta ishga tushirilgandan so'ng darhol tiklanadi.

    Parametrlarning bunday o'zgarishi bilan xizmatlarning ishi qayta tiklanishi mumkinligini yodda tutish kerak. Ulardan ba'zilari ma'lum zonalarda ishlashni qo'llab-quvvatlamaydi, masalan, SSH mavjud "Uy", lekin odatiy yoki maxsus, xizmat ishlashni rad etadi. Firewall-cmd --get-active-zones-ni kiritish orqali interfeys yangi filialga muvaffaqiyatli ulanganligini tekshirishingiz mumkin.

    Agar siz avval o'rnatgan sozlamalarni tiklamoqchi bo'lsangiz, xavfsizlik devorini qayta ishga tushiring: sudo systemctl firewalld.service-ni qayta ishga tushiring.

    Ba'zan faqat bitta seans uchun interfeys maydonini o'zgartirish har doim ham qulay emas. Bunday holda, barcha sozlamalar doimiy ravishda kiritilishi uchun konfiguratsiya faylini tahrirlashingiz kerak bo'ladi. Buning uchun matn muharriridan foydalanishni tavsiya etamiz nano Sudo yum install nano rasmiy omboridan o'rnatilgan. Keyin quyidagi amallarni bajarish qoladi:

    1. Sudo nano / etc / sysconfig / network-scripts / ifcfg-eth0 ni kiritish orqali muharrir orqali konfiguratsiya faylini oching, bu erda eth0- kerakli interfeys nomi.
    2. Keyingi qadamlar uchun hisobning haqiqiyligini tasdiqlang.
    3. Parametrni toping "ZONA" va uning qiymatini o'zingiz xohlagan narsaga o'zgartiring, masalan, jamoat yoki uy.
    4. Tugmalarni ushlab turing Ctrl + O o'zgartirishlaringizni saqlash uchun.
    5. Fayl nomini o'zgartirmang, shunchaki bosing Kirish.
    6. bilan matn muharriridan chiqing Ctrl + X.

    Endi interfeys zonasi konfiguratsiya faylining keyingi tahririga qadar siz ko'rsatgandek bo'ladi. Yangilangan sozlamalar kuchga kirishi uchun sudo systemctl restart network.service va sudo systemctl restart firewalld.service ni ishga tushiring.

    Standart zonani o'rnatish

    Yuqorida biz allaqachon standart zonani aniqlashga imkon beruvchi buyruqni namoyish qildik. Siz tanlagan parametrni o'rnatish orqali ham o'zgartirilishi mumkin. Buning uchun konsolda sudo firewall-cmd --set-default-zone = nomini yozing, bu erda nomi- talab qilinadigan zonaning nomi.

    Buyruqning muvaffaqiyati yozuv bilan ko'rsatiladi "Muvaffaqiyat" alohida qatorda. Shundan so'ng, agar konfiguratsiya fayllarida boshqasi ko'rsatilmagan bo'lsa, barcha joriy interfeyslar belgilangan zonaga bog'lanadi.

    Dasturlar va yordamchi dasturlar uchun qoidalar yaratish

    Maqolaning boshida biz har bir zonaning harakati haqida gapirdik. Bunday filiallarda xizmatlar, kommunal xizmatlar va dasturlarning ta'rifi har bir foydalanuvchining so'rovlari uchun ularning har biri uchun individual parametrlarni qo'llash imkonini beradi. Boshlash uchun hozirda mavjud xizmatlarning to'liq ro'yxati bilan tanishib chiqishingizni tavsiya qilamiz: firewall-cmd --get-services.

    Natija to'g'ridan-to'g'ri konsolda ko'rsatiladi. Har bir server bo'sh joy bilan ajratilgan va ro'yxatda siz qiziqqan vositani osongina topishingiz mumkin. Agar kerakli xizmat mavjud bo'lmasa, uni qo'shimcha ravishda o'rnatish kerak. O'rnatish qoidalari haqida rasmiy dasturiy ta'minot hujjatlarida o'qing.

    Yuqoridagi buyruq faqat xizmatlarning nomlarini ko'rsatadi. Ularning har biri haqida batafsil ma'lumot / usr / lib / firewalld / xizmatlar yo'li ostida joylashgan individual fayl orqali olinadi. Bunday hujjatlar XML formatida, masalan, SSH ga yo'l quyidagicha ko'rinadi: /usr/lib/firewalld/services/ssh.xml va hujjat quyidagi tarkibga ega:

    SSH
    Secure Shell (SSH) - masofaviy kompyuterlarga kirish va buyruqlarni bajarish uchun protokol. U xavfsiz shifrlangan aloqani ta'minlaydi. Agar siz xavfsizlik devori interfeysi orqali SSH orqali kompyuteringizga masofadan kirishni rejalashtirmoqchi bo'lsangiz, ushbu parametrni yoqing. Ushbu parametr foydali bo'lishi uchun sizga openssh-server paketi o'rnatilgan bo'lishi kerak.

    Xizmatni qo'llab-quvvatlash ma'lum bir zonada qo'lda faollashtiriladi. V "Terminal" buyrug'i sudo firewall-cmd --zone = public --add-service = http, bu erda --zone = ommaviy- faollashtirish zonasi va --add-service = http- xizmat nomi. Shuni esda tutingki, bunday o'zgartirish faqat bir seansda amal qiladi.

    Doimiy qo'shish sudo firewall-cmd --zone = public --permanent --add-service = http orqali amalga oshiriladi va natija "Muvaffaqiyat" operatsiyaning muvaffaqiyatli yakunlanganligini ko'rsatadi.

    Ko'rinish to'liq ro'yxat Muayyan zona uchun doimiy qoidalar ro'yxatni konsolning alohida qatorida ko'rsatish orqali ko'rsatilishi mumkin: sudo firewall-cmd --zone = public --permanent --list-services.

    Xizmatga kirishning etishmasligi bilan muammoni hal qilish

    Odatiy bo'lib, xavfsizlik devori qoidalari ruxsat etilgan eng mashhur va xavfsiz xizmatlarni ko'rsatadi, lekin ba'zi standart yoki uchinchi tomon ilovalari bloklaydi. Bunday holda, foydalanuvchi kirish muammosini hal qilish uchun sozlamalarni qo'lda o'zgartirishi kerak bo'ladi. Bu ikki xil usulda amalga oshirilishi mumkin.

    Portni yo'naltirish

    Ma'lumki, barcha tarmoq xizmatlari ma'lum bir portdan foydalanadi. Bu xavfsizlik devori tomonidan osonlik bilan aniqlanadi va unda qulflar bajarilishi mumkin. Xavfsizlik devori tomonidan bunday harakatlarning oldini olish uchun siz sudo firewall-cmd --zone = public --add-port = 0000 / tcp buyrug'i bilan kerakli portni ochishingiz kerak, bu erda --zone = ommaviy- port maydoni, --add-port = 0000 / tcp- port raqami va protokoli. Firewall-cmd --list-ports ochiq portlar ro'yxatini ko'rsatadi.

    Agar siz diapazondagi portlarni ochishingiz kerak bo'lsa, sudo firewall-cmd --zone = public --add-port = 0000-9999 / udp qatoridan foydalaning, bu erda --add-port = 0000-9999 / udp- portlar qatori va ularning protokoli.

    Yuqoridagi buyruqlar faqat bunday parametrlarni qo'llashni sinab ko'rish imkonini beradi. Agar u muvaffaqiyatli bo'lsa, doimiy sozlamalarga bir xil portlarni qo'shishingiz kerak va bu sudo firewall-cmd --zone = public --permanent --add-port = 0000 / tcp yoki sudo firewall-cmd -- ni kiritish orqali amalga oshiriladi. zona = ommaviy --permanent --add-port = 0000-9999 / udp. Ochiq doimiy portlar ro'yxati quyidagicha ko'rinadi: sudo firewall-cmd --zone = public --permanent --list-ports.

    Xizmat ta'rifi

    Ko'rib turganingizdek, portlarni qo'shish hech qanday qiyinchilik tug'dirmaydi, ammo ilovalardan foydalanilganda protsedura yanada murakkablashadi. katta miqdorda... Amaldagi barcha portlarni kuzatib borish qiyinlashadi, shuning uchun xizmatni aniqlash to'g'riroq bo'ladi:


    Siz xizmatga kirish bilan bog'liq muammoni hal qilishning eng mos usulini tanlashingiz va taqdim etilgan ko'rsatmalarga amal qilishingiz kerak. Ko'rib turganingizdek, barcha harakatlar etarlicha oson va hech qanday qiyinchiliklar paydo bo'lmasligi kerak.

    Maxsus zonalarni yaratish

    Siz allaqachon bilasizki, FirewallD dastlab ma'lum qoidalarga ega ko'p sonli turli zonalarni yaratgan. Biroq, shunday holatlar mavjud tizim administratori kabi maxsus zona yaratmoqchisiz "Ommaviy veb-sayt" o'rnatilgan veb-server uchun yoki "Shaxsiy DNS"- DNS server uchun. Ushbu ikkita misoldan foydalanib, biz filiallarni qo'shishni tahlil qilamiz:


    Ushbu maqolada siz maxsus zonalarni qanday yaratishni va ularga xizmatlarni qo'shishni o'rgandingiz. Biz ularni sukut bo'yicha sozlash va interfeyslarni belgilash haqida allaqachon gaplashdik, siz faqat to'g'ri nomlarni ko'rsatishingiz kerak. Har qanday doimiy o'zgarishlardan so'ng xavfsizlik devoringizni qayta ishga tushirishni unutmang.

    Ko'rib turganingizdek, FirewallD xavfsizlik devori eng moslashuvchan xavfsizlik devori konfiguratsiyasini amalga oshirishga imkon beruvchi juda katta hajmli vositadir. Qolgan yagona narsa - yordamchi dastur tizim bilan birgalikda ishga tushirilganligiga ishonch hosil qilish va belgilangan qoidalar darhol ishlay boshlaydi. Buni sudo systemctl enable firewalld buyrug'i bilan bajaring.

    FirewallD bu CentOS 7 serverlarida sukut boʻyicha mavjud boʻlgan xavfsizlik devorini boshqarish vositasidir.Asosan, u IPTablelar atrofidagi oʻram boʻlib, grafik xavfsizlik devori-konfiguratsiya konfiguratsiya vositasi va xavfsizlik devori-cmd buyruq qatori vositasi bilan birga keladi. IPtables xizmati bilan har bir o'zgartirish eski qoidalarni olib tashlashni va `-da yangi qoidalar yaratishni talab qiladi / etc / sysconfig / iptables`hozirda xavfsizlik devori faqat farqlarni qo'llaydi.

    Xavfsizlik devoriD zonalari

    FirewallD iptablesdagi qoidalar va zanjirlar o'rniga xizmatlar va zonalardan foydalanadi. Quyidagi zonalar sukut bo'yicha mavjud:

    • tushirish- Barcha kiruvchi tarmoq paketlarini javobsiz qoldiring, faqat chiquvchi tarmoq ulanishlari mavjud.
    • blok- icmp-host-prohibited xabari bilan barcha kiruvchi tarmoq paketlarini rad eting, faqat chiquvchi tarmoq ulanishlari mavjud.
    • ommaviy- jamoat joylarida foydalanish uchun faqat tanlangan kiruvchi ulanishlar qabul qilinadi
    • tashqi- Maskradlangan tashqi tarmoqlar uchun faqat tanlangan kiruvchi ulanishlar qabul qilinadi.
    • dmz- DMZ demilitarizatsiya zonasi, ichki tarmoqqa kirish cheklangan, faqat tanlangan kiruvchi ulanishlar qabul qilinadi.
    • ish
    • uy- Uy zonasidagi kompyuterlar uchun faqat tanlangan kiruvchi ulanishlar qabul qilinadi.
    • ichki- Ichki tarmog'ingizdagi kompyuterlar uchun faqat tanlangan kiruvchi ulanishlar qabul qilinadi.
    • ishonchli- Barcha tarmoq ulanishlari qabul qilinadi.

    Barcha mavjud zonalar ro'yxatini olish uchun:

    # firewall-cmd --get-zones ish tomchisi ichki tashqi ishonchli uy dmz ommaviy bloki

    Standart zonalar roʻyxatini koʻrish uchun:

    # xavfsizlik devori-cmd --get-default-zone public

    Standart zonani o'zgartirish uchun:

    FirewallD xizmatlari

    FirewallD xizmatlari XML konfiguratsiya fayllari bo'lib, xavfsizlik devori uchun xizmat yozuvlari ma'lumotlarini o'z ichiga oladi. Barcha mavjud xizmatlar ro'yxatini olish uchun:

    # firewall-cmd --get-services amanda-client amanda-k5-client bacula bacula-client ceph ceph-mon dhcp dhcpv6 dhcpv6-mijoz DNS docker-registr dropbox-lansync freeipa-ldap freeipa-ldaps freeipa-replikatsiya qilish qobiliyati ft http https imap imaps ipp ipp-klient ipsec iscsi-target kadmin kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mosh mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebc prizma pmcd pmproxy pmwebc proksi-server prizma pmwebc sambapivp3 popbapivp3 mijoz sane smtp smtps snmp snmptrap squid ssh synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client vdsm vnc-server wbem-https xmpp-bosh xmpp-client xmpp-server

    XML konfiguratsiya fayllari kataloglarda saqlanadi / usr / lib / xavfsizlik devori / xizmatlar / va / boshqalar / xavfsizlik devori / xizmatlar /.

    FirewallD bilan xavfsizlik devorini sozlash

    Misol tariqasida, agar siz veb-server, 7022-portda SSH va pochta serverida ishlayotgan bo'lsangiz, FirewallD bilan xavfsizlik devorini qanday sozlashingiz mumkin.

    Birinchidan, biz DMZ uchun standart zonani o'rnatamiz.

    # xavfsizlik devori-cmd --set-default-zone = dmz # xavfsizlik devori-cmd --get-default-zone dmz

    DMZ-da HTTP va HTTPS uchun doimiy xizmat qoidalarini qo'shish uchun quyidagi buyruqni bajaring:

    # xavfsizlik devori-cmd --zone = dmz --add-service = http --permanent # firewall-cmd --zone = dmz --add-service = https --permanent

    25 (SMTP) va 465 (SMTP) portlarini oching:

    Xavfsizlik devori-cmd --zone = dmz --add-service = smtp --doimiy xavfsizlik devori-cmd --zone = dmz --add-service = smtps --doimiy

    Ochiq, IMAP, IMAPS, POP3 va POP3S portlari:

    Firewall-cmd --zone = dmz --add-service = imap --doimiy xavfsizlik devori-cmd --zone = dmz --add-service = immaps --doimiy xavfsizlik devori-cmd --zone = dmz --add-service = pop3 --doimiy xavfsizlik devori-cmd --zone = dmz --add-service = pop3s --doimiy

    SSH porti 7022 ga o'zgartirilganligi sababli biz SSH xizmatini (port 22) olib tashlaymiz va 7022 portni ochamiz.

    Xavfsizlik devori-cmd --remove-service = ssh --doimiy xavfsizlik devori-cmd --add-port = 7022 / tcp --doimiy

    O'zgarishlarni amalga oshirish uchun xavfsizlik devorini qayta yuklashimiz kerak:

    Xavfsizlik devori-cmd --qayta yuklash

    Nihoyat, siz qoidalarni sanab o'tishingiz mumkin.

    Serverni tashqi tahdidlardan himoya qilish uchun birinchi narsa - kiruvchi va chiquvchi trafikni filtrlaydigan xavfsizlik devori. Men ushbu maqolada iptables-ni o'rnatish bilan shug'ullanmoqchiman - CentOS-da xavfsizlik devorining maxsus holati, shuningdek, uni o'rnatish va o'chirish haqida gapiraman. Mening yo'riqnomam to'liq bo'lmaydi, men faqat o'zimning eng muhim deb hisoblagan va o'z ishimda foydalanadigan jihatlarni ko'rib chiqaman.

    Ushbu maqola server haqidagi maqolalar turkumining bir qismidir.

    Kirish

    Iptables hozirda zamonaviy Linux distributivlarida de-fakto standart hisoblanadi. Xavfsizlik devori sifatida yana nima ishlatilishini eslay olmayman. Shunday qilib, har qanday Linux ma'muri o'z ishida ushbu xavfsizlik devorini sozlash bilan shug'ullanishi kerak.

    Ushbu xavfsizlik devori uchun turli xil ulanishlar mavjud bo'lib, ular yanada "qulay" konfiguratsiya uchun ishlatiladi. Ubuntu bor ufw, sentosda - xavfsizlik devori, Men boshqalar bilan tanish emasman. Shaxsan men bu vositalardan foydalanishda hech qanday qulaylik ko‘rmayapman. Men boshida o'rganganimdek, Linux xavfsizlik devorini eski uslubda o'rnatishga odatlanganman. Menimcha, bu men siz bilan baham ko'radigan eng oddiy va eng qulay usul. Uning mohiyati xavfsizlik devori qoidalariga ega skript yaratish bilan bog'liq. Ushbu skript sizning ehtiyojlaringizga mos ravishda osongina tahrirlanishi va serverdan serverga o'tkazilishi mumkin.

    Xavfsizlik devori o'chirilmoqda

    Men allaqachon mavzuda xavfsizlik devorini o'chirish masalasiga to'xtalib o'tdim. Avvalo, o'rnatishdan so'ng darhol sukut bo'yicha centos 7 da mavjud bo'lgan xavfsizlik devorini o'chirib qo'ying:

    # systemctl xavfsizlik devorini to'xtatish

    Endi uni qayta ishga tushirgandan keyin qayta yoqilmasligi uchun uni ishga tushirishdan olib tashlaymiz:

    # systemctl xavfsizlik devorini o'chirib qo'ying

    Shundan so'ng, serverdagi xavfsizlik devori sozlamalari to'liq ochiladi. Siz iptables qoidalarini buyruq bilan ko'rishingiz mumkin:

    Iptables o'rnatish

    Aslida, bizning serverimizdagi xavfsizlik devori allaqachon ishlamoqda, oddiygina qoidalar yo'q, hamma narsa ochiq. Biz qo'shimcha boshqaruv yordam dasturlarini o'rnatishimiz kerak bo'ladi, ularsiz iptablesni sozlash mumkin emas. Masalan, xavfsizlik devorini qayta ishga tushirib bo'lmaydi:

    # systemctl restart iptables.service Usul chaqiruvi amalga oshirilmadi: IPtables.service birligi yuklana olmadi: Bunday fayl yoki katalog yo'q.

    Yoki autorunga qo'shish ishlamaydi:

    # systemctl enable iptables.service Usul chaqiruvi amalga oshirilmadi: Bunday fayl yoki katalog mavjud emas

    Bunday xatolarga yo'l qo'ymaslik uchun kerakli paketni yordam dasturlari bilan o'rnating:

    # yum -y iptables-xizmatlarini o'rnating

    Endi siz ishga tushirish va ishga tushirish uchun iptables qo'shishingiz mumkin:

    # systemctl iptables.serviceni yoqish # systemctl iptables.service ishga tushirish

    Xavfsizlik devori konfiguratsiyasi

    Xavfsizlik devori qoidalarini boshqarish uchun skriptdan foydalanaman. Keling, uni yarataylik:

    # mcedit /etc/iptables.sh

    Keyinchalik, biz uni kerakli qoidalar bilan to'ldiramiz. Men skriptning barcha muhim qismlarini tahlil qilaman va Men uni maqolaning oxirida matnli fayl shaklida to'liq keltiraman... Qoidalar nusxa ko'chirish va joylashtirishni taqiqlash uchun rasm shaklida qilingan. Bu qoidalar ishida xatolarga olib kelishi mumkin, men o'zim maqolani tayyorlash paytida duch kelganman.

    Server mahalliy tarmoq uchun Internetga kirish eshigi bo'lgan vaziyatni ko'rib chiqamiz.

    Avvalo, biz skriptda ishlatadigan barcha o'zgaruvchilarni o'rnatamiz. Buni qilish shart emas, lekin sozlamalarni serverdan serverga o'tkazish qulayligi sababli tavsiya etiladi. O'zgaruvchilarni qayta tayinlash kifoya qiladi.

    Yangi qoidalarni qo'llashdan oldin biz barcha zanjirlarni tozalaymiz:

    Biz qoidalarning birortasiga mos kelmaydigan barcha trafikni bloklaymiz:

    Biz localhost va localhost-ning barcha trafigiga ruxsat beramiz:

    Pingga ruxsat berish:

    Agar sizga bu kerak bo'lmasa, icmp uchun ruxsat berish qoidalarini qo'shmang.

    Biz serverning o'zi uchun Internetga kirishni ochamiz:

    Agar siz barcha kiruvchi server ulanishlarini ochmoqchi bo'lsangiz, yana qoida qo'shing:

    Endi eng keng tarqalgan tarmoq hujumlaridan himoya qo'shamiz. Birinchidan, maqomi bo'lmagan barcha paketlarni o'chirib tashlaymiz:

    Null paketlarni bloklash:

    Biz o'zimizni sinxron toshqin hujumlaridan yopamiz:

    Agar siz mahalliy tarmoqdan kirishga cheklovlar qo'ymasangiz, biz hammaga Internetga kirishga ruxsat beramiz:

    Keyinchalik, biz Internetdan mahalliy tarmoqqa kirishni rad etamiz:

    Mahalliy tarmoqimiz Internetdan foydalanishi uchun nat-ni yoqing:

    Serverga kirishni yo'qotmaslik uchun qoidalarni qo'llaganimizdan so'ng biz ssh ulanishlariga ruxsat beramiz:

    Va oxirida biz qoidalarni qayta ishga tushirgandan keyin qo'llanilishi uchun yozamiz:

    Biz ssh-dan tashqari barcha kiruvchi ulanishlarni bloklaydigan va mahalliy tarmoqdan Internetga kirish imkonini beruvchi oddiy konfiguratsiyani tuzdik. Yo'lda biz ba'zi tarmoq hujumlaridan o'zimizni himoya qildik.

    Biz skriptni saqlaymiz, uni bajariladigan holga keltiramiz va ishga tushiramiz:

    # chmod 0740 /etc/iptables.sh # /etc/iptables.sh

    Keling, qoidalarni ko'rib chiqamiz va barcha qoidalar mavjudligini tekshiramiz:

    # iptables -L -v -n

    Shuni esda tutingki, siz faqat server konsoliga kirish imkoniga ega bo'lsangiz, qoidalarni qo'llashingiz kerak. Sozlamalarda xato qilsangiz, kirish huquqini yo'qotishingiz mumkin. Favqulodda vaziyatda xavfsizlik devorini o'chirib qo'yishingiz va sozlamalarni o'zgartirishingiz mumkinligiga ishonch hosil qiling.

    Port ochilishi

    Keling, konfiguratsiyani biroz kengaytiramiz va iptables-da ba'zi xizmatlar uchun portlarni ochamiz. Aytaylik, bizda veb-server bor va unga Internetdan kirishni ochish kerak. Veb-trafik qoidalarini qo'shing:

    Veb-server o'z ishida foydalanadigan 80 va 443 portlarida kiruvchi ulanishlar uchun ruxsat qo'shildi.

    Agar sizda pochta serveri o'rnatilgan bo'lsa, barcha foydalanilgan portlarda unga kiruvchi ulanishlarga ruxsat berishingiz kerak:

    DNS-server to'g'ri ishlashi uchun siz 53-UDP portini ochishingiz kerak

    Portni yo'naltirish

    Keling, portlarni tashqi interfeysdan mahalliy tarmoqdagi ba'zi bir kompyuterga yo'naltirish kerak bo'lgan vaziyatni ko'rib chiqaylik. Aytaylik, internetdan 10.1.3.50 kompyuteriga rdp ruxsatini olishingiz kerak. Biz 3389 TCP portini yo'naltiramiz:

    Agar siz tashqarida ma'lum port bilan porlashni xohlamasangiz, unda siz nostandart portdan maqsadli kompyuterning rdp portiga yo'naltirishingiz mumkin:

    Agar siz portni tashqi tarmoqdan ichki tarmoqqa yo'naltirsangiz, tashqi tarmoqdan ichki tarmoqqa kirishni bloklaydigan qoidani izohlashni unutmang. Mening misolimda bu qoida: $ IPT -A FORWARD -i $ WAN -o $ LAN1 -j REJECT

    Yoki ushbu qoidadan oldin ichki xizmatga tashqi kirish uchun ruxsat beruvchi qoida yarating, masalan:

    $ IPT -A FORWARD -i $ WAN -d 10.1.3.50 -p tcp -m tcp --dport 3389 -j QABUL ET

    Jurnallarni yoqish

    Konfiguratsiya paytida bloklangan paketlarni kuzatish va biz allaqachon ochganga o'xshagan kerakli xizmatlarga nima uchun kirish imkoni yo'qligini aniqlash uchun jurnallarni yoqish foydali bo'ladi. Men barcha bloklangan paketlarni trafik yo'nalishiga mos keladigan alohida zanjirlarga (block_in, block_out, block_fw) yuboraman va jurnallarda har bir yo'nalishni belgilayman. Debrifingni shu tarzda qilish qulayroq. Sozlamalarni saqlashdan oldin skriptning oxiriga quyidagi qoidalarni qo'shing:

    Barcha bloklangan paketlarni / var / log / xabarlar faylida kuzatishingiz mumkin.

    Konfiguratsiyani tugatganingizdan so'ng, jurnalni o'chirib qo'yish orqali ushbu qatorlarni izohlang. Siz buni albatta qilishingiz kerak, chunki loglar juda tez o'sadi. Shaxsan men bunday ma'lumotlarni saqlashning amaliy ma'nosini ko'rmayapman.

    Iptables-ni qanday o'chirish mumkin

    Agar siz to'satdan sizga xavfsizlik devori kerak emas deb qaror qilsangiz, uni quyidagicha o'chirib qo'yishingiz mumkin:

    # systemctl to'xtatish iptables.service

    Ushbu buyruq xavfsizlik devorini to'xtatadi. Va keyingisi ishga tushirishdan olib tashlaydi:

    # systemctl iptables.serviceni o'chirib qo'ying

    Xavfsizlik devorini o'chirib qo'yish orqali biz barcha ulanishlarga ruxsat berdik.

    Xulosa

    Va'da qilinganidek, biz ko'rib chiqqan asosiy qoidalar to'plami bilan tayyor skriptni joylashtiraman.

    Yana bir bor sizning e'tiboringizni iptables-ni o'rnatishda siz juda ehtiyot bo'lishingiz kerakligiga qaratmoqchiman. Agar server konsoliga kirish imkoningiz bo'lmasa, bu biznesni boshlamang. Ushbu maqolani yozish paytida men qoidalardagi kulgili xato tufayli serverga kirish huquqini yo'qotdim. Ushbu xato nusxa ko'chirish va qo'sh chiziqni yo'qotish tufayli yuzaga keldi - u bitta chiziq bilan almashtirildi.

    OTUSda "Linux Administrator" onlayn kursi. Kurs yangi boshlanuvchilar uchun emas, kirish uchun sizga tarmoqqa ulanish va Linuxni virtual mashinaga o'rnatish bo'yicha asosiy bilim kerak. Trening 5 oy davom etadi, shundan so'ng kursning muvaffaqiyatli bitiruvchilari hamkorlar bilan suhbatdan o'tishlari mumkin bo'ladi. Bu kurs sizga nima beradi:

    • Linux arxitekturasini bilish.
    • Ma'lumotlarni tahlil qilish va qayta ishlashning zamonaviy usullari va vositalarini o'zlashtirish.
    • Kerakli vazifalar uchun konfiguratsiyani tanlash, jarayonlarni boshqarish va tizim xavfsizligini ta'minlash qobiliyati.
    • Tizim ma'murining asosiy ish vositalariga ega bo'lish.
    • Linux-ga asoslangan tarmoqlarni joylashtirish, sozlash va saqlashning o'ziga xos xususiyatlarini tushunish.
    • paydo bo'lgan muammolarni tezda hal qilish va tizimning barqaror va uzluksiz ishlashini ta'minlash qobiliyati.
    Kirish imtihonida o'zingizni sinab ko'ring va dasturning tafsilotlarini ko'ring.

    CentoOS 7 dan boshlab, trafikni filtrlash qoidalarini sozlash uchun yangi vosita qo'shildi xavfsizlik devori... Uni iptables qoidalarini boshqarish uchun ishlatish tavsiya etiladi. CentOS 8 endi standart iptables filtrlash paketi o'rniga nftables ramkasidan foydalanadi va xavfsizlik devori qoidalarini xavfsizlik devori orqali sozlaganingizda, siz aslida nftables-ni sozlaysiz. Ushbu maqolada biz sizga CentOS 8 operatsion tizimida ishlaydigan serverda xavfsizlik devorining o'rnatilishi, asosiy tushunchalari va konfiguratsiyasi bilan tanishamiz (CentOS 7 da hammasi bir xil).


    Xavfsizlik devoriD- dinamik qoidalarni boshqarish (qayta ishga tushirmasdan) va doimiy xavfsizlik devori qoidalarini amalga oshirishni qo'llab-quvvatlash bilan serverni kiruvchi trafikdan himoya qilish uchun xavfsizlik devori. Ikkala nftable uchun frontend sifatida ishlaydi. FirewallD deyarli barcha Linux distributivlarida ishlatilishi mumkin.

    Asosiy xavfsizlik devori tushunchalari, zonalari va qoidalari

    O'rnatish va sozlashni davom ettirishdan oldin xavfsizlik devori, biz zonalar tushunchasi bilan tanishamiz, ular turli ulanishlar uchun ishonch darajasini aniqlash uchun ishlatiladi. Turli zonalar uchun xavfsizlik devori siz turli xil filtrlash qoidalarini qo'llashingiz, oldindan belgilangan xizmatlar, protokollar va portlar, portni yo'naltirish va rich-qoidalar ko'rinishida faol xavfsizlik devori parametrlarini belgilashingiz mumkin.

    Xavfsizlik devori zonaga qo'llaniladigan qoidalarga qarab zonalar bo'yicha kiruvchi trafikni filtrlaydi. Agar IP- so'rovni jo'natuvchining manzili istalgan zona qoidalariga to'g'ri keladi, keyin paket ushbu zona orqali yuboriladi. Agar manzil serverda sozlangan zonalarning birortasiga mos kelmasa, paket standart zona tomonidan qayta ishlanadi. O'rnatish paytida xavfsizlik devori standart zona chaqiriladi ommaviy.

    Xavfsizlik devorida turli xizmatlar uchun ruxsatlar oldindan sozlangan zonalar mavjud. Siz ushbu sozlamalardan foydalanishingiz yoki o'zingizning zonalaringizni yaratishingiz mumkin. Xavfsizlik devori o'rnatilganda yaratilgan standart zonalar ro'yxati (/ usr / lib / firewalld / zonalar / katalogida saqlanadi):

    tushirish minimal ishonch darajasi. Barcha kiruvchi ulanishlar javobsiz bloklanadi, faqat chiquvchi ulanishlarga ruxsat beriladi;
    blok zona oldingisiga o'xshaydi, lekin kiruvchi so'rovlar rad etilganda, Ipv4 uchun icmp-host-prohibited yoki Ipv6 uchun icmp6-adm-taqiqlangan xabar yuboriladi;
    ommaviy ommaviy, ishonchsiz tarmoqlarni ifodalaydi. Tanlangan kiruvchi ulanishlarga individual asosda ruxsat berishingiz mumkin;
    tashqi xavfsizlik devoridan shlyuz sifatida foydalanilganda tashqi tarmoqlar. U NATni maskalash uchun sozlangan, shuning uchun sizning ichki tarmog'ingiz shaxsiy, ammo kirish mumkin bo'lib qoladi;
    ichki tashqi zonaning antonimi. Uy egasi etarli darajada ishonchga ega, bir qator qo'shimcha xizmatlar mavjud;
    dmz DMZda joylashgan kompyuterlar uchun ishlatiladi (tarmoqning qolgan qismiga kirish imkoni bo'lmagan izolyatsiya qilingan kompyuterlar). Faqat ma'lum kiruvchi ulanishlarga ruxsat beriladi;
    ish ishlaydigan mashinalar uchun zona (tarmoqdagi ko'pchilik kompyuterlar ishonchli);
    uy uy tarmog'i maydoni. Ko'pgina shaxsiy kompyuterlar ishonchli bo'lishi mumkin, lekin faqat ma'lum kiruvchi ulanishlar qo'llab-quvvatlanadi;
    ishonchli tarmoqdagi barcha mashinalarga ishoning. Barcha mavjud variantlardan eng ochiq, ongli foydalanishni talab qiladi.

    V xavfsizlik devori ikkita qoidalar to'plami qo'llaniladi - doimiy va vaqtinchalik. Vaqtinchalik qoidalar server qayta ishga tushirilgunga qadar ishlaydi. Qoidalarni qo'shishda sukut bo'yicha xavfsizlik devori, qoidalar vaqtinchalik hisoblanadi ( ish vaqti). Qoidani doimiy ravishda qo'shish uchun siz bayroqdan foydalanishingiz kerak - doimiy... Ushbu qoidalar server qayta ishga tushirilgandan so'ng qo'llaniladi.

    CentOS-da xavfsizlik devorini o'rnatish va yoqish

    CentOS 7/8 da xavfsizlik devori OS da sukut bo'yicha o'rnatilgan. Agar siz uni olib tashlasangiz va xavfsizlik devorini o'rnatmoqchi bo'lsangiz, standart / dnf menejeridan foydalanishingiz mumkin:

    # yum Centos 7 uchun xavfsizlik devori -y o'rnating
    Centos 8 uchun # dnf o'rnatish xavfsizlik devori -y

    Jinga xavfsizlik devori server ishga tushishi bilan avtomatik ravishda ishga tushirilsa, uni quyidagiga qo'shishingiz kerak:

    # systemctl xavfsizlik devorini yoqish

    Va yugur:

    # systemctl xavfsizlik devorini ishga tushiring

    Xizmat holatini tekshiring:

    # systemctl holati xavfsizlik devori

    ● firewalld.service - xavfsizlik devori - dinamik xavfsizlik devori demoni Yuklangan: yuklangan (/usr/lib/systemd/system/firewalld.service; yoqilgan; sotuvchi oldindan oʻrnatilgan: yoqilgan) Faol: 2019-10-14 14:54 dan beri faol (ishlayapti) : 40 +06; 22 soniya oldin Hujjatlar: man: xavfsizlik devori (1) Asosiy PID: 13646 (firewalld) CGroup: /system.slice/firewalld.service └─13646 / usr / bin / python2 -Es / usr / sbin / firewallk --nofor 14 oktyabr 14:54:40 server.vpn.ru systemd: xavfsizlik devori ishga tushirildi - dinamik xavfsizlik devori demoni ... 14 oktyabr 14:54:40 server.vpn.ru systemd: xavfsizlik devori ishga tushirildi - dinamik xavfsizlik devori daemon.

    Yoki buyruq bilan:

    # xavfsizlik devori-cmd --davlat

    Firewall-cmd buyrug'i nftables/iptables uchun xavfsizlik devori frontendidir.

    # xavfsizlik devori-cmd --davlat

    Xavfsizlik devori qoidalari bilan ishlash

    Standart qoidalar:

    Xavfsizlik devori qoidalarini sozlashdan oldin, sukut bo'yicha qaysi zona ishlatilishini tekshirishingiz kerak:

    # xavfsizlik devori-cmd --get-default-zone

    Biz hozirgina xavfsizlik devorini o'rnatganimiz va uni hali sozlamaganimiz uchun bizda standart zona mavjud ommaviy.

    Keling, faol zonani tekshiramiz. U ham bitta - ommaviy:

    # xavfsizlik devori-cmd --get-active-zonalar

    Umumiy interfeyslar: eth0

    Ko'rib turganingizdek, eth0 tarmoq interfeysi zona tomonidan boshqariladi ommaviy.

    Asosiy qoidalarni ko'rish uchun quyidagilarni kiriting:

    # xavfsizlik devori-cmd --barchasi ro'yxati

    Ommaviy (faol) maqsad: standart icmp-blok-inversiyasi: interfeyslar yo'q: eth0 manbalari: xizmatlar: dhcpv6-client ssh portlari: protokollar: maskarad: yo'naltiruvchi portlar: manba-portlar: icmp-bloklar: boy qoidalar:

    Ro'yxatda siz DHCP mijozi va ssh bilan bog'liq odatiy operatsiyalar ushbu zonaga qo'shilganligini ko'rishingiz mumkin.

    Mavjud zonalar

    Barcha zonalar ro'yxatini ko'rish uchun siz buyruqni bajarishingiz kerak:

    # xavfsizlik devori-cmd --get-zonalar

    Men shunday ro'yxat bilan yakunlandim:

    Blok dmz tomchi tashqi uy ichki jamoat ishonchli ish

    Muayyan zona uchun qoidalarni tekshirish uchun - zona bayrog'ini qo'shishingiz kerak.

    # xavfsizlik devori-cmd --zone = home --list-all

    Asosiy maqsad: standart icmp-block-inversion: interfeyslar yo'q: manbalar: xizmatlar: dhcpv6-client mdns samba-client ssh portlari: protokollar: maskarad: oldinga portlar yo'q: manba-portlar: icmp-bloklar: boy qoidalar:

    Barcha zonalar uchun qoidalarni buyruq bilan ko'rish mumkin:

    # xavfsizlik devori-cmd --barcha zonalar ro'yxati

    Ro'yxat juda katta bo'ladi, chunki ko'plab zonalar bo'lishi mumkin.

    Standart zonani o'zgartiring.

    Odatiy bo'lib, barcha tarmoq interfeyslari zonada joylashgan ommaviy, lekin ular buyruq bilan har qanday zonaga o'tkazilishi mumkin:

    # xavfsizlik devori-cmd --zone = uy -change-interfeys = eth0

    Parametrdan keyin -Zona = kerakli zonani belgilang.

    Standart zonani o'zgartirish uchun siz buyruqni ishlatishingiz kerak:

    # xavfsizlik devori-cmd --set-default-zone = uy

    Ilovalar uchun qoidalar qo'shish

    Ilova uchun portni ochish uchun siz istisnolarga xizmat qo'shishingiz mumkin. Mavjud xizmatlar ro'yxati:

    Chiqish ko'p sonli xizmatlarni o'z ichiga oladi. batafsil ma'lumot xizmat uning tarkibiga kiradi xml fayl. Ushbu fayllar katalogda joylashgan / usr / lib / xavfsizlik devori / xizmatlar.

    Masalan:

    # cd / usr / lib / xavfsizlik devori / xizmatlar

    Pochta (SMTP) Ushbu parametr kiruvchi SMTP pochta xabarlarini yetkazib berishga imkon beradi. Pochtani yetkazib berish uchun masofaviy xostlarga to'g'ridan-to'g'ri kompyuteringizga ulanishiga ruxsat berishingiz kerak bo'lsa, ushbu parametrni yoqing. Agar siz pochtani ISP serveridan POP3 yoki IMAP orqali yig‘sangiz yoki fetchmail kabi vositadan foydalansangiz, buni yoqishingiz shart emas. Esda tutingki, noto‘g‘ri sozlangan SMTP serveri masofaviy kompyuterlarga serveringizdan jo‘natish uchun foydalanishiga ruxsat berishi mumkin. Spam.

    XML faylida xizmat tavsifi, protokol va xavfsizlik devorida ochiladigan port raqami mavjud.

    Qoidalarni qo'shishda siz parametrdan foydalanishingiz mumkin - Qo'shimcha xizmat Muayyan xizmatga kirishni ochish uchun:

    # xavfsizlik devori-cmd --zone = public --add-service = http

    # xavfsizlik devori-cmd --zone = public --add-service = https

    Qoidalarni qo'shgandan so'ng, xizmatlar belgilangan zonaga qo'shilganligini tekshirishingiz mumkin:

    # xavfsizlik devori-cmd --zone = ommaviy --list-xizmatlar

    Dhcpv6-mijoz http https ssh

    Agar siz ushbu qoidalarni doimiy qilishni istasangiz, qo'shayotganda parametrni qo'shishingiz kerak - Doimiy.

    Xizmatni hududdan olib tashlash uchun:

    # xavfsizlik devori-cmd --permanent --zone = public --remove-service = http

    Dhcpv6-mijoz https ssh testi

    Xizmatingizni istisnolarga qo'shmoqchi bo'lsangiz, fayl yaratishingiz mumkin xml o'zingiz va uni to'ldiring. Siz istalgan xizmatdan ma'lumotlarni nusxalashingiz, nomini, tavsifini va port raqamini o'zgartirishingiz mumkin.

    Faylni nusxalash smtp.xml foydalanuvchi xizmatlari bilan ishlash katalogiga:

    # cp /usr/lib/firewalld/services/smtp.xml / etc / xavfsizlik devori / xizmatlar

    Fayldagi xizmat tavsifini o'zgartiring.

    Xml faylining o'zi ham xizmatingiz nomiga ko'ra qayta nomlanishi kerak. Shundan so'ng, siz xavfsizlik devorini qayta ishga tushirishingiz va xizmatimiz ro'yxatda mavjudligini tekshirishingiz kerak:

    Men xizmatni nomladim sinov va u ro'yxatda paydo bo'ldi:

    Syslog-tls telnet test tftp

    Endi siz yaratilgan xizmatni istalgan zonaga qo'shishingiz mumkin:

    # xavfsizlik devori-cmd --zone = ommaviy --add-service = test --doimiy

    # xavfsizlik devori-cmd --zone = ommaviy --doimiy --list-xizmatlar

    Dhcpv6-mijoz http https ssh testi

    Ro'yxatda kerakli xizmatni topa olmasangiz, xavfsizlik devorida kerakli portni buyruq bilan ochishingiz mumkin:

    # xavfsizlik devori-cmd --zone = public -add-port = 77 / tcp - ochiq port 77 tcp
    # xavfsizlik devori-cmd --zone = public -add-port = 77 / udp - ochiq port 77 udp
    # xavfsizlik devori-cmd --zone = public -add-port = 77-88 / udp - ochiq port oralig'i 77-88 udp
    # firewall-cmd --zone = public -list-ports - ruxsat etilgan portlar ro'yxatini tekshiring

    ICMP javoblarini bloklash/ruxsat berish:

    # xavfsizlik devori-cmd --zone = ommaviy --add-icmp-block = echo-reply
    # xavfsizlik devori-cmd --zone = ommaviy --remove-icmp-block = echo-reply

    Qo'shilgan portni olib tashlang:

    # xavfsizlik devori-cmd --zone = public -remove-port = 77 / udp - vaqtinchalik qoidani olib tashlash 77 udp

    # xavfsizlik devori-cmd --permanent --zone = public -remove-port = 77 / udp - doimiy qoidani olib tashlash

    O'z zonalaringizni qo'shish

    Siz o'zingizning zonangizni yaratishingiz mumkin (men uni chaqiraman bizning):

    # xavfsizlik devori-cmd --permanent --new-zone = bizning

    Yangi zonani yaratgandan so'ng, shuningdek, xizmatni yaratgandan so'ng, qayta ishga tushirish talab qilinadi xavfsizlik devori:

    # xavfsizlik devori-cmd --qayta yuklash

    # xavfsizlik devori-cmd --get-zonalar

    Blok dmz tomchi tashqi uy ichki bizning jamoat ishonchli ish

    Zona bizning mavjud. Unga xizmatlar qo'shishingiz yoki ma'lum portlarni ochishingiz mumkin.

    Xavfsizlik devori: IP manzillarni bloklash, istisnolarni tashlash

    Siz ishonchli IP manzillarni xavfsizlik devori istisnolariga qo'shishingiz yoki keraksizlarini bloklashingiz mumkin.

    Muayyan IP-manzilni (masalan, 8.8.8.8) serveringizdagi istisnolarga qo'shish uchun xavfsizlik devori, buyruqdan foydalaning:

    # xavfsizlik devori-cmd --zone = public --add-rich-rule = "qoidalar oilasi =" ipv4 "manba manzili =" 8.8.8.8 "qabul qilaman"

    Hududni tekshiring va ishonch hosil qiling IP boy qoidalardagi istisnolarga qo'shilgan:

    Ommaviy (faol) maqsad: standart icmp-block-inversion: interfeyslar yo‘q: eth0 manbalari: xizmatlar: dhcpv6-client http https ssh test portlari: protokollar: maskarad: yo‘naltiruvchi portlar: manba-portlar: icmp-bloklar: boy qoidalar: qoida oilasi = "ipv4" manba manzili = "8.8.8.8" qabul qiling

    Bloklash uchun IP, almashtirish kerak qabul qilish ustida rad qilish:

    # xavfsizlik devori-cmd --zone = public --add-rich-rule = "qoidalar oilasi =" ipv4 "manba manzili =" 8.8.4.4 "rad etish"

    # xavfsizlik devori-cmd --zone = umumiy --list-all

    Ommaviy (faol) maqsad: standart icmp-block-inversion: interfeyslar yo‘q: eth0 manbalari: xizmatlar: dhcpv6-client http https ssh test portlari: protokollar: maskarad: yo‘naltiruvchi portlar: manba-portlar: icmp-bloklar: boy qoidalar: qoidalar oilasi = "ipv4" manba manzili = "8.8.8.8" qoidalar oilasini qabul qilish = "ipv4" manba manzili = "8.8.4.4" rad etish

    Siz ma'lum bir xizmatga faqat ma'lum IP-manzildan so'rovlar uchun ruxsat berishingiz mumkin:

    # xavfsizlik devori-cmd --permanent --add-rich-rule "qoidalar oilasi =" ipv4 "manba manzili =" 10.10.1.0/24 "xizmat nomi =" https "qabul qilaman"

    Agar siz zudlik bilan serverga barcha so'rovlarni bloklashingiz kerak bo'lsa, vahima buyrug'idan foydalaning:

    # xavfsizlik devori-cmd --panic-on

    Siz vahima rejimini buyruq bilan o'chirib qo'yishingiz mumkin:

    # xavfsizlik devori-cmd --panic-off

    Yoki serverni qayta ishga tushirish orqali.

    Mahalliy ildiz xizmatlari siz yaratgan xavfsizlik devori qoidalarini o'zgartirishiga yo'l qo'ymaslik uchun xavfsizlik devori konfiguratsiyasini bloklashingiz mumkin:

    # xavfsizlik devori-cmd --lockdown-on

    Bloklash rejimini o'chirish:

    # xavfsizlik devori-cmd --lockdown-off

    Xavfsizlik devorida portni yo'naltirish

    Xavfsizlik devorida portni yo'naltirish qoidasini yaratishingiz mumkin. 443 portini 9090 ga yo'naltirish uchun:

    # xavfsizlik devori-cmd --zone = ommaviy --add-forward-port = port = 443: proto = tcp: toport = 9090 --doimiy

    Portni yo'naltirish qoidasini olib tashlash uchun:

    # xavfsizlik devori-cmd --zone = ommaviy --remove-forward-port = port = 443: proto = tcp: toport = 9090