Leech Protection چیست؟
Leech Protection یک قابلیت است که به شما اجازه میدهد تا فعالیتهای غیرعادی را در دایرکتوریهای محافظت شده با رمز عبور تشخیص دهید. برای مثال، فرض کنید که شما یک بخش از وب سایت خود را با رمز عبور محافظت کردهاید تا فقط کاربران خاص بتوانند به آن دسترسی داشته باشند. حال اگر یک کاربر غیرمجاز رمز عبور خود را در یک سایت عمومی منتشر کند، Leech Protection به شما اطلاع میدهد که چه کسانی بیش از حد مجاز به بخش محافظت شده وارد شدهاند و شما میتوانید با آنها برخورد کنید.
قابلیت Leech Protection چه کاربردی دارد؟
قابلیت Leech Protection به شما کمک میکند تا:
- از سرقت پهنای باند، منابع و اطلاعات حساس خود جلوگیری کنید.
- از نفوذ هکرها و نفوذگران به بخشهای محرمانه وب سایت خود جلوگیری کنید.
- از تخلفات قانونی و اخلاقی کاربران غیرمجاز در استفاده از محتوای شما جلوگیری کنید.
- از آسیب رساندن به شهرت و اعتبار خود به علت دسترسی غیرمجاز به بخشهای وب سایت خود جلوگیری کنید.
Leech Protection چگونه فعال میشود؟
برای فعال کردن Leech Protection، شما باید تعداد حداکثر لاگینهای مجاز را در یک بازه زمانی دو ساعته تعیین کنید. اگر کاربری از این تعداد بیشتر لاگین کند، شما میتوانید او را به یک آدرس دیگر هدایت کنید، یک ایمیل هشدار بفرستید یا حتی حساب کاربری او را غیرفعال کنید. روش فعال کردن Leech Protection در هر پنل و وب سرور ممکن است متفاوت باشد. در ادامه، به شما نحوه فعال کردن Leech Protection در سی پنل (cPanel) ، دایرکت ادمین (DirectAdmin) ، پلسک (Plesk) و وب سرورهای آپاچی (Apache) و انجینیکس (NGNIX) را نشان خواهم داد.
Leech Protection در سی پنل (cPanel)
برای فعال کردن Leech Protection در سی پنل، شما باید مراحل زیر را انجام دهید:
- وارد پنل سی پنل خود شوید.
- در بخش Security، روی گزینه Leech Protection کلیک کنید.
- روی گزینه Settings کلیک کنید و محل شروع ناوبری را انتخاب کنید. میتوانید Web Root (public_html or www) را برای شروع از روت اصلی دامنه خود یا Document Root for را برای شروع از روت دامنهای دیگر انتخاب کنید.
- روی گزینه Save Changes کلیک کنید.
- به دایرکتوری که میخواهید محافظت کنید بروید. میتوانید روی آیکون پوشه (📁) کلیک کنید تا به پوشهای دیگر بروید. روی نام پوشه مورد نظر خود کلیک کنید تا آن را انتخاب کنید. یک صفحه جدید باز خواهد شد.
- تعداد حداکثر لاگینهای مجاز را در یک بازه زمانی دو ساعته وارد کنید.
- برای هدایت کاربرانی که از تعداد حداکثر لاگینها بیشتر لاگین میکنند، یک آدرس URL را وارد کنید که میخواهید آنها را به آن هدایت کنید.
- برای دریافت یک ایمیل هشدار وقتی Leech Protection فعال میشود، گزینه Send Email Alert To را علامت بزنید و سپس یک آدرس ایمیل وارد کنید.
- برای غیرفعال کردن حسابهای کاربریای که از تعداد حداکثر لاگینها بیشتر لاگین میکنند، گزینه Disable Compromised Accounts را علامت بزنید.
- روی گزینه Enable کلیک کنید.
Leech Protection در دایرکت ادمین (DirectAdmin)
برای فعال کردن Leech Protection در دایرکت ادمین، شما باید مراحل زیر را انجام دهید:
- وارد پنل دایرکت ادمین خود شوید.
- اطمینان حاصل نمایید که در حالت User قرار دارید و سپس از بخش Advanced Features روی گزینه Password Protected Directory کلیک کنید.
- از بخش Path آدرسی که میخواهید از آن محافظت نمایید را انتخاب نمایید تا در کنار نام پوشه علامت تیک زده شود.
- می توانید در بخش Protected Directory Prompt، متن پیامی که می خواهید به کاربر در مرورگر نمایش داده شود وارد نمایید.
- ازبخش Set/Update User و Password می توانید نام کاربری و رمز عبور مد نظر خود را برای پوشه مد نظر تنظیم فرمایید.
- در نهایت جهت ذخیره، روی گزینه Protect کلیک فرمایید.
Leech Protection در پلسک (Plesk)
برای فعال کردن Leech Protection در پلسک، شما باید مراحل زیر را انجام دهید:
- وارد پنل پلسک خود شوید.
- در منوی سمت چپ، روی گزینه Websites & Domains کلیک کنید.
- روی نام دامنهای که میخواهید محافظت کنید کلیک کنید تا گزینههای بیشتر نمایش داده شود.
- روی گزینه Password-Protected Directories کلیک کنید.
- روی گزینه Add Protected Directory کلیک کنید.
- نام و توضیحات دایرکتوریای را وارد کنید که میخواهید محافظت شده باشد. این نام و توضیحات فقط برای شما قابل مشاهده است و در وب سایت نمایش داده نمیشود.
- روی گزینه OK کلیک کنید. حال شما باید حسابهای کاربری را برای دسترسی به این دایرکتوری اضافه کنید.
- روی نام دایرکتوری محافظت شده خود در لیست Protected Directories کلیک کنید.
- روی گزینه Add a User to This Directory کلیک کنید.
- نام و رمز عبور حساب کاربری را وارد کنید. همچنین میتوانید گزینه Generate a password را انتخاب کنید تا یک رمز عبور تصادفی برای شما ایجاد شود.
- روی گزینه OK کلیک کنید. حال شما میتوانید حسابهای کاربری بیشتری را برای دسترسی به این دایرکتوری اضافه کنید.
- برای فعال کردن Leech Protection، روی گزینه Leech Protection کلیک کنید.
Leech Protection در آپاچی (Apache)
برای فعال کردن Leech Protection در وب سرور آپاچی، شما باید مراحل زیر را انجام دهید:
یک فایل با نام .htaccess را در دایرکتوریای که میخواهید محافظت شده باشد ایجاد کنید. اگر قبلا چنین فایلی وجود دارد، محتوای آن را نگه دارید و خطوط جدید را به آن اضافه کنید.
در فایل .htaccess، خطوط زیر را وارد کنید:
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /path/to/.htpasswd
Require valid-user
در خط AuthUserFile، مسیر فایل .htpasswd را وارد کنید. این فایل حاوی نامها و رمز عبور حسابهای کاربری است. مسیر فایل باید به صورت absolute باشد.
به عبارت دیگر، از روت سرور شروع شود. برای مثال، /home/user/public_html/.htpasswd چنانچه فایل .htpasswd وجود ندارد، آن را با استفاده از دستور htpasswd در ترمینال یا SSH ایجاد کنید. برای مثال، دستور زیر یک فایل .htpasswd با نام user1 و رمز عبور password1 ایجاد میکند:
htpasswd -c /path/to/.htpasswd user1
سپس رمز عبور را وقتی از شما خواسته شود وارد کنید. برای اضافه کردن حسابهای کاربری بیشتر، دستور htpasswd را بدون گزینه -c اجرا کنید. برای مثال، دستور زیر یک حساب کاربری با نام user2 و رمز عبور password2 را به فایل .htpasswd اضافه میکند:
htpasswd /path/to/.htpasswd user2
برای فعال کردن Leech Protection، خطوط زیر را به فایل .htaccess اضافه کنید:
RewriteEngine on
RewriteCond %{HTTP_COOKIE} !^.*cookie_name.*$ [NC]
RewriteRule .* - [L,R=401]
– در خط RewriteCond، به جای cookie_name، یک نام منحصر به فرد برای کوکی خود انتخاب کنید. این کوکی برای شناسایی کاربران مجاز استفاده میشود.
– در خط RewriteRule، به جای ۴۰۱، میتوانید یک کد وضعیت HTTP دیگر را وارد کنید. برای مثال، ۴۰۳ برای Forbidden یا ۴۰۴ برای Not Found.
– برای ایجاد کوکی برای کاربران مجاز، شما باید یک صفحه ورود به سیستم داشته باشید که با استفاده از دستور setcookie در PHP یا معادل آن در زبانهای دیگر، یک کوکی با نام و مقداری که در فایل .htaccess تعیین کردهاید برای کاربر ارسال کند. برای مثال، دستور زیر یک کوکی با نام my_cookie و مقدار secret_value ایجاد میکند:
<?php
setcookie("my_cookie", "secret_value", time() + 3600);
?>
– همچنین شما باید یک صفحه خروج از سیستم داشته باشید که با استفاده از دستور setcookie در PHP یا معادل آن در زبانهای دیگر، کوکی را حذف یا منقضی کند. برای مثال، دستور زیر کوکی را حذف میکند:
<?php
setcookie("my_cookie", "", time() - 3600);
?>
leech protection در انجینیکس (NGNIX)
برای فعال کردن Leech Protection در وب سرور انجینیکس، شما باید مراحل زیر را انجام دهید:
– یک فایل با نام .htpasswd را در دایرکتوریای که میخواهید محافظت شده باشد ایجاد کنید. اگر قبلا چنین فایلی وجود دارد، محتوای آن را نگه دارید و حسابهای کاربری جدید را به آن اضافه کنید. روش اضافه کردن حسابهای کاربری همانند وب سرور آپاچی است.
– در فایل پیکربندی انجینیکس، خطوط زیر را به بخش server اضافه کنید:
location /protected/ {
auth_basic "Restricted Area";
auth_basic_user_file /path/to/.htpasswd;
limit_conn addr 1;
limit_req zone=one burst=5 nodelay;
}
– در خط location، به جای /protected/، نام دایرکتوریای را وارد کنید که میخواهید محافظت شده باشد.
– در خط auth_basic_user_file، مسیر فایل .htpasswd را وارد کنید. مسیر فایل باید به صورت absolute باشد. به عبارت دیگر، از روت سرور شروع شود. برای مثال، /home/user/public_html/.htpasswd
– در خط limit_conn، تعداد حداکثر اتصالات همزمان را برای هر آدرس IP تعیین کنید. به جای ۱، میتوانید یک عدد دیگر را وارد کنید.
– در خط limit_req، تعداد حداکثر درخواستها را برای هر آدرس IP در یک بازه زمانی تعیین کنید. به جای zone=one، میتوانید یک نام دیگر را برای منطقه محدودیت انتخاب کنید. به جای burst=5، میتوانید تعداد حداکثر درخواستهایی را که میتوانند در صف قرار بگیرند وارد کنید. گزینه nodelay باعث میشود که درخواستهای اضافی بلافاصله رد شوند.
– فایل پیکربندی انجینیکس را ذخیره کنید و سرویس انجینیکس را با دستور sudo service nginx reload یا معادل آن بازنشانی کنید.
خلاصه
Leech Protection یک قابلیت امنیتی است که به شما امکان محافظت از دایرکتوریهای محافظت شده با رمز عبور را میدهد. با استفاده از Leech Protection، شما میتوانید فعالیتهای غیرعادی را در این دایرکتوریها تشخیص دهید و با آنها برخورد کنید. Leech Protection در برخی از پنلهای مدیریت وب سایت مانند سی پنل (cPanel) ، دایرکت ادمین (DirectAdmin) ، پلسک (Plesk) و وب سرورهای آپاچی (Apache) و انجینیکس (NGNIX) قابل فعال سازی است. در این مقاله، به شما نحوه فعال کردن Leech Protection در هر یک از این پنلها و وب سرورها را نشان دادیم.
امیدوارم این مقاله برای شما همراهان گرامی IRPOWER مفید بوده باشد.
حسین معرفت
دی ۶, ۱۴۰۲ در ۱۱:۳۰ ق٫ظسلام
برای سرور خودم آپاچی استفاده کردم و خیلی خوب جواب داد. ممنونم از آموزش کاملتون