פירעוואַלל אויף לינוקס פיעסעס אַ וויטאַל ראָלע אין סיקיורינג אַ קאָמפּיוטער סיסטעם. עס אקטן ווי אַ שלאַבאַן, קאַנטראָולינג און פילטער נעץ פאַרקער צו באַשיצן די סיסטעם פון אַנאָטערייזד אַקסעס, אנפאלן און אנדערע טרעץ. אָן אַ רעכט קאַנפיגיערד פירעוואַלל, דער סערווער קען זיין שפּירעוודיק צו פאַרשידן טייפּס פון סייבעראַטאַקס, וואָס פירן צו ערנסט קאַנסאַקווענסאַז פֿאַר דאַטן זיכערהייט און קאַנפאַדענשיאַלאַטי.
אין דעם אַרטיקל וועלן מיר קוקן אויף צוויי הויפּט מכשירים פֿאַר קאָנפיגורירן די לינוקס פיירוואַל: firewalld און iptables. מיר וועלן דורכפירן אַ פאַרגלייַכנדיקע אַנאַליז פון זייערע פֿעיִקייטן, פאַנגקשאַנאַליטעט און מעלות. דערצו וועלן מיר צושטעלן דעטאַלירטע אינסטרוקציעס פֿאַר סעטאַפּ און נוצן יעדן פון די מכשירים, ווי אויך דיסקוטירן בעסטע פּראַקטיקעס פֿאַר זיכערן דיין סיסטעם מיט אַ פיירוואַל אויף דער לינוקס פּלאַטפאָרמע. אַלע אַקציעס וועלן ווערן דעמאָנסטרירט אויף אַ ווירטועל סערווער מיט רוט אַקסעס.
קאַנפיגיער פיירוואַלד אויף לינוקס
Firewalld (Firewall Daemon) איז א פראגראם פארן פארוואלטן דעם Firewall אין לינוקס אפערירן סיסטעמען. עס גיט א באניצער אינטערפייס פארן קאנפיגורירן Firewall רולס, ערלויבן אדער בלאקירן קאנעקשאנס פון נעטווארק אפליקאציעס. עס איז פאר-אינסטאלירט דורך דיפאלט אין רוב סערווער דיסטריביוציעס. אויב Firewalld איז נישט פאר-אינסטאלירט, קען עס אינסטאלירט ווערן אומאפהענגיק פון די דיסטריביוציע'ס אפיציעלע רעפאזיטאריעס.
פֿאַר Red Hat סיסטעמען (אַזאַ ווי RHEL, CentOS, Fedora) די ינסטאַלירונג איז דורכגעקאָכט מיט די באַפֿעל:
yum install firewalld
פֿאַר דעביאַן / ובונטו:
apt-get install firewalld
נאָך ייַנמאָנטירונג, עס קענען זיין סטאַרטעד און אַקטיווייטיד מיד מיט די באַפֿעל:
systemctl start firewalld
ווייַטער, איר דאַרפֿן צו לייגן די סערוויס צו סטאַרטאַפּ:
systemctl enable firewalld
אין דעם פונט, מיר רעקאָמענדירן צו דיסייבאַל ufw, ווייַל די סיימאַלטייניאַס נוצן פון דעם געצייַג מיט Firewalld אָדער Iptables איז נישט רעקאַמענדיד. קאָנטראָלירן די סטאַטוס:
systemctl status ufw
צו האַלטן עס, אַרייַן די באַפֿעל:
systemctl stop ufw
פֿאַר גאַנץ דיאַקטיוויישאַן:
ufw disable
נאָך די אַקשאַנז, איר קענען גיינ ווייַטער צו קאַנפיגיער Firewalld.
ערשטער, עס איז נייטיק צו דעפינירן צוטרוי זאָנעס. Firewalld ניצט דעם באַגריף פון זאָנעס צו באַשטימען די מדרגה פון צוטרוי פֿאַר נעץ ינטערפייסיז. יעדער צובינד איז אַסיינד איין זאָנע, און פיירוואַל כּללים זענען געווענדט באזירט אויף דער זאָנע. די רשימה פון אַלע בנימצא זאָנעס איז אָפּענעד מיט די באַפֿעל:
firewall-cmd --get-zones
טיפּיקאַללי, 4 הויפּט זאָנעס זענען געניצט:
- עפנטלעך: דער זאָנע איז פֿאַר נעטוואָרקס וואָס איר באַטראַכטן אַנסייף;
- פּריוואַט: אַפּלייז צו היים נעטוואָרקס אָדער אנדערע טראַסטיד נעץ קאַנעקשאַנז;
- ינערלעך: געניצט פֿאַר ינערלעך נעטוואָרקס, אַזאַ ווי אין אַן אָרגאַניזאַציע אָדער פֿירמע נעץ;
- דיעמזי: דעם זאָנע איז ווו סערווערס זענען יוזשאַוואַלי געשטעלט וואָס זאָל זיין צוטריטלעך פֿון די אינטערנעט.
אָבער, דאָס איז בלויז איין בייַשפּיל. איר קענען לייגן דיין אייגענע זאָנע מיט דעם באַפֿעל:
firewall-cmd --permanent --new-zone=nameyourzone
נאָך אַדינג, אַ רילאָוד איז פארלאנגט:
firewall-cmd --reload
צו ויסמעקן אַ זאָנע, אַ ענלעך אופֿן איז געניצט
firewall-cmd --permanent --delete-zone=nameyourzone
נאָך דיפיינינג זאָנעס, עס איז נייטיק צו לאָזן פאַרקער פֿאַר די נויטיק באַדינונגס און פּאָרץ. צו לאָזן אַ זיכער דינסט, נוצן די באַפֿעל:
firewall-cmd --zone=public --add-service=name
וואו name איז דער נאמען פון די סערוויס. למשל, צו ערלויבן טראפיק פאר אפאטשי:
firewall-cmd --zone=public --add-service=http
צו דעפינירן ערלויבט פּאָרץ, נוצן די באַפֿעל:
firewall-cmd --zone=public --add-port=number/protocol
פֿאַר בייַשפּיל, דער נאָרמאַל 22 פּאָרט פֿאַר SSH וואָלט קוקן ווי דאָס:
firewall-cmd --zone=public --add-port=22/tcp
אין דעם שטאפל, זענען די הויפט-רעגולאציעס שוין באשאפן. דערנאך, באשטימט ווי אזוי טראפיק וועט ווערן באהאנדלט לויטן מקור, ציל, פארט, און אנדערע קריטעריעס. צו לייגן צו א רעגולאציע (ניצנדיג די פובליק זאנע אלס א ביישפיל):
firewall-cmd --zone=public rule
פֿאַר בייַשפּיל, צו לאָזן ינקאַמינג פאַרקער פון קיין מקור צו פּאָרט 80 (HTTP):
firewall-cmd --zone=public --add-port=80/tcp --permanent
צו באַזייַטיקן אַ הערשן:
firewall-cmd --permanent --remove-rule=rule_specification
וואו rule איז דער טיפ פון הערשן (למשל, פּאָרט, סערוויס, rich-rule, אאז"וו), און rule_specification איז די ספעציפיקאציע פון דער הערשן אליין.
נאָך מאכן ענדערונגען צו די Firewalld קאַנפיגיעריישאַן, עס איז נייטיק צו ראַטעווען און צולייגן זיי. צו ראַטעווען ענדערונגען, נוצן די באַפֿעל:
firewall-cmd --runtime-to-permanent
צו צולייגן ענדערונגען:
firewall-cmd --reload
נאָך קאַמפּליטינג די סעטאַפּ, איר קענען באַשטעטיקן די אויסגעקליבן פּאַראַמעטערס דורך עפן די רשימה פון אַלע כּללים:
firewall-cmd --list-all
אויב עס זענען קיין פראבלעמען, קאָנטראָלירן די Firewalld לאָגס מיט דעם באַפֿעל:
journalctl -u firewalld
באַמערקונג: מיר האָבן נאָר באדעקט דעם אַלגעמיינעם אַלגעריטם פֿאַר אויפֿשטעלן די פֿאַרבינדונג. דער געצייַג האָט ברייטע פֿונקציאָנאַליטעט. פֿאַר פֿולשטענדיקע אינפֿאָרמאַציע וועגן אַלע פֿאַראַן אָפּציעס, קענט איר נוצן די אָפֿיציעלע דאָקומענטאַציע אָדער עפֿענען הילף:
firewall-cmd --help
קאַנפיגיער יפּטאַבלעס אויף לינוקס
ניט ענלעך Firewalld, iptables איז אַן עלטערע אָבער נאָך וויידלי געוויינט געצייַג אין לינוקס פֿאַר אָנפירונג די פיירוואַל. עס גיט אַ מער דירעקט און פלעקסאַבאַל צוגאַנג צו פּאַקאַט פֿילטרירונג כּללים אויף די לינוקס קערן מדרגה. אָבער, iptables ריקווייערז מער אַוואַנסירטע וויסן און דערפאַרונג קאַמפּערד מיט Firewalld, וואָס מאכט עס ווייניקער צוטריטלעך פֿאַר ביגינערז. קאָנטראָלירן די פאַר-אינסטאַלירן ווערסיע פון די געצייַג מיט דעם באַפֿעל:
iptables -V
אויב די געצייַג איז נישט אינסטאַלירן, עס וועט זיין אינסטאַלירן. דער באַפֿעל פֿאַר ינסטאַלירונג אויף ובונטו, דעביאַן:
apt install iptables
פֿאַר Red Hat סיסטעמען (למשל CentOS, Fedora):
yum install iptables
דער באַפֿעל פֿאַר אַקטאַוויישאַן נאָך ינסטאַלירונג:
systemctl start iptables
צו לייגן צו סטאַרטאַפּ, ויספירן:
systemctl enable iptables
איידער איר אָנהייבן די iptables קאַנפיגיעריישאַן, עס איז וויכטיק צו פֿאַרשטיין ווי עס אַרבעט. דעם איז געהאָלפֿן דורך די סינטאַקס פון די פּראָגראַם. עס קוקט ווי גייט:
iptables -t table action chain additional_parameters
זאל ס דעווע דיפּער אין יעדער נומער.
Iptables האט פיר הויפּט טאַבעלעס: filter, nat, mangle, און raw . יעדע איז דיזיינד פֿאַר פּראַסעסינג זיכער טייפּס פון פּאַקאַץ און האט אירע אייגענע קייטן פון כּללים:
- פילטער: דאָס איז די מערסט אָפט געניצט טיש מיט פּאַקאַט פֿילטרירונג כּללים. עס איז גענוצט צו מאַכן דיסיזשאַנז צי צו לאָזן אָדער לייקענען פּאַקיץ.
- nat: דער טיש איז געניצט פֿאַר מאַדאַפייינג נעץ ווענדט און פּאָרץ אין פּאַקיץ. עס איז אָפט געניצט פֿאַר באַשטעטיקן אַרויף מאַסקוועראַדינג (NAT).
- פאַרקלענערן: אין דעם טיש, איר קענען מאָדיפיצירן פּאַקאַט כעדערז. עס איז געניצט פֿאַר ספּעשאַלייזד פּאַקאַט אַפּעריישאַנז, אַזאַ ווי מאַרקינג.
- רוי: דער טיש איז געניצט פֿאַר קאַנפיגיערינג כּללים וואָס אַפּלייז איידער זיי גיין דורך די קשר טראַקינג סיסטעם. עס איז טיפּיקלי געניצט פֿאַר באַשטעטיקן כּללים וואָס זאָל ניט זיין מאַדאַפייד דורך די טראַקינג סיסטעם, אַזאַ ווי דראַפּינג פּאַקיץ פון זיכער אַדרעסעס.
יעדער טיש כּולל אַ גאַנג פון קייטן. קייטן זענען אַ סיקוואַנס פון כּללים וואָס זענען אָפּגעשטעלט סאַקווענטשאַלי. עס זענען דריי פּרעדעפינעד קייטן:
- ינפּוט (ינקאַמינג). די כּללים אין דעם קייט באַשליסן וואָס צו טאָן מיט ינקאַמינג פּאַקיץ.
- OUTPUT (אויסגיין). די קייט אַפּלייז צו אַלע פּאַקיץ דיין קאָמפּיוטער סענדז צו אנדערע דעוויסעס אָדער קאָמפּיוטערס אויף די נעץ.
- FORWARD (פאָרווערדינג). די כּללים אין דעם קייט ספּעציפיצירן וואָס צו טאָן מיט פאָרווערדיד פּאַקיץ.
צום סוף, יעדער קייט פארמאגט עטלעכע קאַמף (ציל). אין פיר, 5 הויפּט אַקשאַנז זענען געניצט:
- ACCEPT: לאָזן די פּאַקאַט צו פאָרן דורך די פיירוואַל.
- פאַלן: אָפּוואַרפן די פּאַקאַט און אַוועקוואַרפן עס אָן קיין ענטפער.
- אָפּוואַרפן: אָפּוואַרפן די פּאַקאַט און שיקן די סענדער אַ ICMP טעות אָנזאָג.
- קלאָץ: קלאָץ די פּאַקאַט אין די סיסטעם קלאָץ און דורכפירן אן אנדער קאַמף (למשל, ACCEPT אָדער DROP).
- צוריקקומען: האַלטן קאָנטראָלירן די כּללים אין די קראַנט קייט און צוריקקומען צו די פאַך קייט (אויב אָנווענדלעך).
צו אָנהייבן די סעטאַפּ, עפענען די רשימה פון יגזיסטינג כּללים מיט די באַפֿעל:
iptables -L
ווי אַ וועגווייַזער פֿאַר קאַנפיגיערינג Iptables, לאָזן אונדז קוק אין פּראַקטיש ביישפילן פון די מערסט קאַמאַנלי געוויינט קאַמאַנדז. פֿאַר קאַנוויניאַנס, מיר טיילן די ביישפילן אין 3 גרופּעס, דיפּענדינג אויף די ספּעציפיש קייט.
קייט איינגאבע :
- לאָזן ינקאַמינג פאַרקער דורך TCP פּראָטאָקאָל אויף פּאָרט 80:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
2. לאָזן ינקאַמינג פאַרקער דורך ודפּ פּראָטאָקאָל אויף פּאָרט 22:
iptables -A INPUT -p udp --dport 22 -j ACCEPT
3. פאַרשפּאַרן ינקאַמינג פאַרקער פון אַ ספּעציפיש IP אַדרעס:
iptables -A INPUT -s 192.168.1.100 -j DROP
קייט אויסגאַנג :
- לאָזן אַוטגאָוינג פאַרקער דורך TCP פּראָטאָקאָל אויף פּאָרט 443:
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
2. לאָזן אַוטגאָוינג פאַרקער דורך UDP פּראָטאָקאָל אויף פּאָרט 80:
iptables -A OUTPUT -p udp --dport 80 -j ACCEPT
3. פאַרשפּאַרן אַוטגאָוינג פאַרקער צו אַ ספּעציפיש פּאָרט (למשל, 21):
iptables -A OUTPUT -p tcp --dport 21 -j DROP
קייט פאָרווערטס :
- פאַרשפּאַרן פאָרווערדיד פאַרקער פון אַ ספּעציפיש קייט פון IP אַדרעסעס:
iptables -A FORWARD -s 172.16.0.0/24 -j DROP
2. פאַרשפּאַרן די פאָרווערדינג פון פּאַקיץ פון אַ ספּעציפיש נעץ צובינד:
iptables -A FORWARD -i eth1 -j DROP
3. באַגרענעצן די נומער פון סיימאַלטייניאַס קאַנעקשאַנז פֿאַר אַ ספּעציפיש פּאָרט (אין דעם בייַשפּיל, 10 קאַנעקשאַנז פּער מינוט אויף פּאָרט 80):
iptables -A INPUT -p tcp --dport 80 -m limit --limit 10/minute -j ACCEPT
ווי איר קענען זען, אין יעדער באַזונדער פאַל, אַן נאָך אַרגומענט (באַפֿעל) איז געניצט. צו באַקומען אַ פול רשימה פון מעגלעך אַרגומענטן און קוילעלדיק שטיצן פֿאַר די פאַנגקשאַנאַליטי פון די געצייַג, אַרייַן:
iptables -h
צו ענשור אַז די סעטטינגס זענען ריכטיק, אַרייַן די באַפֿעל ווידער צו זען די רשימה פון כּללים:
iptables -L
צו ויסמעקן אַ ספּעציפיש הערשן, נוצן די באַפֿעל:
iptables -D chain rule_number
פֿאַר בייַשפּיל, אויב איר ווילן צו ויסמעקן הערשן נומער 1 פון די INPUT קייט, די באַפֿעל וועט קוקן ווי דאָס:
iptables -D INPUT 1
צו ויסמעקן אַלע כּללים מיט איין באַפֿעל:
iptables -F
וויכטיגע נאטיץ : iptables רולס ווערן נישט אויטאמאטיש געראטעוועט נאכן ריסטארטן דעם סיסטעם אדער סערוויס. כדי צו ראטעווען די רולס, דארפן זיי ווערן צוגעלייגט צו א קאנפיגוראציע טעקע און צוריקגעשטעלט נאכן ריסטארטן. די iptables-save און iptables-restore יוטיליטיס קענען העלפן דערמיט. כדי צו ראטעווען די רולס, גיט אריין דעם באפעל:
iptables-save > /etc/iptables/rules.v4
דעם סאַוועס די קראַנט יפּטאַבלעס כּללים אין די רולס.וו4 טעקע. צו ומקערן נאָך רעבאָאָט, אַרייַן:
iptables-restore < /etc/iptables/rules.v4
דעם באַפֿעל ריסטאָרז די כּללים פון די רולס.וו4 טעקע.
סאָף
קאַנפיגיערינג פירעוואַלל אויף לינוקס ניצן פירעוואַלד אָדער יפּטאַבלעס איז אַ וויכטיק אַספּעקט פון ינשורינג סערווער זיכערהייט. ביידע מכשירים פאָרשלאָגן פאַרלאָזלעך מיטל פון אָנפירונג נעץ פאַרקער און פּראַטעקטינג די סיסטעם פון אַנאָטערייזד אַקסעס און סייבעראַטאַקס. די ברירה צווישן פיירוואַלד און יפּטאַבלעס דעפּענדס אויף די ספּעציפיש באדערפענישן און פּרעפֿערענצן פון די באַניצער, קאַנסידערינג זייער פאַרשידענע פאַנגקשאַנאַליטי און סטרענגקטס.