محدود کردن دسترسی کاربران SFTP با استفاده از chroot jail

محدود کردن دسترسی کاربران SFTP با استفاده از chroot jail

0 651
Telegram_GEEKBOY

در این مقاله در مورد اینکه چطور می توانیم دسترسی کاربران SFTP را به Home دایرکتوری خودشان یا به دایرکتوری مشخصی محدود کنیم، صحبت می کنیم. یعنی با استفاده از این روش که جلوتر توضیح داده خواهد شد هر کاربر تنها قادر به مشاهده Home دایرکتوری خودش بوده و امکان دسترسی داشتن به فایل های سیستمی را نخواهد داشت. این مقاله درباره محدود کردن دسترسی کاربران SFTP با استفاده از chroot jail خواهد بود

محدود کردن دسترسی کاربران در بسیاری از مواقع امری حیاتی است مخصوصا در محیط سرورهای اشتراک گذاری شده، چرا که در چنین شرایطی خطر دسترسی به فایل ها و اطلاعات کاربر توسط کاربری دیگر وجود دارد.

همچنین قابل ذکر است در این مقاله صرفا روش محدود کردن دسترسی SFTP آموزش داده می شود و در نهایت دسترسی مورد نیاز برای انتقال فایل ها را می توانیم پیاده سازی کنیم، اما مجوز برقراری ارتباط ssh وجود ندارد.

ساده ترین روش برای انجام این کار ایجاد محیط chroot برای دسترسی SFTP می باشد، این روش در تمامی نسخه های سیستم عامل لینوکس قابل اجرا می باشد.

مراحل:

بعنوان مثال می خواهیم دسترسی SFTP کاربر CBTNET را به Home دایرکتوری خودش که در مسیر home/CBTNET/ وجود دارد محدود کنیم:

قدم اول: یک گروه به نام sftpgroup ایجاد می نماییم.

.
# groupadd sftpgroup
.

قدم دوم: کاربر CBTNET را عضو گروه sftpgroup می کنیم.

.
# usermod -G sftpgroup CBTNET
.

حتی می توانیم با استفاده از دستور adduser کاربر جدیدی را تعریف کرده و به عضویت این گروه درآوریم.

.
# adduser test -g sftpgroup 
# passwd test

انجام تنظیمات بر روی کانفیگ فایل SSH:

فایل etc/ssh/ssh_config/ را با استفاده از ویرایشگر متن باز کرده و دستورات زیر را در انتهای فایل وارد می نماییم:

Subsystem sftp internal-sftp
Match Group sftpgroup
ChrootDirectory /home
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no

محتویات فایل را دخیره کرده و از آن خارج می شویم و سپس سرویس ssh را ریستارت می کنیم.

.
# service sshd restart
.

پس از آن لازم است تا Permission مربوط به home دایرکتوری هر کاربر را با سطح دسترسی 700 تنظیم نماییم:

.
chmod 700 /home/CBTNET
.

حالا پس از انجام این تنظیمات میتوانیم درستی کارکرد آنرا بصورت زیر چک نماییم:

.
# ssh [email protected]
.

پس از اجرای دستور بالا خروجی بصورت زیر مشاهده خواهیم کرد زیرا همانطور که در ابتدا به آن اشاره شد تنها مجوز دسترسی SFTP امکانپذیر می باشد:

[email protected]'s password: 
Could not chdir to home directory /home/CBTNET: No such file or directory
This service allows sftp connections only.
Connection to 192.168.1.150 closed.

برقراری ارتباط sftp

دستور زیر را برای برقراری ارتباط sftp اجرا می کنیم:

.
# sftp [email protected]
.

در این حالت ارتباط ما بصورت SFTP برقرار می گردد و فقط دسترسی ایجاد یا مشاهده فایل در مسیر home/CBTNET/ وجود دارد:

.
[email protected]'s password: 
Connected to 192.168.1.150.
sftp>
.

محدود کردن دسترسی کاربران SFTP با استفاده از chroot jail

 

هر آنچه از شبکه و آموزش مطالب مختلف میخواهید از گیگ بوی

منبع arashbabaei
ارسال یک نظر

آدرس ایمیل شما منتشر نخواهد شد.

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.