آموزش وب هاستینگ (میزبانی وب) - جلوگیری از حملات DDOS

تاريخ مقاله: 2013-01-10 15:34:40
تعداد بازديد: ۱۴۴۶
موضوع وب هاستینگ

آموزش میزبانی وب (وب هاستینگ)

جلوگیری از حملات DDOS

جلوگیری از حملات DDOS
همانطوری که میدانید مقابل حملاتی از قبیل dos,ddos را به طور ۱۰۰% نمیتوان گرفت، هیچ سروری در مقابل این گونه حملات پایدارو امن نیست . این اسکریپت پورت ۸۰ سرور را از نظر تعداد اتصالاتی که به آن وصل شده است چک و بررسی میکند که باعث میشود ادمین(مدیر) سرور سریعتر به حل مشکل بپردازد.
برای نصب مراحل زیر را دنبال میکنیم…
۱- ابتدا وارد SSH به وسیله کاربر ریشه rootشوید.
۲- اسکریپت را دریافت میکنیم:

کد PHP:
wge t http://www.inetbase.com/scripts/ddos/install.sh

۳- نصب را آغاز میکنیم:

کد PHP:
./install.sh

یا

کد PHP:
sh install.sh

نصب به اتمام رسید،
برای اجرای این اسکریپت دستورات زیر را به ترتیب وارد میکنیم:

کد PHP:
cd /usr/local/ddos/
کد PHP:
./ddos.sh

برای ویرایش فایل پیکربندی اسکریپت :

کد PHP:
nano /usr/local/ddos/ddos.conf

 

توپولوژی فایروال
بعد از آشنایی با مفهوم فایروال و وظایف آن نوبت به آن می رسد که توپولوژی فایروال ها را بررسی کنیم. موقعیت یابی برای فایروال و تعیین محل برای آن ، از درجه اهمیت بسیار بالایی برخوردار می باشد. برای درک بیشتر اهمیت موضوع ، مثال هایی را بیان خواهیم کرد. قبل از هر چیز به نکات مهمی که در هنگام تعیین محل و موقعیت فایروال باید بدان توجه شود دقت نمایید:
۱- موقیت قرار گیری فایروال از لحاظ فیزیکی : معمولا ، فایروال ها را در مرزهای ورودی و خروجی شبکه نصب می کنند تا فایروال هم به عنوان پوشش امنیتی مناسب برای حفاظت از شبکه داخلی باشد و هم شبکه داخلی را از شبکه عمومی ( اینترنت ) جداسازی کند.
۲- در نظر گرفتن نواحی امنیتی مختلف با قابلیت دسترسی های متفاوت : مدیران و مهندسین شبکه برحسب نیاز ، شبکه را به نواحی امنیتی متفاوت تقسیم می کنند بطوریکه هر ناحیه سطوح دسترسی خاصی به افراد می دهد و برای هر کدام از این سطوح فایروال هایی با قوانین وساستگذاری های خاصی نصب و تعریف می کنند.
۳- حفاظت لایه ای : در شبکه های بزرگی که از درجه امنیت بالایی برخوردار باشند ، معمولا داده ها از چندین فایروال عبور می کنند. بدین ترتیب لایه های امنیتی متفاوتی در موقعیت های مختلف در شبکه نصب می کنند. این ویژگی باعث می شود که در صورتی که یکی از فایروال ها دچار مشکل شود ویا اینکه یک فایروال نتوانست جلوی حمله را بگیرد، بقیه فایروال ها راه نفوذ را ببندند.
چند نوع توپولوژی :
اکثر ISP ها دارای وب سرور هستند که از طریق آن اطلاعاتی را در اختیار کاربران و مشریان خود قرار می دهند تا از طریق این وب سرور بتوانند مثلا حساب کاربری و اشتراکی- اینترنتی خود را بررسی کنند و یا به منابعی از شبکه دسترسی داشته باشند.
مدیر شبکه قصد دارد که از فایروال برای حفاظت منابع شبکه ای خود استفاده نماید. به نظر شما وب سرور را در کجا قرار دهد تا امنیت شبکه تامین شود؟ در پاسخ به این پرسش سه شیوه طراحی متفاوت در نظر گرفته می شود:
۱- خارج از فایروال ( بین اینترنت وفایروال ) : در این شیوه ، سرور مستقیما و بدون حفاظ و لایه امنیتی در معرض دید عموم قرار می گیرد. و بعد از آن یک فایروال نصب می شود. ممکن است که این شیوه طراحی برای وب سرور شما خطرناک باشد ، اما چنانچه هکرها با سوء استفاده از ضعف طراحی وب مستر بتوانند وب سرور را در کرده و به بخواهند به داخل شبکه نفوذ کنند به یک فایروال سفت و سخت مواجه خواهند شد.


۲- درون فایروال ( بین فایروال و شبکه ) : در این طراحی ، وب سرور تحت حمایت کامل امنیتی فایروال قرار دارد. در این شیوه باید طراح وب و مدیر شبکه پورت های مورد نیاز و ضروری را باز بگذارد و سایر پورت ها را ببندد. در این صورت چنانچه هکری توانست از حفاظ وب نفوذ کند ، احتمال دارد که به راحتی به سایر پورت ها و منابع شبکه هم دسترسی پیدا کند.


۳- میان دو فایروال : اگر وب سرور دارای منابع حساس و مهمی باشد ، وب مستر و مدیر شبکه ضرورت پیدا می کند که از این شیوه امنیتی استفاده نماید. که در واقع ترکیبی از دو حالت فوق می باشد. در این شیوه طراحی ، وب سرور تحت حمایت و کنترل کامل دو فایروال می باشد و جلوی نفوذ هر فرد سودجویی گرفته می شود.


در سه حالت فوق مشاهده کردید که تنظیم و سیاستگذاری درست قواعد یک فایروال تا چه اندازه می تواند ضروری و حیاتی باشد.

برای درک بهتر مفهوم فایروال ما در شکل بالا ۴ ناحیه یا Zone را در نظر گرفته ایم :
۱- LAN یا شبکه خصوصی ( Private Network) : ناحیه ای است مخصوص مدیران شبکه وکارکنان آن ، بنابراین باید حفاظی برای آن در نظر گرفته شود که اجازه ورود داده های اینترنتی به این ناحیه داده نشود مگر به خود کارکنان شبکه.
۲- DMZ مخفف (Demilitarized Zone ) : به معنی ناحیه غیر نظامی ، ناحیه ای است که سرورهای عمومی ISP در آنجا واقع می شوند. کاربران اینترنتی با دسترسی یه این سرورها می توانند به اینترنت وصل شوند. بنابرین این سرورها در دسترس کاربران اینترنت می باشد. این سرورها می تواند DNS سرور ، وب سرور ، FTP سرور ، میل سرور و غیره باشد… توجه شود که ، این ناحیه در قلمرو حفاظتی فایروال واقع نمی شود. بنابراین باید با دقت و با یک برنامه ریزی صحیح و نیز رعایت تمام مسائل امنیتی اقدام طراحی این ناحیه کرد. این ناحیه درست همانند نمایشگاه ماشین می باشد. که تمام افراد می توانند وارد شده و از تماشا کنند بدون آنکه محدودیتی باشد.
۳- Internet یا ( Public Network ) : ناحیه ای است مربوط به کاربران اینترنتی در حال اتصال به اینترنت.
۴- مناطق محرمانه : در این ناحیه سرورهای حساس و فایل های سری وجود دارند. که در دسترس تعداد خاصی می باشد.
با این تفاصیل و با داشتن چندین ناحیه که از لحاظ سطح امنیتی بسیار متفاوت از یکدیگر هستند. باید اصولی اتخاذ شود که بتوان سطوح امنیتی مختلفی را تامین کرد و جلوی دسترسی های غیر مجاز را گرفت. اولین قدمی که باید برداشت گذاشتن فایروال ها با قواعد تعریف شده معین و در لبه ورودی و خروجی این نواحی می باشد.

فایروال چیست؟

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

فایروال یک ضرورت اجتناب ناپذیر
در دنیای کامپیوتر لازم است نرم افزاری با قواعد و اصول مشخص و از قبل تعیین شده طراحی شود تا دستگاه های ما را از گزند سارقین اطلاعات ، هکرها ، نفوذگرها و نرم افزارها مخرب ، ویروس ها و کرم های رایانه ای در امان نگه دارد. امروزه با توجه به پیشرفت علوم رایانه ای و تکنولوژی اطلاعات و ارتباطات و نیز هجوم بی رویه و پیش بینی نشده نرم افزارها و برنامه های جاسوسی و ویروسی مخرب و پیشرفت برنامه نویسان حرفه ای ، لزوم استفاده از نرم افزارهای پیشرفته تر و تعیین اصول دفاعی قوی تر توسط متخصصین مجرب امری ضروری و اجتناب ناپذیر می باشد. بنابراین یکی از دغدغه های مدیران شبکه ها و ISP ها ، نگهبانی از مرزهای ورودی و خروجی شبکه داخلی خود با مرز شبکه جهانی اینترنت می باشد. برای نگهبانی از این مرزها ، از Firewall به معنی دیواره آتشین ، استفاده می شود.
فایروال ها یکی از عناصر اساسی در دنیای امنیت اطلاعات می باشد. بسیاری از افراد نگران هستند ونگرانی بسیاری از آنها ناشی از عدم درک درست مفهوم فایروال ، جایگاه و هدف از نصب و راه اندازی آن می باشد. در این مقاله سعی داریم به نکات اساسی در ارتباط با فایروال ها اشاراتی داشته باشیم.

وظایف فایروال
۱- استفاده از تکنولوژی NAT
یکی از وظایف مهم فایروال جداسازی شبکه داخلی یک ISP از اینترنت می باشد که این کار توسط مفهومی به نام NAT انجام می شود. مهمترین هدف ارائه شده توسط تکنولوژی NAT، عدم دسترسی مستقیم کاربران اینترنتی به کامپیوترهای موجود در شبکه می باشد که اینکار از طریق اعطای آدرس های IP غیرمعتبر ( Invalid ) به کامپیوترهای داخلی شبکه انجام می شود. مدیران شبکه از این ویژگی NAT به نحو احسن ، در خصوص فایروال ها ، استفاده کرده اند. بدین صورت که به یک فایروال آدرس IP معتبر ( valid ) می دهند. بنابراین زمانیکه کامپیوترهای موجود در شبکه بخواهند به اینترنت دسترسی پیدا کنند ، ضرورت پیدا می کند که از دستگاه فایروال عبور کنند و زمانیکه درخواست آنها انجام شد باز از طریق عبور از فایروال به کامپوترهای موجود در شبکه خواهد رسید. همانطوریکه توجه کردید در اینجا فایروال مانند مانع و سد دفاعی عمل می کند.
۲- *****ینگ
یکی دیگر از وظایف مهم فایروال ها ، خاصیت *****ینگ عالی آن می باشد. می توان قواعد و قوانین خاصی را در فایروال اعمال کرد که موارد زیر را ***** وجلوی عبور آنها را بگیرد:
• *****ینگ نشانی IP : فایروال می تواند نشانی IP خاصی را ***** کند. مثلا مدیر شبکه متوجه شود که فردی از رایانه خود که دارای IP مشخصی است ، مرتبا به سرور وصل می شود و قصد سوء استفاده دارد. مدیر شبکه می تواند با استفاده از این ویژگی فایروال به این فرد اجازه ورود ندهد.
• *****ینگ دامنه ها ( Domain Name ) : همانطوریکه می دانید هر وب سروری دارای نام حوزه خاصی می باشد. فایروال می تواند جلوی دسترسی افراد را به سایت خاصی از طریق *****ینگ نام آن دامین بگیرد.
• *****ینگ پروتکل ها و پورت ها : فایروال ها می دانند که داده های رد و بدل شده از چه پورتی عبور می کنند و دارای چه نوع پروتکلی هستند. بنابراین کنترل کاملی دارند و می توانند به پورت خاص و یا به پروتکل خاصی اجازه عبور ندهد.
• *****ینگ واژه ها و عبارت های ویژه ( Packet Filtering ) : هر صفحه وبی که مشاهده می کنید و یا هر پیام ایمیلی که ارسال و دریافت می کنید ، به صورت مجموعه ای از packet ها بین دو نقطه منتقل می شوند. هر بسته اطلاعاتی شامل IP آدرس فرستنده و گیرنده می باشد. تبادل تمام اطلاعات در اینترنت به وسیله بسته بندی داده ها انجام می شود. هر بسته شامل ۳ بخش اصلی می باشد. Body ، Footerو Header می باشد. آدرس فرستنده و گیرنده ، نوع پروتکلی که انجام وظیفه می کند و شماره بسته در هدر قرار می گیرد. در بدنه هر بسته داده های فرد فرستنده که برای گیرنده ارسال می کند ، واقع شده است. در این روش *****ینگ ، در واقع بسته ها از یک صافی عبور می کنند و تماما اسکن می شوند ، اگر شامل هر مورد مشخص شده در ***** باشند ، نادیده گرفته می شوند و به مقصد نمی رسند.
توجه : از جمله روش های بسیار متداولی که توسط مهاجمان انجام می گیرد ، یافتن نقطه ورود به یک شبکه و نفوذ در آن از طریق یافتن یک پورت باز در شبکه می باشد. یکی از برنامه هایی که مورد استفاده آنها قرار می گیرد ، برنامه Telnet و اصطلاحا عمل تلنتیگ پورت باز شبکه می باشد. اگر پورتی ، اشتباها توسط مدیر شبکه بسته نشود. مهاجمان از طریق آن پورت وارد عمل شده و به اطلاعات محرمانه شبکه دسترسی پیدا می کنند و یا برنامه های مخرب خود را از طریق همان پورت بار وارد شبکه می کنند.

آشنایی با mod_security

آشنایی با mod_security

اجرا کردن نرم‌افزارهای تحت وب ممکن است شبیه بازی کردن بازی رولت روسی باشد. با اینکه رسیدن به یک سطح امنیتی بالا روی وب در تئوری ممکن است، ولی در جهان واقعی همیشه یک نقطه ضعیف وجود دارد. تنها یک لغزش و خطا در کد کافی است تا حمله کنندگان را قادر سازد تا به اطلاعات شما دسترسی پیدا کنند. اگر شما یک نرم‌افزار تحت وب عمومی با کمی پیچیدگی در حال اجرا داشته باشید، این احتمال وجود دارد که نوعی اشکال امنیتی در آن وجود داشته باشد. برای مثال URL مثال زیر را ببینید:
TrueCredit - ۳-Bureau Credit Report & Credit Score - By TransUnion در صورتی که نرم‌افزار شما در مقابل SQL Injection ضعف داشته باشد، فراخوانی آدرس بالا ممکن است به راحتی کلیه اطلاعات کاربرانتان را پاک کند. آیا از اطلاعات بانک اطلاعاتی خود بطور مرتب نسخه‌های پشتیبان تهیه می‌کنید؟
mod_security یک سیستم کشف و پیشگیری از مزاحمت مخصوص برنامه‌های کاربردی وب است. به زبان دیگر می‌توان آنرا دیوار آتش برنامه‌های کاربردی وب نیز نامید. این سیستم به صورت یک ماژول بر روی سرویس‌دهنده وب آپاچی نصب شده و همانند یک چتر حفاظتی بر روی برنامه‌های کاربردی وب عمل می‌نماید.

چرا باید از mod_security استفاده کنید؟

چند سال پیش که من (نگارنده) شروع به کار بر روی mod_securty کردم، از snort برای مانیتور کردن ترافیک وب خود استفاده می‌کردم. من خیلی خوب کار کرده بودم. به Snort گفته بودم که چه کلمات کلیدی برای من جالب است و این برنامه هرگاه که به این کلمات کلیدی بر می‌خورد، به من اطلاع می‌داد. ولی من به چیز بیشتری نیاز داشتم. من مایل بودم بتوانم آزادی لازم برای تعریف قوانین پیچیده و توانایی اجرای عکس العمل‌های مرتبط با HTTP را داشته باشم. علاوه بر این، نصب و پیاده سازی یک سیستم کشف مزاحمت (IDS) هر جا که یک سرویس‌دهنده وب وجود داشته باشد کاری است بسیار وقت گیر و گران.
در همان زمان سعی کردم تا از ترکیب mod_rewrite و mod_setenvif استفاده کنم. با استفاده از mod_rewrite تشخیص کلماتی مانند drop و table بسیار آسان بود و می‌توانستم سرویس گیرنده ارسال کننده چنین کلماتی را به آدرس دیگری دور از نرم‌افزار وب هدایت کنم تا از حمله جلوگیری شود. البته این کار تنها جلوی نفوذگران کم تجربه را می‌گرفت. نفوذگران پرتجربه‌تر می‌توانستند با بکارگیری متد POST بجای GET همان URL مورد نظرشان را فراخوانی کنند. از آنجایی که متغییرهای ارسال شده توسط متد پست توسط بسیاری از ماژول‌های آپاچی در نظر گرفته نمی‌شوند، حمله می‌توانست انجام شود.
اکنون که نیاز به داشتن یک ابزار جدید برای پوشش دادن این نیاز حفاظتی ایجاد شده بود، من دو راه در مقابل خود داشتم: از جاوا استفاده کنم و یک سیستم Reverse ***** و Application Gateway برای نرم‌افزارهای تحت وب بنویسم، یا اینکه یک ماژول برای آپاچی بنویسم که در بالای کدهای موجود اجرا شود. راه نخست مستلزم صرف وقت بسیار بود و شاید از نتیجه کار نیز تعداد بسیار کمی استفاده می‌کردند (خودم هم از آن استفاده نمی‌کردم!) از آنجایی که مایل بودم ابزاری بنویسم که قابل انعطاف و سهل الاستفاده باشد، راه دوم را انتخاب کردم و هرگز پشت سر خود را نگاه نکردم.
به مثالی که در بالا زدیم باز می‌گردیم. برای جلوگیری mod_security از حمله‌ای که با drop table صورت می‌گیرد، کافی است خط زیر را به فایل پیکربندی سرویس‌دهنده آپاچی خود اضافه کنید:
SecFilter "dropspacetable" تنها پارامتر SecFilter یک Regular Expression است که به درخواست‌های وارد شده به سرویس‌دهنده اعمال می‌گردد. این شبیه کاری است که mod_rewrite انجام می‌دهد با این تفاوت که mod_security هم بر روی GET و هم بر روی POST عمل می‌کند. اینجا لازم است بگویم که پیاده سازی قابلیت مانیتور کردن POST بر روی آپاچی ۱.۳ کار بسیار دشوار بود.

نصب و پیکربندی

یکی از بهترین راه‌های نصب mod_security کامپایل آن با استفاده از کد منبع است:
$ /path/to/apache/bin/apxs -cia mod_security.c
# apachectl stop
# apachectl start برای اینکه قادر باشید تا ماژول‌های آپاچی را با استفاده از apxs کامپایل و نصب کنید، باید بسته apache-dev را که به همراه توزیع شما موجود است، نصب کنید. مثلا در دبیان و توزیع‌های مبتنی بر آن می‌توانید از دستور زیر برای نصب apache-dev استفاده کنید:
# apt-get install apache-dev در صورتی که بخواهید ماژول mod_security را بدون کامپایل نصب کنید، به احتمال قوی آن نیز به همراه توزیع مورد استفاده شما ارائه شده است. در دبیان می‌توانید با دستور زیر آنرا نصب کنید:
# apt-get install libapache-mod-security پس از نصب باید اطمینان حاصل کنید که ماژول آن در سرویس‌دهنده فعال باشد. کافی است بررسی کنید که خط زیر در فایل etc/apache/modules.conf/ وجود داشته باشد و در صورتی که نیست آنرا بصورت دستی اضافه کنید:
LoadModule security_module /usr/lib/apache/۱.۳/mod_security.so پس از اتمام نصب باید تعدادی خط به فایل پیکربندی سرویس‌دهنده آپاچی اضافه کنید:

<IfModule mod_security.c>
# Turn the filtering engine On or Off
SecFilterEngine On

# Make sure that URL encoding is valid
SecFilterCheckURLEncoding On

# Unicode encoding check
SecFilterCheckUnicodeEncoding Off

# Only allow bytes from this range
SecFilterForceByteRange ۰ ۲۵۵

# Only log suspicious requests
SecAuditEngine RelevantOnly

# The name of the audit log file
SecAuditLog logs/audit_log
# Debug level set to a minimum
SecFilterDebugLog logs/modsec_debug_log
SecFilterDebugLevel ۰

# Should mod_security inspect POST payloads
SecFilterScanPOST On

# By default log and deny suspicious requests
# with HTTP status ۵۰۰
SecFilterDefaultAction "deny,log,status:۵۰۰"

</IfModule> در خطوط بالا، من توضیحات را باقی گذاشته‌ام تا کاملا قابل درک باشد. تنظیمات بالا mod_security را فعال خواهد ساخت ولی با این تنظیمات کار زیادی برای شما انجام نمی‌دهد. همیشه بهترین راه شروع با یک تنظیم ساده و تکمیل کردن آن با دستورات اضافه‌تر است.




خوب حالا این چه کار می‌کند؟

حتی با این تنظیم ساده نیز mod_security دو سود دارد. نخست اینکه تعدادی تکنیک ضد گریز زنی اجرا می‌کند و باعث می‌شود که ورودی رسیده به سرویس‌دهنده یک ورودی متعارف و استاندارد باشد. این در قدم بعدی که شروع به اضافه کردن قوانین *****ینگ می‌کنید، مفید خواهد بود. تصور کنید می‌خواهید جلوی اجرای دستور ps را با استفاده از یک Regular Expression مانند bin/ps ax/ بگیرید. این کار جلوی فراخوانی همین دستور را خواهد گرفت ولی در مقابل فراخوانی‌هایی مانند bin/ps%۲۰ax/ یا bin//ps ax/ یا bin/ ./ps ax/ کاری انجام نخواهد داد. در زیر لیستی از کارهایی که mod_security در این مورد خواهد داد را می‌بینید:
- حذف چند اسلش متوالی (//)
- حذف فراخوانی‌های دایرکتوری جاری (/.)
- / و \ را بصورت یکسان تلقی می‌کند (فقط بر روی ویندوز)
- عملیات URL Decoding را انجام می‌دهد
- بایت‌های خالی (۰۰%) و فضاهای خالی را حذف می‌کند
دومین سود با فعال شدن تعدادی از بررسی‌های توکار فراهم می‌شود:
- بررسی صحت URL Encoding
- بررسی صحت Unicode Encoding
- بررسی صحت Byte Range که تنها مقادیر کاراکتری مشخصی می‌توانند به عنوان بخشی از درخواست قرار گیرند

عکس العمل‌ها

هرگاه ورودی با یکی از قوانین تعریف شده مطابقت داشته باشد، تعدادی عکس العمل صورت خواهد گرفت. در بسیاری از مواقع، عکس العمل پیش‌گزیده که با SecDefaultAction تعریف می‌شود، مورد استفاده قرار می‌گیرد. این امکان وجود دارد تا برای هر قانون تعریف شده توسط SecFilter یک عکس العمل تعریف نمود. این کار با ارسال پارامتر دوم به این دستور یا پارامتر سوم به SecFilterSelective انجام می‌گیرد. عکس العمل‌های مورد پشتیبانی عبارتند از:
- deny : که درخواست وارد شده را رد می‌کند.
- allow : پردازش قوانین را متوقف کرده و به درخواست اجازه عبور می‌دهد.
- status: nnn : با یک شماره وضعیت HTTP پاسخ می‌دهد.
- redirect: url : درخواست را به صفحه دیگری هدایت می‌کند.
- exec: cmd : یک دستور یا اسکریپت را اجرا می‌کند.
- log : درخواست را در سیستم ثبت رخداد ثبت می‌کند.
- nolog : درخواست را ثبت نخواهد کرد.
- pass : از قانون فعلی عبور کرده و قانون بعدی را بررسی خواهد کرد.
- pause: nnn : تقاضا را برای مقدار nnn میلی ثانیه متوقف می‌کند. باید در استفاده از این عکس العمل مراقبت کافی را داشته باشید. با هر توقف، یک پروسه آپاچی متوقف می‌شود و استفاده ناصحیح از این عکس العمل می‌تواند حمله کننده را قادر به ایجاد حملات DOS بر روی سرویس‌دهنده شما کند.
عکس العمل‌های دیگری نیز وجود دارد که هماننده آنچه در mod_rewrite می‌بینیم، بر نحوه حرکت در میان قوانین موثر است:
- chain: قانون بعدی موجود در زنجیره را بررسی می‌کند. هنگامی که عبور از یک قانون با شکست مواجه می‌شود، بقیه قوانین باقیمانده در زنجیره نیز نادیده گرفته می‌شوند.
- skipnext: n: از قانون جاری به n قانون بعدی حرکت می‌کند.


قوانین *****ینگ

این قوانین به دو روش نوشته می‌شوند. در ساده‌ترین روش:
SecFilter keyword کلمه کلیدی مشخص شده بر روی خط نخست درخواست‌های GET و یا محتویات درخواست‌های POST در صورت وجود اعمال می‌گردد. این نحوه استفاده بسیار ساده بوده و شاید بیشتر برای مقالات آموزشی نظیر این مقاله مناسب باشد. در مقابل بهتر است قانون را به شکل زیر بکار بگیرید:
SecFilterSelective "variable list separated with |" keyword استفاده از چنین قوانینی امکان تجزیه و تحلیل بهتر و مصرف کمتر زمان CPU را فراهم می‌کند. خوب، بجای ادامه دادن و خسته کردن شما با قوانین مختلف، اکنون به چند مثال جالب می‌پردازیم. این نمونه مثال‌ها، مثال‌هایی هستند که بیشترین کاربردها را در جهان واقعی دارا می‌باشند.
در مثال زیر، اجازه عبور تنها به یک شماره IP مشخص (مانند ایستگاه کاری من) داده خواهد شد. هیچ قانون دیگری پردازش نشده و از آنجایی که این قانون نماینده ایجاد حمله خاصی نیست، ثبت هم نمی‌شود:
SecFilterSelective REMOTE_ADDR "^IP_ADDRESS_HERE$" nolog,allow در مثال زیر دسترسی کامل از کامپیوتر کیفی‌ام هنگامی که در سفر هستم می‌دهد. بدلیل اینکه شماره IP من در این مورد نامشخص است، دسترسی با استفاده از وجود یک رشته به نام Blend ۴۲ در فیلد User-Agent داده می‌شود. البته میزان حفاظت این گونه محدودیت‌هایی پایین است ولی می‌تواند در بالای مکانیسم‌های دسترسی دیگر جالب باشد:
SecFilterSelective HTTP_USER_AGENT "Blend ۴۲" در مثال زیر، از ارسال کدهای SQL Injection با استفاده از کوکی‌ها جلوگیری خواهد شد. در صورتی که کوکیی وجود داشته باشد، تنها اگر حاوی اعداد ۱ تا ۹ باشد اجازه عبور خواهد داشت.
SecFilterSelective COOKIE_sessionid "!^(|[۰-۹])$" در مثال زیر، وجود سرایندهای HTTP_USER_AGENT و HTTP_HOST بررسی می‌شود. معمولا حمله کننده‌های بررسی‌های خود را با استفاده از ابزارهای ساده‌ای مانند telnet انجام می‌دهند و تمامی سرایندهای لازم را مانند آنچه مرورگرها انجام می‌دهند، ارسال نمی‌کنند. چنین درخواست‌هایی را می‌توانید رد، ثبت یا مانیتور کنید.
SecFilterSelective "HTTP_USER_AGENT|HTTP_HOST" "^$" در مثال زیر از هر گونه upload فایل از طریق مرورگرها جلوگیری به عمل خواهد آمد. این راهی ساده ولی موثر است. رد تقاضاها با استفاده از نوع محتویات مورد استفاده برای ارسال فایل‌ها:
SecFilterSelective "HTTP_CONTENT_TYPE" multipart/form-data قانون نمایش داده شده در مثال زیر، تمامی درخواست‌های بدون سرایند Accept را برای بررسی‌های آینده ثبت می‌کند. باز هم جلوی درخواست‌های ارسالی دستی که حاوی تمامی سرایندها نیستند، می‌تواند گرفته شود. زیر نظر گرفتن سرایند Keep-Alive نیز گزینه خوب دیگری است.
SecFilterSelective "HTTP_ACCEPT" "^$" log,pass قانون نمایش داده شده در مثال زیر، هنگامی که رئیسم یکبار دیگر کلمه عبور خود را فراموش کرده باشد، یک نامه الکترونیکی برای من ارسال می‌کند. در مثال زیر ما دو قانون داریم. نخستین قانون هنگامی اجرا می‌شود که یک فایل خاص فراخوانی شود. (در مثال ما فایلی که پیغام Login Failed را نمایش می‌دهد.) در قانون دوم هنگامی که کلمه عبور استفاده شده ceo باشد، اجرا می‌شود. همانطور که می‌بینید، یک اسکریپت خارجی را نیز اجرا می‌کند که این اسکریپت نامه را خواهد فرستاد.
SecFilterSelective REQUEST_URI "login_failed\.php" chain
SecFilterSelective ARG_username "^ceo$" log,exec:/home/apache/bin/notagain.pl مثال بعدی ربات Google را که می‌توان آنرا با استفاده از فیلد User-Agent تشخیص داد، به آدرس دیگری هدایت کرده و اجرا شدن قانون را نیز ثبت نمی‌کند.
SecFilter HTTP_USER_AGENT "Google" nolog,redirect:Google
مثال زیر، درخواست‌های ورودی به سرویس‌دهنده را برای وجود جاوا اسکریپت‌ها بررسی می‌کند آنهایی را که در متغییرهای با نام html قرار دارند، مورد پذیرش قرار می‌دهد. رد کردن تمامی درخواست‌های حاوی تگ‌های جاوا اسکریپت می‌تواند مشکل ساز باشد. مخصوصا.هنگامی که بر روی سرویس‌دهنده شما نرم‌افزارهای مدیریت محتوا نصب شده باشد:
SecFilter "ARGS|!ARG_html" "<[:space:]*script"در آخرین مثال، چگونگی داشتن چند تنظیم برای mod_security نمایش داده شده است. به اینصورت شما می‌توانید تنظیمات خاصی را بر روی یک برنامه کاربردی نصب شده بر روی سرویس‌دهنده وب اعمال کنید. به چگونگی استفاده از دستور SecFilterInheritance توجه کنید. این دستور به mod_security می‌گوید که تمامی تنظیمات به ارث رسیده از بخش اصلی mod_security را در نظر نگرفته و با مقادیر تازه‌ای شروع کند.
<Location /anotherapp/>
SecFilterForceByteRange ۳۲ ۱۲۶
# Use this directive not to inherit rules from the parent context
SecFilterInheritance Off

# Developers often have special variables, which they use
# to turn the debugging mode on. These two rules will
# allow the use of a variable "debug" but only coming from
# the internal network
SecFilterSelective REMOTE_ADDR "!^۱۹۲.۱۶۸.۲۵۴." chain
SecFilterSelective ARG_debug "!^$"
</Location>


قوانین *****ینگ

این قوانین به دو روش نوشته می‌شوند. در ساده‌ترین روش:
SecFilter keyword کلمه کلیدی مشخص شده بر روی خط نخست درخواست‌های GET و یا محتویات درخواست‌های POST در صورت وجود اعمال می‌گردد. این نحوه استفاده بسیار ساده بوده و شاید بیشتر برای مقالات آموزشی نظیر این مقاله مناسب باشد. در مقابل بهتر است قانون را به شکل زیر بکار بگیرید:
SecFilterSelective "variable list separated with |" keyword استفاده از چنین قوانینی امکان تجزیه و تحلیل بهتر و مصرف کمتر زمان CPU را فراهم می‌کند. خوب، بجای ادامه دادن و خسته کردن شما با قوانین مختلف، اکنون به چند مثال جالب می‌پردازیم. این نمونه مثال‌ها، مثال‌هایی هستند که بیشترین کاربردها را در جهان واقعی دارا می‌باشند.
در مثال زیر، اجازه عبور تنها به یک شماره IP مشخص (مانند ایستگاه کاری من) داده خواهد شد. هیچ قانون دیگری پردازش نشده و از آنجایی که این قانون نماینده ایجاد حمله خاصی نیست، ثبت هم نمی‌شود:
SecFilterSelective REMOTE_ADDR "^IP_ADDRESS_HERE$" nolog,allow در مثال زیر دسترسی کامل از کامپیوتر کیفی‌ام هنگامی که در سفر هستم می‌دهد. بدلیل اینکه شماره IP من در این مورد نامشخص است، دسترسی با استفاده از وجود یک رشته به نام Blend ۴۲ در فیلد User-Agent داده می‌شود. البته میزان حفاظت این گونه محدودیت‌هایی پایین است ولی می‌تواند در بالای مکانیسم‌های دسترسی دیگر جالب باشد:
SecFilterSelective HTTP_USER_AGENT "Blend ۴۲" در مثال زیر، از ارسال کدهای SQL Injection با استفاده از کوکی‌ها جلوگیری خواهد شد. در صورتی که کوکیی وجود داشته باشد، تنها اگر حاوی اعداد ۱ تا ۹ باشد اجازه عبور خواهد داشت.
SecFilterSelective COOKIE_sessionid "!^(|[۰-۹])$" در مثال زیر، وجود سرایندهای HTTP_USER_AGENT و HTTP_HOST بررسی می‌شود. معمولا حمله کننده‌های بررسی‌های خود را با استفاده از ابزارهای ساده‌ای مانند telnet انجام می‌دهند و تمامی سرایندهای لازم را مانند آنچه مرورگرها انجام می‌دهند، ارسال نمی‌کنند. چنین درخواست‌هایی را می‌توانید رد، ثبت یا مانیتور کنید.
SecFilterSelective "HTTP_USER_AGENT|HTTP_HOST" "^$" در مثال زیر از هر گونه upload فایل از طریق مرورگرها جلوگیری به عمل خواهد آمد. این راهی ساده ولی موثر است. رد تقاضاها با استفاده از نوع محتویات مورد استفاده برای ارسال فایل‌ها:
SecFilterSelective "HTTP_CONTENT_TYPE" multipart/form-data قانون نمایش داده شده در مثال زیر، تمامی درخواست‌های بدون سرایند Accept را برای بررسی‌های آینده ثبت می‌کند. باز هم جلوی درخواست‌های ارسالی دستی که حاوی تمامی سرایندها نیستند، می‌تواند گرفته شود. زیر نظر گرفتن سرایند Keep-Alive نیز گزینه خوب دیگری است.
SecFilterSelective "HTTP_ACCEPT" "^$" log,pass قانون نمایش داده شده در مثال زیر، هنگامی که رئیسم یکبار دیگر کلمه عبور خود را فراموش کرده باشد، یک نامه الکترونیکی برای من ارسال می‌کند. در مثال زیر ما دو قانون داریم. نخستین قانون هنگامی اجرا می‌شود که یک فایل خاص فراخوانی شود. (در مثال ما فایلی که پیغام Login Failed را نمایش می‌دهد.) در قانون دوم هنگامی که کلمه عبور استفاده شده ceo باشد، اجرا می‌شود. همانطور که می‌بینید، یک اسکریپت خارجی را نیز اجرا می‌کند که این اسکریپت نامه را خواهد فرستاد.
SecFilterSelective REQUEST_URI "login_failed\.php" chain
SecFilterSelective ARG_username "^ceo$" log,exec:/home/apache/bin/notagain.pl مثال بعدی ربات Google را که می‌توان آنرا با استفاده از فیلد User-Agent تشخیص داد، به آدرس دیگری هدایت کرده و اجرا شدن قانون را نیز ثبت نمی‌کند.
SecFilter HTTP_USER_AGENT "Google" nolog,redirect:Google
مثال زیر، درخواست‌های ورودی به سرویس‌دهنده را برای وجود جاوا اسکریپت‌ها بررسی می‌کند آنهایی را که در متغییرهای با نام html قرار دارند، مورد پذیرش قرار می‌دهد. رد کردن تمامی درخواست‌های حاوی تگ‌های جاوا اسکریپت می‌تواند مشکل ساز باشد. مخصوصا.هنگامی که بر روی سرویس‌دهنده شما نرم‌افزارهای مدیریت محتوا نصب شده باشد:
SecFilter "ARGS|!ARG_html" "<[:space:]*script"در آخرین مثال، چگونگی داشتن چند تنظیم برای mod_security نمایش داده شده است. به اینصورت شما می‌توانید تنظیمات خاصی را بر روی یک برنامه کاربردی نصب شده بر روی سرویس‌دهنده وب اعمال کنید. به چگونگی استفاده از دستور SecFilterInheritance توجه کنید. این دستور به mod_security می‌گوید که تمامی تنظیمات به ارث رسیده از بخش اصلی mod_security را در نظر نگرفته و با مقادیر تازه‌ای شروع کند.
<Location /anotherapp/>
SecFilterForceByteRange ۳۲ ۱۲۶
# Use this directive not to inherit rules from the parent context
SecFilterInheritance Off

# Developers often have special variables, which they use
# to turn the debugging mode on. These two rules will
# allow the use of a variable "debug" but only coming from
# the internal network
SecFilterSelective REMOTE_ADDR "!^۱۹۲.۱۶۸.۲۵۴." chain
SecFilterSelective ARG_debug "!^$"
</Location>


ملاحضات لازم برای سرعت

من به شخصه هرگز مشکلی با سرعت در مورد mod_security نداشته‌ام. با آزمایشاتی که انجام داده‌ام، تفاوت سرعت چیزی در حدود ۱۰ درصد بوده است. البته در شرایط واقعی، افت سرعت کمتر است. بر روی سایت‌های وب واقعی، یک درخواست ممکن است شامل درخواست‌های زیادی برای اقلام استاتیک سایت مانند تصاویر، Stylesheet ها و مانند آن باشد. با استفاده از دستور زیر به mod_security خواهید گفت تا این اقلام را در نظر نداشته باشد:
SecFilter DynamicOnly به طور عمده، گلوگاه mod_security در انجام عملیات خواندن/نوشتن روی دیسک است. باید دقت کنید که هرگر حالت Debug روی یک سرویس‌دهنده کاری فعال نباشد و حالت ثبت رخداد کامل را نیز در صورتی که واقعا به آن نیازی ندارید، فعال نکنید. در مثال‌های نمایش داده شده در بالا، mod_security تنها برای ثبت رخدادهای خاصی تنظیم شده است.

سایر قابلیت‌ها

الف) chroot داخلی

در صورتی که سعی کرده باشید تا یک سرویس‌دهنده وب را در حالت chroot اجرا کنید، دیده‌اید که برخی اوقات این یک کار دشوار است. با استفاده از mod_security این پیچیدگی به کناری خواهد رفت. با یک دستور می‌توانید یک سرویس‌دهنده در حالت chroot داشته باشید:
SecChrootPath /chroot/home/web/apache تنها نکته لازم این است که مسیر سرویس‌دهنده در chroot مشابه مسیر سرویس‌دهنده در خارج از chroot باشد. مثلا برای مثال بالا باید home/web/apache/ باشد. برای اینکه حتی فرایند chroot کردن آسانتر نیز باشد، شرایطی فراهم شده است که می‌توانید یک chroot تنها حاوی اطلاعات داشته باشید. این از آنجایی امکانپذیر است که فراخوانی chroot به صورت داخلی انجام می‌گیرد.

ب) تغییر امضای سرویس‌دهنده

حمله کنندگان و اسکریپت‌های خودکار بطور دائم اطلاعات مربوط به شماره نسخه سرویس‌دهنده شما را که در متغییر server موجود در سرایند HTTP ارسال می‌گردد، جمع آوری می‌کنند. برای تغییر این مقدار شما باید کد منبع آپاچی را تغییر دهید. با استفاده از دستور زیر به راحتی خواهید توانست تا نام سرویس‌دهنده خود را تغییر دهید. البته برای استفاده از این گزینه، در صورتی که از آپاچی سری ۱.۳ استفاده می‌کنید، برای استفاده از این قابلیت باید mod_headers فعال باشد.
SecServerSignature "Microsoft-IIS/۵.۰"
اطلاعات بیشتر
برای اطلاعات بیشتر به دو لینک زیر مراجعه نمایید:
کد PHP:
- mod_security
- Snort
منبع:

کد PHP:
Introducing mod_security - OReilly Media

ملاحضات لازم برای سرعت

من به شخصه هرگز مشکلی با سرعت در مورد mod_security نداشته‌ام. با آزمایشاتی که انجام داده‌ام، تفاوت سرعت چیزی در حدود ۱۰ درصد بوده است. البته در شرایط واقعی، افت سرعت کمتر است. بر روی سایت‌های وب واقعی، یک درخواست ممکن است شامل درخواست‌های زیادی برای اقلام استاتیک سایت مانند تصاویر، Stylesheet ها و مانند آن باشد. با استفاده از دستور زیر به mod_security خواهید گفت تا این اقلام را در نظر نداشته باشد:
SecFilter DynamicOnly به طور عمده، گلوگاه mod_security در انجام عملیات خواندن/نوشتن روی دیسک است. باید دقت کنید که هرگر حالت Debug روی یک سرویس‌دهنده کاری فعال نباشد و حالت ثبت رخداد کامل را نیز در صورتی که واقعا به آن نیازی ندارید، فعال نکنید. در مثال‌های نمایش داده شده در بالا، mod_security تنها برای ثبت رخدادهای خاصی تنظیم شده است.

سایر قابلیت‌ها

الف) chroot داخلی

در صورتی که سعی کرده باشید تا یک سرویس‌دهنده وب را در حالت chroot اجرا کنید، دیده‌اید که برخی اوقات این یک کار دشوار است. با استفاده از mod_security این پیچیدگی به کناری خواهد رفت. با یک دستور می‌توانید یک سرویس‌دهنده در حالت chroot داشته باشید:
SecChrootPath /chroot/home/web/apache تنها نکته لازم این است که مسیر سرویس‌دهنده در chroot مشابه مسیر سرویس‌دهنده در خارج از chroot باشد. مثلا برای مثال بالا باید home/web/apache/ باشد. برای اینکه حتی فرایند chroot کردن آسانتر نیز باشد، شرایطی فراهم شده است که می‌توانید یک chroot تنها حاوی اطلاعات داشته باشید. این از آنجایی امکانپذیر است که فراخوانی chroot به صورت داخلی انجام می‌گیرد.

ب) تغییر امضای سرویس‌دهنده

حمله کنندگان و اسکریپت‌های خودکار بطور دائم اطلاعات مربوط به شماره نسخه سرویس‌دهنده شما را که در متغییر server موجود در سرایند HTTP ارسال می‌گردد، جمع آوری می‌کنند. برای تغییر این مقدار شما باید کد منبع آپاچی را تغییر دهید. با استفاده از دستور زیر به راحتی خواهید توانست تا نام سرویس‌دهنده خود را تغییر دهید. البته برای استفاده از این گزینه، در صورتی که از آپاچی سری ۱.۳ استفاده می‌کنید، برای استفاده از این قابلیت باید mod_headers فعال باشد.
SecServerSignature "Microsoft-IIS/۵.۰"
اطلاعات بیشتر
برای اطلاعات بیشتر به دو لینک زیر مراجعه نمایید:
کد PHP:
- mod_security
- Snort
منبع:

کد PHP:
Introducing mod_security - OReilly Media





اطلاعات بیشتر
برای اطلاعات بیشتر به دو لینک زیر مراجعه نمایید:

mod_security
Snort

امنیت سرور + انتی ویروس ها

در قسمت اول معرفی انتی ویروس ها
AVAST

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

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

BitDefender

آنتی ویروس بیت دیفندر نیز یکی از نرم افزارهای ضد ویروس شناخته شده است که نسخه مخصوص لینوکس آن نیز همانند نسخه ویندوز قابلیت تشخیص ویروس های ویندوزی را دارد. با این تفاوت که نسخه لینوکس آن به رایگان در دسترس است. ظاهراً این آنتی ویروس قادر به شناسایی ویروس هایی است که سایر آنتی ویروس ها توانایی شناسایی آنها را ندارند.
البته دانلود این نسخه به سادگی دانلود اَوَست نیست. برای دانلود آن باید به این صفحه مراجعه کنید و بر روی evaluation version کلیک نمایید. پس از آن فرمی برای شما ظاهر می شود که با پر کردن آن یک کد فعال سازی یک ماهه و سری لینک های دانلود نسخه های مختلف آنتی ویروس.


در لیست مربوطه، نسخه مربوط به توزیع لینوکسی که استفاده می کنید را بیابید و آن را دانلود نمایید.

توجه: برای دانلود، لینک دانلود را کپی کرده و پسوند .run را نادیده بگیرید. سپس آن را در مرورگر یا نرم افزار مدیریت دانلود خود کپی کرده و شروع به دانلود کنید. برای کپی کردن لینک دانلود می توانید روی آن راست کلیک کرده و گزینه Properties را انتخاب نمایید. سپس لینک دانلود را از پنجره Properties کپی کنید.

پس از دانلود، می توانید Command Line (خط فرمان) را باز کرده و وارد پوشه ای که فایل مورد نظر را در آن دانلود کرده اید، بشوید. سپس دستور زیر را در آن وارد نمایید:
کد:
sudo ./[filename]
به جای [filename] نام کامل نسخه ای از نرم افزار که دانلود کرده اید قرار دهید. پس از نصب شما نسخه ی کاملی از بیت دیفندر را بر روی لینوکس خود نصب کرده اید و می توانید علاوه بر اسکن فایل ها و فولدر ها، آنتی ویروس را به روز رسانی نمایید. فعال سازی نرم افزار برای ۳۰ روز انجام می شود، اما می توانید هر ماه با طی مراحل قبلی دوباره یک کد فعال سازی دریافت نمایید.

ClamAV
این آنتی ویروس رایگان و بازمتن نیز یکی از نرم افزارهای ضد ویروس مشهور برای لینوکس است. استفاده از آن مستلزم توانایی کار با کامندلاین است؛ اما همانطور که در تصویر بالا مشخص است نسخه با رابط گرافیکی این نرم افزار هم در دسترس است.

نصب این آنتی ویروس آسان است. برای نصب کافی است فایل Clamtk را بر روی سیستم خود نصب نمایید. در صورتی که کاربر اوبونتو باشید، می توانید نسخه گرافیکی آن را از لینک زیر دانلود نمایید:

کد:
http://www.clamav.net/lang/en/download/packages/packages-linu
توصیه می شود اولین کاری که پس از نصب ClamAV انجام می دهید، به روز رسانی آن باشد. برای این کار می توانید دستور sudo freshclam را پس از باز کردن Terminal در آن اجرا نمایید تا عملیات به روز رسانی نرم افزار انجام شود.

سپس برای اجرای نرم افزار می توانید آن را از طریق کامندلاین اجرا کنید، یا با یافتن شاخه ای تحت عنوان Virus Scanner که در منوی Accessories است، ClamAV را اجرا نمایید. با استفاده از رابط گرافیکی نرم افزار می توانید هر پوشه ای که بخواهید را اسکن کنید. همچنین می توانید با تایپ دستور clamscan در کامندلاین عملیات اسکن را آغاز کنید.

AVG
با وجود اینکه آنتی ویروس AVG یکی از مشهورترین نرم افزار های ضد ویروس در ویندوز است، به نظر می رسد این آنتی ویروس از لحاظ رابط کاربری در لینوکس کمی مایوس کننده ارائه شده است. در واقع AVG در لینوکس فاقد رابط کاربری گرافیکی است و تنها با استفاده از کامند لاین اجرا شده و به اسکن سیستم می پردازد.

این نسخه از آنتی ویروس AVG برای توزیع های گسترده ای از لینوکس تولید شده و در دسترس کاربران قرار دارد.

پس از نصب، وقتی به استفاده از آن نیاز پیدا می کنید، لازم است دستور sudo avgctl - start را برای اجرای نرم افزار در کامند لاین وارد کنید. سپس می توانید برای به روز رسانی نرم افزار، دستور sudo avgupdate و برای اسکن، از دستور avgscan استفاده نمایی


این آنتی ویروس ها که برای لینوکس طراحی شده اند در واقع برای شناسایی ویروس هایی که منجر به آلوده شدن کامپیوتر های ویندوزی می شوند، ساخته و ارائه شده اند.

استفاده از یکی از این نرم افزار ها برای افزایش ضریب امنیتی کامپیوتر های ویندوزی اطراف شما توصیه می شود. چرا که به هر حال ممکن است فایل هایی از کامپیوتر تان به دوستان و یا فامیل خود بدهید که در صورت آلوده بودن ممکن است برای آنها مشکل ساز شوند.

منبع: http://behsazanhost.com