יצירת CHROOT מבלי לירות בעצמי

xcalibur

New member
יצירת CHROOT מבלי לירות בעצמי

Sorry for the English.
Tapuz's simply horrible with it's auto-indentations...

I want to create a "jailed" directory for a certain user to be able to browse some log files securely.

Let's say the directory is as follows:

/root/gloader/logs

And the user requiring the access is:

loguser

To my understanding:

-All parent directories must be owned by root
-/root/gloader/logs must be owned by the user
- Change the user's home directory using: usermod -d /root/gloader/logs loguser
- /etc/sshd/sshd_config should be edited and added the following lines:

#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp

Match User loguser
ChrootDirectory /root/gloader/logs
ForceCommand internal-sftp


I've done all of the above but when trying to access from outside using winscp I always get "access denied"
or
fatal: bad ownership or modes for chroot directory component "/root/gloader/logs"

What am I missing?

Thanks!
 

xcalibur

New member
שאלה בנוגע ל-SELINUX

אני מבין שלבטל אותו לגמרי לא יותר מדי מומלץ.
אם כך, איך אני מונע ממנו מלהתערב לי ב-CHROOT?
 

Dניאל Mור

New member
למה בעצם?

אם אתה מרגיש בסדר איתו (ואין ספק שמדובר ביכולת חזקה וחשובה לטובת אבטחת השרת) והוא פעיל על המערכת שלך, מדוע לרצות ולבטל אותו ספציפית ב - Chroot? ההודעה שלך היא קצרה אך מלאה ביכולות אבטחה - שמור עליהן!
כבוד!


+דניאל.
 

xcalibur

New member
לא בטוח אם אני לא הבנתי אותך או אתה לא אותי..

בכל אופן :)

הדבר הזה הוא מה שמנע ממני לבצע CHROOT כמו שצריך.
לכן שאלתי מה הן האופציות שיש לפני.
 

Dניאל Mור

New member
מכיר קצת SELinux?

אני משער שאתה יכול לפתור את הסיפור על-ידי הגדרת ה - Types המתאימים לכל התיקיות\קבצים הרלוונטים. העבר את מנגנון ה - SELinux ל - Enabled או Permissive ובדוק את ה - audit.log (למשל) בהקשר להודעות ה - AVC שיתנו לך פידבק על איזה תהליך ניסה לגשת לאיזה קובץ\תיקייה ומה לא הסתדר. על בסיס פיסות מידע אלו, תוכל לנסות ולתקן את המצב.

בהצלחה.

+דניאל.
 

Dניאל Mור

New member
סתם ליישור קו - אני יוצא מנק' הנחה שאתה רץ על

CentOS/RHEL וכו'. אני צודק?

+דניאל.
 

xcalibur

New member
אם הייתי מכיר הייתי שואל שאלות? :)

אכן, CENTOS.
אולי יומיים שלמים שאני מנסה להבין מה לא בסדר ב-SETUP שלי לאחר שעקבתי בקפידה יתרה אחר 6-5 מדריכים ובכולם הייתה את אותה בעית הרשאות.

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

אגב, סורי על הבורות אבל הסתכלתי בכל הלוגים שרק יכולתי למצוא והכי קרוב שמצאתי היה SECURE\MESSAGES שבכו על ה-BAD OWNERSHIP הזה. איפה עוד יכולתי למצוא מידע על הבעיה הזו שהיה אמור להצביע לי על חסימה ב-SELINUX?

תודה!
 

hetzbh

New member
פרסמתי דווקא מאמר

במקום להתקין Chroot ולהתחיל להעתיק אליו קבצים בינאריים וספריות, לא עדיף כבר להרים קונטיינר עם LXC אם DOCKER?
 

Dניאל Mור

New member
כחובב אישי של הפתרונות המגניבים שהזכרת

אני כן אשמח לשאול האם לא נראה לך שזה קצת "Overkill" למטרה שעושה רושם שהכותב המקורי מעוניין בה (chroot עבור sftp/scp). מה דעתך? אכן היית הולך על זה?

תודה מראש.

+דניאל.
 

hetzbh

New member
תראה, במקרה הזה

אולי באמת ההגדרות האלו יספיקו לו בשביל chroot והפתרון הזה יספק.

יחד עם זאת, ניקח מצב אחר: אתה רוצה להריץ על שרת פרודקשן אפליקציה כלשהי, לא חשוב מה. אתה יכול לעשות הגדרות ומשחקים בשרת טסטים או במכונה שלך, ואחרי זה להעתיק לפרודקשן, ואולי Downtime קצר בפרודקשן (או לא) ולקוות שהעתקת את כל הספריות והתקנת את הכל בצורה מסודרת.

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

אז יש ויש
 

Dניאל Mור

New member
אז כנראה שאנחנו מסכימים שכל "מצב" והפתרון שלו



תודה ואחלה המשך של שבוע!

+דניאל.
 
למעלה