איך להתקין ולהגדיר חומת אש (CSF) על Ubuntu

אבטחת מידע וסייבר בשנת 2024

אז מה זה בכלל CSF?

CSF אלה ראשי התיבות של Config Server Firewall, מדובר על חומת אש חינמית ומתקדמת שיש אותה עבור כול ההפצות של לינוקס בנוסף לפונקצונליות הבסיסית של חומת אש כולל גם תכונות אבטחה כגון: כניסה,חדירה, וכו'.

CSF כולל גם בשילוב של הממשק DirectAdmin, cPanel (במדריך זה אנחנו נדבר על CSF בלבד)
מסוגל לחשוף התקפות רבות ומוגדר לחסום באופן זמני משתמשים אשר תוקפים את השרת.

תכונות:

קונפיגורציה של חומת אש מציעה מגוון רחב של הגנות לשרת שלך. הCSF מסוגל לזהות כמות כניסות הלא מורשות לשרת ואפשר להגדיר לו את הפעולות שהוא יכול לבצע כנגד כמות הכניסות.

להלן האפלקציות שנתמכות על ידי התכונה הזאת

    1. Courier imap, Dovecot, uw-imap, Kerio
    2. openSSH
    3. cPanel, WHM, Webmail (cPanel servers only)
    4. Pure-ftpd, vsftpd, Proftpd
    5. Password protected web pages (htpasswd)
    6. Mod_security failures (v1 and v2)
    7. Suhosin failures
    8. Exim SMTP AUTH

מעקב אחר תהליכים:

CSF מסוגל לאתר תהליכים חשודים ולשלוח אימייל לAdministrator לגבי זיהוי על השרת שלך. זה יכול לעזור לך לאתר ולעצור פריצה או נזק לשרת שלך.

ניטור על נתיב הtemp\ ושאר הנתיבים והתקיות הרלונטיות מיפני סקריפטים זדוניים ושולח מייל במידה והוא מצא.

שירות הודעות:

בCSF יש תכונה של לשלוח הודעות באופן אינפורמטיבית יותר ללקוח.

לתכונה זאת יש חסרון ויתרון, היתרון הוא שהיא מספקת יותר מידע ללקוח וגורמת לפחות תסכול למשל במקרה של כניסות כושלות.

החסרון הוא שזה מספק מידע נוסף שהשוי להקל על התוקף שמנסה לתקוף את השרת שלך.

הגנה מפני "הצפה":

הגדרה זו מספקת הגנה מפני DoS אפשר לציין את כמות החיבורים המותרים בכול יציאה בפרק זמן,מומלץ להפעיל תכונה זו מכיון שהיא עשויה למנוע מתוקף לכפות על השירותים שלך.

חשוב לזכור שתכונה זו יכולה גם להגביל משתמשים רגילים.

הגנת מגבלת חיבור:

ניתן להשתמש בתכונה זו כדי להגביל את המספר החיבורים הפעילים מכתובת IP לכול יציאה.

כאשר ההגדרה מוגדרת הדבר עשוי למנוע שימוש לרעה בשרת ולמנוע מתקפות.

התקנת ה :CSF

CSF כרגע לא קיים במאגרים של Debian או בUbuntu לכן ניצטרך להוריד אותו מהאתר שלהם.

wget http://download.configserver.com/csf.tgz

ביטול הדחיסה:

לאחר מכן ההורדה ירדה וצריך לבטל את הדחיסה בפקודה:

tar -xzf csf.tgz

התקנה:

אם אתם משתמשים בחומת אש אחרת למשל UFW ניצטרך לבטל אותם ליפני שאנחנו מפעילים את הCSF, נישתמש בפקודה:

ufw disable

עכשיו צריך לבצע את ההתקנה של CSF סקריפט:

cd csf
sh install.sh

עכשיו חומת אש מותקנת עכשיו צריך לבדוק מודולים זמינים

perl /usr/local/csf/bin/csftest.pl

קונפיגורציה בסיסית:

CSF אפשר להגדיר באצמעות ערכיה של הקובץ csf.conf in /etc/csf

vim /etc/csf/csf.conf

בישביל לשנות אפשר להשתמש בפקודה

csf -r

קונפיגורציה של Ports:

ככול שהנגישות נמוכה לשרת שלך ככה רמת האבטחה שלך עולה אבל לא כול הפורטים יוכלים להיות סגורים שהלקוח חיב לאפשר את Service להלן הפורטים שפתוחים באופן דיפולטיבי:

TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"  TCP_OUT 

"20,21,22,25,53,80,110,113,443"

UDP_IN = "20,21,53" UDP_OUT =

"20,21,53,113,123"

  • Port 20: FTP data transfer
  • Port 21: FTP control
  • Port 22: Secure shell (SSH)
  • Port 25: Simple mail transfer protocol (SMTP)
  • Port 53: Domain name system (DNS)
  • Port 80: Hypertext transfer protocol (HTTP)
  • Port 110: Post office protocol v3 (POP3)
  • Port 113: Authentication service/identification protocol
  • Port 123: Network time protocol (NTP)
  • Port 143: Internet message access protocol (IMAP)
  • Port 443: Hypertext transfer protocol over SSL/TLS (HTTPS)
  • Port 465: URL Rendesvous Directory for SSM (Cisco)
  • Port 587: E-mail message submission (SMTP)
  • Port 993: Internet message access protocol over SSL (IMAPS)
  • Port 995: Post office protocol 3 over TLS/SSL (POP3S)

קיימת האפשרות שאנו לא משתמשים בכול השירותים האלה  אז אפשר לסגור מה שאנחנו לא משתמשים.

**המלצה : לסגור את כול הפורטים ואז לפתוח מה שאנחנו צריכים.

להלן הפורטים שאמרוים להיות פתוחים בservice:

בכול שרת

TCP_IN: 22,53 TCP_OUT: 22,53,80,113,443 UPD_IN: 53 UPD_OUT: 53,113,123

Apache:

TCP_IN: 80,443

FTP server:

TCP_IN: 20,21 TCP_OUT: 20,21 UPD_IN: 20,21 UPD_OUT:20,21

Mail server:

TCP_IN: 25,110,143,587,993,995 TCP_OUT: 25,110

MySQL server:

TCP_IN: 3306 TCP_OUT: 3306

הגדרות נוספות:

CSF מציע כמה אופציות לקקונפיגורציה של קבצים.

ICMP_IN: אופציה זו מאפשרת לשלוח פינג לשרת שלך 1 אומר שמאופשר 0 אומר שלא מאופשר במידה ויש לך Public service מומלץ מאוד לאשפר את האופציה כדי שהייה יותר קל לדעת עם יש Service זמין.

ICMP_IN_LIMIT: מגדירה את כמות הPING שמורשים להגיע מכתובת אחת בזמן מסוים
בדרך כלל לא צריך לשנות את הכמות הדיפולטיבית (s1)

DENY_IP_LIMIT: מגדיר את כמות חסימת כתובות IP CSF יכול לאתר את אותם כתובות
מומלץ להמעיט בחסימת כתובות הIP כי זה עלול ליצור איטיות ופגיעה של הביצויים בשרת.

DENY_TEMP_IP_LIMIT:אותו דבר כמו ההגדרה האחרונה רק שהיא חוסמת כתובות IP זמניים.

PACKET_FILTER: פילטרים שלא תקינים או לא חוקיים.

הפעלת השינויים:

ברגע שביצענו שינויים בקובץ csf.conf אנחנו נישמור את הקובץ ונבצע restart לservice על מנת שהשינויים שביצענו יכנסו לתוקף.

ברגע שאנחנו מוכנים לגבי השינויים שביצענו נסגור את הקובץ Ctrl + X.

ברגע שאתה נישאל לגבי שמירת השינויים תילחץ על Y לשמור את השיניים.

אחרי זה השינויים אמורים להיות שמורים וצריך לבצע Restart ל CSF עם בפקודה הזאת:

csf -r

במידה והכול עבר בצורה תקינה אתה עדיין תוכל לגשת לשרת ולפתוח את קבצי הקונפגרציה:

vim /etc/csf/csf.conf

לאחר מכן תשנה את ההגדרה של TESTING בהתחלת הקובץ של הקונפגרציה ל0 כמו שרשום למטה:

TESTING = "0"

לאחר מכן תשמור את השינויים שביצעת לקובץ עם הפקודה הזאת:

csf -r

חסימה והפשרה של כתובות IP:

אחד מתוך הפקודות הבסיסיות של החומת האש זה האופציה לחסום כתובות IP לשים אותם בBLACKLIST או בWHITELIST או פשוט להתעלם מהם על ידי הוספה בקבצי הקונפגורציה – csf.deny ,csf.allow, csf.ignore.
חסימת כתובות IP: אם תרצה לבצע חסימה טווח של כתובות IP פתח את הקובץ csf.deny

vim /etc/csf/csf.deny

חסימת כתובות IP או הטווחים שלהם אם תרצה לחסום כתובת IP 1.2.3.4 וגם טווח הכתובות תוסיף את השורה הזאת :

1.2.3.4

2.3.0.0/16

הפשרה של כתובות IP:

אם תרצה לאפשר כתובת IP או טווח כתובות צריך להוסיף אותם בקובץ csf.allow גם אם הם מאופשרות וחסומות באותו הזמן בדיפוט הם יאופשרו.

הפשרה של כתובות דומה לחסימתם השוני זה לערות את הקובץ של csf.allow:

vim /etc/csf/csf.allow

התעלמות מכתובות:

CSF יכול גם להציע את האת האופציה שכתובת IP תוכל לעבור את הפלטור של חומת האש אבל ברגע שהכתובת הזאת מתווספת לקובץ csf.deny היא תיחסם.

vim /etc/csf/csf.ignore

לביצוע הפעלת השינויים שבוצעו צריך לבצע restart לCSF

csf -r

יש לכם שאלות? מעוניינים לשמוע על סוגי השירותים שלנו? מוזמנים ליצור איתנו קשר

Facebook
Twitter
LinkedIn