איך להגדיר יכולת כיבוי אוטומטית עבור VPN בלינוקס

A Linux killswitch is a must for any serious Linux VPN user. It guards your data against leaking to the internet by preventing anyone from accessing your data even if disconnected from the VPN. It also ensures that all information remains confidential regardless of what happens in between.

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

נדרשים

כדי להמשיך, יש לך צורך ב:

  • קובץ הקונפיגורציה כדי להתחבר לספק שלך של VPN. מאמר זה משתמש ב- NordVPN כספק VPN.
  • A Ubuntu device with the OpenVPN client. The examples will use Ubuntu 20.04 and OpenVPN 2.5.3.

התקנת הגנת האש הלא מסובכת (UFW)

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

לפני שמתקדמים, וודא שההפצה שלך של לינוקס מעודכנת, אחרת הגנת האש UFW עשויה לא לעבוד כמצופה. לדוגמה, יתכן וה-UFW לא יטען את ההגדרות בעת ההתחלה או כלל שהוסר לא יטען.

1. הפעל את sudo apt install ufw -y כדי להתקין את הגנת האש.

הגנת האש UFW מותקנת כבר כברירת מחדל ברוב ההפצות של אובונטו, לכן יתכן וכבר יש לך UFW מותקן.

2. התחל את שירות ה-UFW עם sudo systemctl start ufw.

**שלב 3: בדוק אם ההתקנה של UFW הצליחה. הפעל את הפקודה sudo systemctl status ufw, ואם ההרצה הצליחה, הפלט יציג active (exited) בצבע ירוק כפי שמוצג למטה.

Verifying that UFW is installed and running

4. הפעל את UFW עם sudo ufw enable. לחץ Y ואז Enter כאשר נשאל אם ברצונך ל המשך ובצע את הפעולה (y|n)?

Enabling UFW on Ubuntu

הרשאת גישה מרחוק

עכשיו שהגדרנו את הגדרות האש, עליך להגדיר את UFW כך שיאפשר את כל הפרוטוקולים שברצונך להשתמש בהם עם ה-VPN.

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

1. הרשה חיבורי SSH עם הפקודה sudo ufw allow ssh. מערכת האש של UFW תקרא את היציאות והפרוטוקול מקובץ /etc/services ותפתח את היציאות בהתאם. ניתן לבדוק את פלט הפקודה למטה.

Allowing SSH Connections on Ubuntu

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

2. לאחר מכן, יש להוסיף כללים כדי לאפשר את פרוטוקול VNC על ידי הרשאת תנועה בין היציאות המתאימות.

כגבי פרוטוקול VNC, זה אופציונלי. VNC מאפשר גישה מרחוק, דומה ל־SSH. VNC מספק קונסול גרפית, בעוד ש־SSH מאפשר רק קונסול טקסט. מאפשר תעבורת VNC עם הפקודה sudo ufw allow 5901:5910/tcp.

הפקודות הללו ייתנו פלט כמו בדוגמה למטה.

Allowing remote access protocols on Ubuntu with UFW

3. לאחר שהחוקים שלך הוספו, וודא שהם מיושמים בהצלחה. הפקודה sudo ufw show added תציג את כל החוקים שהוספת, כפי שניתן לראות בדוגמה למטה.

Checking UFW existing rules

הגדרת מפגש ה־VPN Kill

בסעיף זה, תלמד איך להגדיר את מפגש ה־kill switch האמיתי באמצעות חומת האש של UFW. כדי להתחיל, הרץ את שתי הפקודות הבאות.

  • sudo ufw default deny outgoing
  • sudo ufw default deny incoming

הפקודה ufw default deny מונעת את כל תעבורת היציאה/הכניסה ל/מהמחשב שלך, למעט החיבור המורשה במפורש והפרוטוקולים המרוחקים שהגדרת בסעיפים הקודמים. ניתן לראות את תוצאת הפקודות בצילום המסך למטה.

Blocking traffic with UFW

לאחר מכן, הוסף יוצא יוצא מתקן לסט החוקים של UFW כך שהמחשב שלך יכול להתחבר לשרת VPN: תצטרך את קובץ התצורה של השרת VPN שלך. במדריך זה, קובץ ה־OpenVPN נקרא, ata.ovpn והורד מאתר NordVPN.

שם קובץ התצורה של ה־OpenVPN שלך עשוי להיות שונה. מדריך זה משתמש באופן כללי של "ata" אבל תרגיש חופשי לתת לו שם שאתה רואה כראוי!

באשכול הבא, תסתכלו בתוך קובץ התצורה של OpenVPN באמצעות הפקודה, sudo head /etc/ata.ovpn. הפלט שיתקבל יכיל מידע כמו הפורט, הפרוטוקול, והכתובת ה-IP של שרת ה-VPN אליו אתם מתחברים, עם דוגמא של NordVPN כמוצג למטה.

כדי ליצור את הפקודה הנכונה של UFW, שימו לב למידע שיופיע כמו פורט, פרוטוקול, ו-כתובת ה-IP הציבורית מתוך קובץ התצורה.

Opening an OpenVPN config file, the above example is for NordVPN.

לבסוף, יש ליצור את הפקודה ufw allow out כך: sudo ufw allow out to 69.28.83.134 port 1194 proto udp. כפי שניתן לראות, הכתובת והפורט בשימוש הם מהשורה בתחילת הקובץ עם remote, והפרוטוקול מהשורה בתחילת proto.

בדוגמא זו, אנו משתמשים ב-NordVPN כספק ה-VPN. עבור NordVPN, יש לפתוח את פורט 1194 בפרוטוקול UDP. אם, לדוגמא, אתם משתמשים ב-Express VPN, אז יש לפתוח את פורט 1195 בפרוטוקול UDP, ולא את פורט 1194. לכל ספק VPN יתכן להיות פורט UDP ייחודי.

יצירת יוצא דופן בגב Firewall עבור OpenVPN

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

כדי להתחיל, עליך למצוא את שם ממשק הרשת שבו משתמש הלקוח של OpenVPN. הפעל את הפקודה ifconfig כדי לרשום את כל שמות ממשקי הרשת המוגדרים, כפי שמוצג למטה.

Listing network interface names on Ubuntu.

שים לב לממשק הרשת בשם tun0 ברשימה התוצאתית. ממשק הרשת tun0 הוא הממשק VPN שבו נתקבלת ונשלחת כל התעבורה והממשק שעליו להרשות. מדובר בממשק וירטואלי הנוסף בזמן האתחול, וזה פשוט אומר שאין זה חיבור פיזי. הממשק הזה הוא ברירת המחדל ב-OpenVPN.

הוסף יוצא מן הכלל במערכת האש עבור ממשק טונל VPN שמצאת באמצעות ifconfig כדי לאפשר לכל התעבורה לעבור דרכו. אחרת, אין גישה לאינטרנט וה-kill switch שלך יכשל. הפעל את הפקודה למטה כדי להוסיף יוצא מן הכלל לתעבורת OpenVPN על ממשק tun0.

sudo ufw allow out on tun0 from any to any
Allowing outgoing traffic on the tun0 interface.

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

sudo ufw allow in on tun0 from any to any
Allowing ingoing traffic to tun0 interface

הגדרת הלקוח OpenVPN

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

התחל על ידי שינוי שמו של קובץ ה-ata.opvn הטקסט הרגיל שלך **(השם שלך עשוי להשתנות)** ל־ata.conf. כדי להפעיל את לקוח OpenVPN כשירות מערכת רקע, על הקובץ להיות משונה בסיומת קובץ *.conf. בנוסף, תזיז גם את הקובץ לתיקייה /etc/openvpn.

העבר את קובץ התצורה באמצעות sudo mv /root/ata.ovpn /etc/openvpn/ata.conf.

Moving and renaming the OpenVPN configuration file.

עכשיו, שנה את התיקייה ל־/etc/openvpn ווודא שהקובץ נמצא שם.

cd /etc/openvpn
ls
Showing files in the /etc/openvpn directory

עם קובץ התצורה בתיקייה /etc/openvpn, התחל שירות לקוח OpenVPN עם הפקודה systemctl. כדי להתחיל את השירות, הריץ: sudo systemctl start [email protected].

חלקו "ata" של שם לקוח OpenVPN הוא משמו של קובץ התצורה שנעשה בשימוש. שלך עשוי להשתנות לפי שם הקובץ.

Starting the OpenVPN service.

כדי לוודא שהשירות OpenVPN פועל, השתמש בפקודת systemctl status כפי שמוצג למטה.

sudo systemctl status [email protected]

כפי שמוצג למטה, הצגת הסטטוס הירוק פעיל (פועל) של שירות OpenVPN.

Checking the OpenVPN service status.

לבסוף, עליך להגדיר את המכשיר שלך כך שיתחבר אוטומטית לשירות VPN שלך. התחברות אוטומטית ל-VPN מבטיחה כי OpenVPN תמיד יהיה פעיל, גם אם תפעיל מחדש את המכשיר שלך.

הפעל את הפקודה sudo systemctl enable [email protected], ומעכשיו והלאה, בעת פתיחת שירות OpenVPN, המכשיר שלך יתחבר באופן אוטומטי ל-VPN.

Enable the OpenVPN service.

Conclusion

המאמר הזה הראה לך את כל השלבים הדרושים כדי להגדיר כפתור ההשמדה של Linux עבור חיבור ה-VPN שלך. כפתור ההשמדה מנתק את חיבור הרשת מהמחשב שלך אם ישירות החיבור מתפרקת באופן פתאומי, מונע נצילת מידע ושומר עליך בטוח באינטרנט.

Source:
https://adamtheautomator.com/linux-killswitch/