כאשר יש לך שרת נגיש לציבור, האקרים יכולים בקלות לסרוק את כתובת ה- IP שלך ולבדוק יציאות פתוחות (במיוחד יציאה 22 המשמש SSH) בשרת שלך. אחת הדרכים להסתיר את השרת שלך מפני האקרים הוא knockd. Knockd הוא שרת נמל לדפוק. זה מקשיב לכל תנועה על Ethernet או ממשקים זמינים אחרים, מחכה רצפים מיוחדים של להיטים נמל. לקוחות כגון Telnet או מרק יוזמים יציאות port על-ידי שליחת TCP או מנות ליציאה בשרת.

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

התקן Knockd בשרת לינוקס

Knockd זמין במאגרים של רוב distro. בשרת מבוסס דביאן / אובונטו / אובונטו, ניתן להשתמש בפקודת ה- apt-get כדי להתקין את ה- knockd.

 sudo apt- לקבל להתקין knockd 

עבור משתמשי Fedora, CentOS או REHL, באפשרותך להשתמש בפקודת yum :

 yum להתקין 

התקנה והגדרה של Iptables

אם אין לך Iptables מותקן בשרת שלך, התקן אותו עכשיו.

 sudo apt- לקבל להתקין iptables iptables- מתמיד 

החבילה iptables-persistent משתלטת על טעינה אוטומטית של iptables שנשמרו.

הבא, אתה צריך לאפשר חיבורים שכבר הוקמה כמו גם הפעלות הנוכחי באמצעות iptables. השתמש בפקודה הבאה כדי להשיג משימה זו:

 iptables-INPUT -m connt - מקושרים, קשורים- JJPT 

לאחר מכן, עליך לחסום את כל החיבורים הנכנסים ליציאה 22 SSH.

 iptables -A INPUT -p tcp - דפורט 22 -דחה 

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

 netfilter-persistent שמור netfilter- לטעון מחדש 

תוכל להמשיך ולבדוק אם אכן חסמת את היציאה 22 על-ידי התחברות לשרת דרך המחשב.

 ssh-server-ip 

הגדר את Knockd

עכשיו זה הזמן להגדיר הגדרות ברירת המחדל knockd. הוא נמצא בכתובת "/etc/knockd.conf". לשם כך, עבור לקובץ התצורה של נוקדת באמצעות הפקודה הבאה:

 cd / etc sudo leafpad knockd.conf 

לצורך ההדגמה, אני משתמש בעורך העלונים. בשרת שלך אתה יכול להשתמש ננו או וי.

צילום המסך מציג את קובץ הגדרות הקופסה.

  • אפשרויות : באפשרותך למצוא אפשרויות תצורה עבור Knockd בשדה זה. כפי שאתה יכול לראות את צילום המסך לעיל, הוא משתמש syslog עבור רישום.
  • OpenSSH : שדה זה מורכב מרצף, פסק זמן רצף, פקודות ודגלי tcp.
  • רצף : הוא מראה את רצף היציאה שיכול לשמש דפוס על ידי הלקוח כדי ליזום פעולה.
  • רצף פסק זמן : הוא מראה את הזמן הכולל שהוקצה ללקוחות כדי להשלים את הרצף הנדרש דפיקות.
  • פקודה : זוהי הפקודה אשר יבוצע לאחר רצף דפיקות על ידי הלקוח תואם את הדפוס בשדה רצף.
  • TCP_FLAGS : זהו הדגל שיש להגדיר על הדפיקות שהונפקו על ידי הלקוח. אם הדגל היה שגוי, אבל דפוס הדפיקות שגוי, הפעולה לא תפעיל.

הערה : הפקודה iptables בקטע OpenSSH בקובץ תצורת Knockd משתמשת באפשרות -A כדי לצרף כלל זה לסוף שרשרת INPUT. זה גורם לכל החיבורים הנותרים לרדת.

כדי למנוע זאת, החלף את הטקסט שלהלן:

 הפקודה = / sbin / iptables-INPUT 1-s% IP% -p tcp --dport 22 -JCEPT 

פקודה זו מבטיחה שכלל חדש יתווסף לחלק העליון של שרשרת INPUT כדי לקבל חיבורי ssh.

הפעל והתחל שירות Knockd

השתמש בהליך הבא כדי להפעיל את שירות הקולות ב- "/ etc / default / knock."

שנה ערך מ -0 עד 1 כפי שמוצג בתמונה.

 START_KNOCKD = 1 

לאחר מכן, שמור וסגור את הקובץ "/ etc / default / knockd."

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

 שירות sudo להתחיל 

אוֹ

 להתחיל 

הגיע הזמן לבדוק את שרת לינוקס שלך

עכשיו זה הזמן לבדוק את שרת SSH לינוקס שלך. לפתיחת יציאה 22 בכתובת IP מוגדרת, השתמש במחשב שלהלן. (אתה צריך להתקין knockd במחשב שלך, יותר מדי)

 לדפוק את השרת שלי ip 7000 8000 9000 

אתה צריך להחליף את "שרת ה- IP שלי" עם כתובת ה- IP של השרת שלך.

כעת באפשרותך להתחבר ליציאה 22 SSH באמצעות הפקודה הבאה:

 ssh-server-ip 

לאחר שתסיים עם כל מה שרצית לעשות באמצעות יציאה 22, תוכל לסגור אותו באמצעות הפקודה הבאה:

 דפדף-שלי שרת-ip 9000 8000 7000 

סיכום

עם נוקד, אתה בטוח היטב כי שרת SSH שלך מאובטח בטוח nad מתוקפים עם סורקים מתוחכמים. בנוסף, אתה לגמרי אחראי על שרת SSH שלך.