Dante מבצע שתי בדיקות גישה: כלל לקוח מקבל מקור נכנס, וכלל SOCKS מתיר את היעד והפקודה המבוקשים. הדוגמה הזו ל-Dante 1.4.4 מתירה ללקוח אחד להגיע ליעד אחד שבשליטתכם בפורט 443.

זהות השירות וכתובות

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

sudo useradd --system --no-create-home --shell /usr/sbin/nologin danteproxy

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

logoutput: stderr
internal: 192.0.2.10 port = 1080
external: 192.0.2.10
clientmethod: none
socksmethod: none
user.privileged: danteproxy
user.unprivileged: danteproxy

client pass {
    from: 198.51.100.27/32 to: 192.0.2.10/32 port = 1080
    log: connect error
}

socks pass {
    from: 198.51.100.27/32 to: 203.0.113.20/32 port = 443
    command: connect
    log: connect error
}

internal בוחר את המאזין שפונה ללקוחות; external בוחר את הכתובת היוצאת. שרת בעל ממשק אחד יכול להשתמש באותה כתובת מוקצית לשניהם. במקרים מתאימים אפשר גם שם ממשק; בדקו לאילו כתובות הוא מתרחב.

מה המדיניות הזאת מתירה

הכלל הראשון מקבל את המקור שצוין אל המאזין. השני מתיר רק CONNECT ליעד שצוין. בקשות שאינן תואמות נשארות חסומות, כולל BIND ו-UDP ASSOCIATE.

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

sockd -V -f /path/to/sockd.conf

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

מאמרים קשורים