صفحه 1 از 3 123 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 , از مجموع 25

موضوع: امنیت سرور + انتی ویروس ها

  1. #1
    عضو انجمن
    تاریخ عضویت
    Feb 2011
    نوشته ها
    340
    تشکر تشکر کرده 
    101
    تشکر تشکر شده 
    692
    تشکر شده در
    317 پست

    پیش فرض امنیت سرور + انتی ویروس ها

    در قسمت اول معرفی انتی ویروس ها
    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 استفاده نمایی


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

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



    منبع : سر تا سر نت + خودم

    خستم تا یه فرصت جدید همهشو کامل میکنم خواهمش میکنم این پست منو خراب نکنید


    ---------- Post added at 10:12 PM ---------- Previous post was at 10:02 PM ----------

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

    منبع : افتاب

    فایل های PDF

    بخش اول - بخش دوم - بخش سوم

  2. تعداد تشکر ها ازarmintanha به دلیل پست مفید


  3. # ADS




     

  4. #2
    عضو انجمن
    تاریخ عضویت
    Oct 2009
    محل سکونت
    تهران - مشهد
    نوشته ها
    320
    تشکر تشکر کرده 
    616
    تشکر تشکر شده 
    1,165
    تشکر شده در
    757 پست

    پیش فرض پاسخ : امنیت سرور + انتی ویروس ها

    اما همانطور که در تصویر بالا مشخص است نسخه با رابط گرافیکی این نرم افزار هم در دسترس است.
    فدات شم ! این عکسشو فراموش کردی فکر کنم ! :دی

  5. تعداد تشکر ها ازsmartieuser به دلیل پست مفید


  6. #3
    عضو انجمن
    تاریخ عضویت
    Feb 2011
    نوشته ها
    340
    تشکر تشکر کرده 
    101
    تشکر تشکر شده 
    692
    تشکر شده در
    317 پست

    پیش فرض پاسخ : امنیت سرور + انتی ویروس ها

    نقل قول نوشته اصلی توسط smartieuser نمایش پست ها
    فدات شم ! این عکسشو فراموش کردی فکر کنم ! :دی
    اینو تو فایل Word تو Pc داشتم برای همین عکس رو نتونستم بزارم : دی

    ---------- Post added at 10:49 PM ---------- Previous post was at 10:32 PM ----------

    اموزش نصب انتی ویروس clamav


    توجه ...!
    من تست کردم فقط رو centos 4 -5 جواب داد...!
    به سرور خود وصل شوید : با putty یا SSH Explorer
    دستور 1

    کد PHP:
    cd /etc/yum.repos.

    دستور 2

    کد PHP:
    Enter 
    دستور 3 - برای دانلود اینستالر آنتی ویروس دستور زیر را تایپ کنید

    کد PHP:
     wget http://www.linux-mail.info/files/dag-clamav.repo 
    دستور 4

    کد PHP:
    Enter 
    دستور 5 - برای نصب آنتی ویروس Clamav در بخش خط فرمان تایپ کنید

    کد PHP:
    yum install clamav clamav-devel clamd 
    - برای تائید دانلود کامل از شما تائیدیه دانلود سوال می شود که شما می بایست با Y پاسخ دهید .


    کد PHP:
    Enter 

    بروزرسانی بانک اطلاعاتی آنتی ویروس Calmav
    دستور
    کد PHP:
    freshclam 
    و بعد
    کد PHP:
    Enter 
    آموزش استفاده از آنتی ویروس Clamav در لینوکس
    دستور 1

    کد PHP:
    cd /home 
    دستور 2

    clamscan -vr
    بعد از اجرای دستور سیستم شروع به اسکن فایلهای داخل هاست ها و ایمیل ها می شود .



    ---------- Post added at 11:05 PM ---------- Previous post was at 10:49 PM ----------

    برای کاربران مبتدی
    اگه به یک کاربر شک دارید ...!

    میتونید با دستور زیر فقط اون کاربر رو اسکن کنید...!

    جای admin نام کاربری کاربر رو خود رو بنوسید ...!

    کد PHP:
    user ~admin 
    بعد دستور زیر رو بزنید ...!

    کد PHP:
    clamscan -vr 
    ویرایش توسط armintanha : March 7th, 2011 در ساعت 23:13

  7. تعداد تشکر ها ازarmintanha به دلیل پست مفید


  8. #4
    عضو دائم vPsPersia.COM آواتار ها
    تاریخ عضویت
    Apr 2009
    محل سکونت
    کرمانشاه
    نوشته ها
    1,045
    تشکر تشکر کرده 
    346
    تشکر تشکر شده 
    1,809
    تشکر شده در
    997 پست

    پیش فرض پاسخ : امنیت سرور + انتی ویروس ها

    مطلب مفیدی هست ،

    avg سرعت رو یکم کند می کنه
    [CENTER]فروش ویژه سرور های مجازی با منابع اختصاصی

    هدیه ما به شما یک عدد لایسنس دایرکت ادمین و LiteSpeed

  9. تعداد تشکر ها ازvPsPersia.COM به دلیل پست مفید


  10. #5
    عضو انجمن
    تاریخ عضویت
    Feb 2011
    نوشته ها
    340
    تشکر تشکر کرده 
    101
    تشکر تشکر شده 
    692
    تشکر شده در
    317 پست

    پیش فرض اسکنر رایگان ویروس

    شرکت Kaspersky برای بازدید کننده ها File Scanner رایگان گذاشته

    شما میتونید فایل که بهش مشکوک هستید بدید اسکن کنه...!

    Virus File Scanner

    ---------- Post added at 08:21 PM ---------- Previous post was at 08:10 PM ----------

    avast برای ویندوز سرور
    دانلود : Avast
    حجم : (50.63 MB)

    Datasheet (PDF)
    Installation Guide (PDF)
    Datasheet - Exchange Server Plugin (PDF)
    Datasheet - SharePoint Server Plugin (PDF)

  11. تعداد تشکر ها ازarmintanha به دلیل پست مفید


  12. #6
    عضو انجمن
    تاریخ عضویت
    Feb 2011
    نوشته ها
    340
    تشکر تشکر کرده 
    101
    تشکر تشکر شده 
    692
    تشکر شده در
    317 پست

    پیش فرض پاسخ : امنیت سرور + انتی ویروس ها

    آشنایی با mod_security

    اجرا کردن نرم‌افزارهای تحت وب ممکن است شبیه بازی کردن بازی رولت روسی باشد. با اینکه رسیدن به یک سطح امنیتی بالا روی وب در تئوری ممکن است، ولی در جهان واقعی همیشه یک نقطه ضعیف وجود دارد. تنها یک لغزش و خطا در کد کافی است تا حمله کنندگان را قادر سازد تا به اطلاعات شما دسترسی پیدا کنند. اگر شما یک نرم‌افزار تحت وب عمومی با کمی پیچیدگی در حال اجرا داشته باشید، این احتمال وجود دارد که نوعی اشکال امنیتی در آن وجود داشته باشد. برای مثال URL مثال زیر را ببینید:
    TrueCredit - 3-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 "drop[[:space:]]table" تنها پارامتر SecFilter یک Regular Expression است که به درخواست‌های وارد شده به سرویس‌دهنده اعمال می‌گردد. این شبیه کاری است که mod_rewrite انجام می‌دهد با این تفاوت که mod_security هم بر روی GET و هم بر روی POST عمل می‌کند. اینجا لازم است بگویم که پیاده سازی قابلیت مانیتور کردن POST بر روی آپاچی 1.3 کار بسیار دشوار بود.

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


    یکی از بهترین راه‌های نصب 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/1.3/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 0 255

    # 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 0

    # Should mod_security inspect POST payloads
    SecFilterScanPOST On

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

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


    ---------- Post added at 01:12 AM ---------- Previous post was at 12:50 AM ----------

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

    حتی با این تنظیم ساده نیز mod_security دو سود دارد. نخست اینکه تعدادی تکنیک ضد گریز زنی اجرا می‌کند و باعث می‌شود که ورودی رسیده به سرویس‌دهنده یک ورودی متعارف و استاندارد باشد. این در قدم بعدی که شروع به اضافه کردن قوانین *****ینگ می‌کنید، مفید خواهد بود. تصور کنید می‌خواهید جلوی اجرای دستور ps را با استفاده از یک Regular Expression مانند bin/ps ax/ بگیرید. این کار جلوی فراخوانی همین دستور را خواهد گرفت ولی در مقابل فراخوانی‌هایی مانند bin/ps%20ax/ یا bin//ps ax/ یا bin/ ./ps ax/ کاری انجام نخواهد داد. در زیر لیستی از کارهایی که mod_security در این مورد خواهد داد را می‌بینید:
    - حذف چند اسلش متوالی (//)
    - حذف فراخوانی‌های دایرکتوری جاری (/.)
    - / و \ را بصورت یکسان تلقی می‌کند (فقط بر روی ویندوز)
    - عملیات URL Decoding را انجام می‌دهد
    - بایت‌های خالی (00%) و فضاهای خالی را حذف می‌کند
    دومین سود با فعال شدن تعدادی از بررسی‌های توکار فراهم می‌شود:
    - بررسی صحت 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 قانون بعدی حرکت می‌کند.



    ---------- Post added at 01:13 AM ---------- Previous post was at 01:12 AM ----------


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


    این قوانین به دو روش نوشته می‌شوند. در ساده‌ترین روش:
    SecFilter keyword کلمه کلیدی مشخص شده بر روی خط نخست درخواست‌های GET و یا محتویات درخواست‌های POST در صورت وجود اعمال می‌گردد. این نحوه استفاده بسیار ساده بوده و شاید بیشتر برای مقالات آموزشی نظیر این مقاله مناسب باشد. در مقابل بهتر است قانون را به شکل زیر بکار بگیرید:
    SecFilterSelective "variable list separated with |" keyword استفاده از چنین قوانینی امکان تجزیه و تحلیل بهتر و مصرف کمتر زمان CPU را فراهم می‌کند. خوب، بجای ادامه دادن و خسته کردن شما با قوانین مختلف، اکنون به چند مثال جالب می‌پردازیم. این نمونه مثال‌ها، مثال‌هایی هستند که بیشترین کاربردها را در جهان واقعی دارا می‌باشند.
    در مثال زیر، اجازه عبور تنها به یک شماره IP مشخص (مانند ایستگاه کاری من) داده خواهد شد. هیچ قانون دیگری پردازش نشده و از آنجایی که این قانون نماینده ایجاد حمله خاصی نیست، ثبت هم نمی‌شود:
    SecFilterSelective REMOTE_ADDR "^IP_ADDRESS_HERE$" nolog,allow در مثال زیر دسترسی کامل از کامپیوتر کیفی‌ام هنگامی که در سفر هستم می‌دهد. بدلیل اینکه شماره IP من در این مورد نامشخص است، دسترسی با استفاده از وجود یک رشته به نام Blend 42 در فیلد User-Agent داده می‌شود. البته میزان حفاظت این گونه محدودیت‌هایی پایین است ولی می‌تواند در بالای مکانیسم‌های دسترسی دیگر جالب باشد:
    SecFilterSelective HTTP_USER_AGENT "Blend 42" در مثال زیر، از ارسال کدهای SQL Injection با استفاده از کوکی‌ها جلوگیری خواهد شد. در صورتی که کوکیی وجود داشته باشد، تنها اگر حاوی اعداد ۱ تا ۹ باشد اجازه عبور خواهد داشت.
    SecFilterSelective COOKIE_sessionid "!^(|[0-9]{1,9})$" در مثال زیر، وجود سرایندهای 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 32 126
    # 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 "!^192.168.254." chain
    SecFilterSelective ARG_debug "!^$"
    </Location>


    ---------- Post added at 01:13 AM ---------- Previous post was at 01:13 AM ----------


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


    این قوانین به دو روش نوشته می‌شوند. در ساده‌ترین روش:
    SecFilter keyword کلمه کلیدی مشخص شده بر روی خط نخست درخواست‌های GET و یا محتویات درخواست‌های POST در صورت وجود اعمال می‌گردد. این نحوه استفاده بسیار ساده بوده و شاید بیشتر برای مقالات آموزشی نظیر این مقاله مناسب باشد. در مقابل بهتر است قانون را به شکل زیر بکار بگیرید:
    SecFilterSelective "variable list separated with |" keyword استفاده از چنین قوانینی امکان تجزیه و تحلیل بهتر و مصرف کمتر زمان CPU را فراهم می‌کند. خوب، بجای ادامه دادن و خسته کردن شما با قوانین مختلف، اکنون به چند مثال جالب می‌پردازیم. این نمونه مثال‌ها، مثال‌هایی هستند که بیشترین کاربردها را در جهان واقعی دارا می‌باشند.
    در مثال زیر، اجازه عبور تنها به یک شماره IP مشخص (مانند ایستگاه کاری من) داده خواهد شد. هیچ قانون دیگری پردازش نشده و از آنجایی که این قانون نماینده ایجاد حمله خاصی نیست، ثبت هم نمی‌شود:
    SecFilterSelective REMOTE_ADDR "^IP_ADDRESS_HERE$" nolog,allow در مثال زیر دسترسی کامل از کامپیوتر کیفی‌ام هنگامی که در سفر هستم می‌دهد. بدلیل اینکه شماره IP من در این مورد نامشخص است، دسترسی با استفاده از وجود یک رشته به نام Blend 42 در فیلد User-Agent داده می‌شود. البته میزان حفاظت این گونه محدودیت‌هایی پایین است ولی می‌تواند در بالای مکانیسم‌های دسترسی دیگر جالب باشد:
    SecFilterSelective HTTP_USER_AGENT "Blend 42" در مثال زیر، از ارسال کدهای SQL Injection با استفاده از کوکی‌ها جلوگیری خواهد شد. در صورتی که کوکیی وجود داشته باشد، تنها اگر حاوی اعداد ۱ تا ۹ باشد اجازه عبور خواهد داشت.
    SecFilterSelective COOKIE_sessionid "!^(|[0-9]{1,9})$" در مثال زیر، وجود سرایندهای 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 32 126
    # 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 "!^192.168.254." chain
    SecFilterSelective ARG_debug "!^$"
    </Location>


    ---------- Post added at 01:15 AM ---------- Previous post was at 01:13 AM ----------

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

    من به شخصه هرگز مشکلی با سرعت در مورد 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 ارسال می‌گردد، جمع آوری می‌کنند. برای تغییر این مقدار شما باید کد منبع آپاچی را تغییر دهید. با استفاده از دستور زیر به راحتی خواهید توانست تا نام سرویس‌دهنده خود را تغییر دهید. البته برای استفاده از این گزینه، در صورتی که از آپاچی سری 1.3 استفاده می‌کنید، برای استفاده از این قابلیت باید mod_headers فعال باشد.
    SecServerSignature "Microsoft-IIS/5.0"
    اطلاعات بیشتر
    برای اطلاعات بیشتر به دو لینک زیر مراجعه نمایید:
    کد PHP:
    mod_security
    Snort 
    منبع:

    کد PHP:
     Introducing mod_security O'Reilly Media 



    ---------- Post added at 01:15 AM ---------- Previous post was at 01:15 AM ----------

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

    من به شخصه هرگز مشکلی با سرعت در مورد 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 ارسال می‌گردد، جمع آوری می‌کنند. برای تغییر این مقدار شما باید کد منبع آپاچی را تغییر دهید. با استفاده از دستور زیر به راحتی خواهید توانست تا نام سرویس‌دهنده خود را تغییر دهید. البته برای استفاده از این گزینه، در صورتی که از آپاچی سری 1.3 استفاده می‌کنید، برای استفاده از این قابلیت باید mod_headers فعال باشد.
    SecServerSignature "Microsoft-IIS/5.0"
    اطلاعات بیشتر
    برای اطلاعات بیشتر به دو لینک زیر مراجعه نمایید:
    کد PHP:
    mod_security
    Snort 
    منبع:

    کد PHP:
     Introducing mod_security O'Reilly Media 



    ---------- Post added at 01:18 AM ---------- Previous post was at 01:15 AM ----------

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

    mod_security
    Snort

    منبع:

    Introducing mod_security - O'Reilly Media


    ---------- Post added at 01:18 AM ---------- Previous post was at 01:18 AM ----------

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

    mod_security
    Snort

    منبع:

    Introducing mod_security - O'Reilly Media
    ویرایش توسط armintanha : March 13th, 2011 در ساعت 01:08

  13. تعداد تشکر ها ازarmintanha به دلیل پست مفید


  14. #7
    عضو انجمن
    تاریخ عضویت
    Feb 2011
    نوشته ها
    340
    تشکر تشکر کرده 
    101
    تشکر تشکر شده 
    692
    تشکر شده در
    317 پست

    پیش فرض پاسخ : امنیت سرور + انتی ویروس ها

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

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

    ---------- Post added at 02:51 PM ---------- Previous post was at 02:51 PM ----------

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

  15. تعداد تشکر ها ازarmintanha به دلیل پست مفید


  16. #8
    عضو انجمن
    تاریخ عضویت
    Feb 2011
    نوشته ها
    340
    تشکر تشکر کرده 
    101
    تشکر تشکر شده 
    692
    تشکر شده در
    317 پست

    پیش فرض پاسخ : امنیت سرور + انتی ویروس ها

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



    IdSP04_.jpg


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



    IdSP05_.jpg


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



    dISP08_.jpg


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

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


    [IMG]file:///C:/Users/Tike/AppData/Local/Temp/moz-screenshot.png[/IMG]

  17. تعداد تشکر ها ازarmintanha به دلیل پست مفید


  18. #9
    عضو انجمن
    تاریخ عضویت
    Feb 2011
    نوشته ها
    340
    تشکر تشکر کرده 
    101
    تشکر تشکر شده 
    692
    تشکر شده در
    317 پست

    پیش فرض پاسخ : امنیت سرور + انتی ویروس ها

    فایروال های شخصی
    فایروال های شخصی ، فایروال هایی هستند که بر روی رایانه های شخصی نصب می شوند.
    یکی از کاربردهای مهم فایروال های شخصی در کامپیوتر موجود در شبکه ، از یک طرف فراهم آوردن سطح امنیت پیشنهادی توسط صاحب آن کامپیوتر می باشد و از طرف دیگر از آنجایی که امروزه بسیاری از حملات از درون شبکه انجام می شوند ، فایروال شبکه برای اینجور حملات مفید می باشد. بر اساس برخی آمارهای منتشر شده ، اغلب آسیب ها و تهدیدات در شبکه یک سازمان توسط کارکنان کنجکاو و یا ناراضی صورت می پذیرد تا از طریق مهاجمان خارج از شبکه. لذا داشتن یک فایروال شخصی علاوه بر فایروال بسیار مفید می باشد.
    یکی از این فایروال ها ، فایروال ویندوز می باشد ( icf ) این فایروال به عنوان نزدیکترن لایه دفاعی به سیستم ما می باشد. فایروال ویندوز در نسخه های جدید ماکروسافت ( مثلا در ویندوز ۲۰۰۳ سرور سرویس پک ۱ و ویندوز ایکس پی سرویس پک ۲ ) با قابلیت بیشتر وکارایی بهتری عرضه شده است.

  19. تعداد تشکر ها ازarmintanha به دلیل پست مفید


  20. #10
    عضو انجمن
    تاریخ عضویت
    Feb 2011
    نوشته ها
    340
    تشکر تشکر کرده 
    101
    تشکر تشکر شده 
    692
    تشکر شده در
    317 پست

    پیش فرض پاسخ : امنیت سرور + انتی ویروس ها

    نحوه نصب و راه اندازي فايروال APF
    در اين مقاله با نحوه نصب، راه اندازي و تنظيمات اوليه فايروال Advanced Policy Firewall كه با نام APF شناخته مي شود آشنا خواهيد شد.

    فايروال APF چيست؟
    فايروال APF يك ديواره آتشي مبتني بر iptables است كه براي رشته سيستم عامل هاي لينوكس طراحي شده است. APF يكي از قدرتمندترين فايروال هاي سيستم عامل لينوكس شناخته مي شود و استفاده از اين نرم افزار كاملاً رايگان است.
    APF توسط شبكه R-fx توسعه داده شده و نگهداري مي شود.

    اين مقاله آموزشي نحوه نصب و تنظيمات APF را براي شما توضيح مي دهد. پيشنهاد مي شود قبل از هرگونه اقدامي، اطلاعاتي را در رابطه با فايروال هاي لينوكسي كسب كنيد.

    موارد مورد نياز:
    - دسترسي با يوزر Root بصورت SSH به سرور مورد نظر

    قبل از شروع:
    - از طريق SSH بوسيله بر نامه اي مانند PuttY به سرور مورد نظر وصل شده و دسترسي خود بصورت Root بودن را با دستور su تست و در صورت نياز ارتقاء دهيد.

    مراحل نصب و پيكربندي APF:
    1- با استفاده از دستور cd به شاخه اي كه مي خواهيد فايل هاي برنامه را در آن قرار دهيد وارد شويد.
    2- با استفاده از دستور Wget آخرين نسخه برنامه را در شاخه مورد نظر دانلود كنيد:

    کد:
    کد PHP:
     wget http://www.rfxnetworks.com/downloads/apf-current.tar.gz 
    3- با استفاده از دستور مقابل فايل دانلود شده را از حالت فشرده خارج كنيد:

    کد:
    کد PHP:
     tar -xvzf apf-current.tar.gz 
    4- با استفاده از دستور cd به شاخه unzip شده وارد شويد.
    5- عمل نصب را با استفاده از دستور زير شروع كنيد:

    کد:
    کد PHP:
     ./install.sh 
    پس از وارد كردن دستور بالا پيام هاي زير نمايش داده مي شود:

    کد:
    کد PHP:
    Installing APF 0.9.7-1Completed.

    Installation Details:
    Install path: /etc/apf/
    Config path: /etc/apf/conf.apf
    Executable path
    : /usr/local/sbin/apf
    AntiDos install path
    : /etc/apf/ad/
    AntiDos config path: /etc/apf/ad/conf.antidos
    DShield Client Parser
    : /etc/apf/extras/dshield
    6- با استفاده از دستور زير سراغ Config و پيكربندي فايروال APF مي رويم:

    کد:
    کد PHP:
     pico /etc/apf/conf.apf 
    کد PHP:
     nano /etc/apf/conf.apf 
    نكته: تنظيماتي كه در اينجا آموزش داده مي شود كامل نيستند و براي اطلاعات بيشتر مي توانيد به فايل Read Me خود برنامه مراجعه كنيد.
    7- پايگاه اينترنتي DShield.org مرجع مناسبي براي شناسائي شبكه هاي خرابكار و بستن دسترسي آنها به سرور شما است. براي اينكه فايروال APF از ديتابيس اين سايت براي جلوگيري از دسترسي خرابكاران شناسائي شده و معروف به سرور شما استفاده كند، كافي است تنظيمات بخش USE_DS=0 را از 0 به 1 تغيير دهيد.
    8- تعريف پورت هاي مجاز براي CPanel:

    کد:
    کد PHP:
    Common ingress (inboundports
    # Common ingress (inbound) TCP ports -3000_3500 = passive port range for  Pure FTPD
    IG_TCP_CPORTS="21,22,25,53,80,110,143,443,2082,208 3, 2086,2087, 2095,  2096,3000_3500"
    #
    # Common ingress (inbound) UDP ports
    IG_UDP_CPORTS="53"

    Common egress (outboundports
    # Egress filtering [0 = Disabled / 1 = Enabled]
    EGF="1"

    # Common egress (outbound) TCP ports
    EG_TCP_CPORTS="21,25,80,443,43,2089"
    #
    # Common egress (outbound) UDP ports
    EG_UDP_CPORTS="20,21,53" 
    نكته: پورت هاي ذكر شده بسته به نياز شما قابل حذف، افزايش و تغيير است.
    9- از محيط ويرايش خارج شده و براي شروع به كار فايروال APF از دستور زير در خط فرمان استفاده مي كنيم:

    کد:
    کد PHP:
     /usr/local/sbin/apf -
    نكته: براي آشنائي به ديگر Command هاي فايروال APF مي توانيد در خط فرمان از دستور زير استفاده كنيد:

    کد:
    کد PHP:
     /usr/local/sbin/apf -
    10- فايروال APF پس از نصب يك زمانبندي براي شما مي سازد كه بعد از 5 دقيقه Restart مي شود. شما مي توانيد براي كارائي بهتر فايروال اين زمان را به صفر تغيير دهيد. براي اين منظور كافي است با استفاده از دستور pico /etc/apf/conf.apf به تنظيمات APF رفته و گزينه DEVM=1 را از 1 به صفر تغيير دهيد.
    11- تنظيمات آنتي داس (Anti Dos) براي فايروال APF:
    در فايروال APF به منظور جلوگيري از حملات موسوم به DDos بخشي با عنوان AntiDos در مسير /etc/apf/ad قرار داده شده است براي ورود به پيكربندي آن از دستور زير مي توانيد استفاده كنيد:

    کد:
    کد PHP:
     pico /etc/apf/ad/conf.antidos 
    کد PHP:
     nano /etc/apf/ad/conf.antidos 
    * در قسمت CONAME=Your Company به جاي Your Company مي توانيد نام شركت خود را قرار دهيد.
    * براي اينكه هنگام حمله اطلاعات آن براي شما ارسال شود در قسمت USR_ALERT=0 عدد صفر را به يك تغيير دهيد.
    * آدرس ايميلي كه قرار است اطلاعات حمله به آن ارسال شود را در قسمت USR=your@email.com و بجاي your@email.com قرار دهيد.
    نكته: پس از تغييرات، ذخيره و خروج از بخش تنظيمات AntiDos، حتماً يكبار فايروال APF را با استفاده از دستور زير Restart كنيد:

    کد:
    کد PHP:
     /usr/local/sbin/apf -
    12- براي بررسي Log هاي فايروال مي توانيد از tail -f /var/log/apf_log استفاده كنيد.
    13- براي اينكه APF در هر بار Reboot شدن سيستم بصورت خودكار اجراء شود، دستور زير را در خط فرمان بنويسيد:

    کد:
    کد PHP:
     chkconfig --level 2345 apf on 
    14- براي بستن و Block كردن يك آدرس IP در فايروال APF از دستور زير استفاده كنيد:

    کد:
    کد PHP:
     /etc/apf/apf -d IPHERE 
    نكته: ليست IP هاي مسدود شده در مسير /etc/apf/deny_hosts.rules قرار دارد.
    15- براي باز كردن يك آدرس IP مسدود شده در فايروال APF از دستور زير استفاده كنيد:

    کد:
    کد PHP:
     /etc/apf/apf -u IPHERE 

    منبع : {آموزش} نحوه نصب و راه اندازي فايروال apf - PersianAdmins

    ---------- Post added at 01:54 PM ---------- Previous post was at 01:50 PM ----------

    جلوگیری از حملات DDOS
    همانطوری که میدانید مقابل حملاتی از قبیل dos,ddos را به طور ۱۰۰% نمیتوان گرفت، هیچ سروری در مقابل این گونه حملات پایدارو امن نیست . این اسکریپت پورت ۸۰ سرور را از نظر تعداد اتصالاتی که به آن وصل شده است چک و بررسی میکند که باعث میشود ادمین(مدیر) سرور سریعتر به حل مشکل بپردازد.
    برای نصب مراحل زیر را دنبال میکنیم…
    ۱- ابتدا وارد SSH به وسیله کاربر ریشه rootشوید.
    ۲- اسکریپت را دریافت میکنیم:
    کد PHP:
    wget http://www.inetbase.com/scripts/ddos/install.sh 
    3- نصب را آغاز میکنیم:
    کد PHP:
    ./install.sh 
    یا
    کد PHP:
    sh install.sh 
    نصب به اتمام رسید،
    برای اجرای این اسکریپت دستورات زیر را به ترتیب وارد میکنیم:
    کد PHP:
    cd /usr/local/ddos
    کد PHP:
    ./ddos.sh 
    برای ویرایش فایل پیکربندی اسکریپت :
    کد PHP:
    nano /usr/local/ddos/ddos.conf 


    ---------- Post added at 01:56 PM ---------- Previous post was at 01:54 PM ----------

    نصب دیوار آتشین CSF

    دستورات زیر را دنبال کنید
    ابتدا فایل را دانلود میکنیم
    کد PHP:
    wget http://www.configserver.com/free/csf.tgz 
    فشردگی خارج میکنیم
    کد PHP:
    tar -zxf csf.tgz 
    وارد دایرکتوری این برنامه میشویم:
    کد PHP:
    cd csf 
    نصب را آغاز میکنیم:
    کد PHP:
    sh install.sh 
    برای غیر فعال کردن APF+BFD از دستور زیر استفاده نمایید:
    کد PHP:
    sh disable_apf_bfd.sh 
    آدرس پیکربندی فایروال:
    کد PHP:
    /etc/csf
    برخی از تنظیمات این فایروال، مختص عزیزانی که از کنترل پنل هاستینگ همچون Cpanel,directadmin استفاده میکنند:
    روی دکمه Firewall Configuration کلیک نمایید
    سپس تغییرات زیر را اعمال نمایید:
    کد PHP:
     ETH_DEVICE =eth
    که اگر سرور مجازی هستید بجای مقدار بالا venet0 رو قرار دهید
    TCP_IN/TCP_OUT/UDP_IN/UDP_OUT= این مربوط به پورت هاتون میشه
    فیلد های زیر هم دارای این مقادیر باشند
    کد PHP:
    [LEFT]MONOLITHIC_KERNEL1
    LF_DSHIELD
    86400
    LF_SCRIPT_ALERT
    1
    LF_SCRIPT_LIMIT
    250[/LEFT]
       [
    LEFT]TESTING 0[/LEFT
    دکمه Changes کلیک نمایید و سپس برای ریستارت کردن فایروال روی دکمه Restarting csf+lfd کلیک نمایید.


    ---------- Post added at 01:58 PM ---------- Previous post was at 01:56 PM ----------

    بن کردن IP در IPTables

    چگونه میتوانیم در IPtables ای پی بن کنیم!؟
    برای بن کردن ای پی دستور زیر را وارد نمایید:
    کد PHP:
    iptables -A INPUT -p all -s IPHERE/32 -j DROP 

    برای خارج کردن از بن :
    کد PHP:
    iptables -D INPUT -p all -s IPHERE/32 -j DROP 

    چه ای پی هایی به سرور متصل هستن؟
    با دستور زیر ۵ ای پی اخر رو میتونین ببینین:
    کد PHP:
    netstat -atnp -A inet grep “:80″ awk -F ” ” ‘{print $5‘ awk   -F “:” ‘{print $1}’ sort uniq -sort -nr head -

    برای گرفتن لیست تمام ای پی ها دستور های زیر را بزنین :
    کد PHP:
     netstat -nap grep ESTABLISHED wc -
    کد PHP:
    netstat -nap grep SYN wc -
    کد PHP:
    netstat -nap grep TIME_WAIT wc -

    توضیحات :
    بجای IPHERE ای پی مورد نظر را وارد نمایید ….

    ---------- Post added at 02:07 PM ---------- Previous post was at 01:58 PM ----------

    ده نکته برای امنیت بیشتر در سرورهای لینوکس

    ۱- از کلمات عبور پیچیده استفاده کنید
    کلمات عبور ساده بزرگترین مشکل امینتی را برای سرور شما به وجود می آورند. داشتن کلمات عبور امن و پیچیده (چه برای خود سرور و چه برای کاربرانی که روی سرور قرار دارند) بسیار با اهمیت است.به عنوان مثال اگر کاربر شما ازکلمه ی عبور ی استفاده کند که به راحتی توسط هکر ها قابل حدث زدن باشد در وحله ی اول باعث deface شدن سایت خود شده و اعتبار شرکت شما رو زیر سوال می برد دوم ممکن است از طریق این سایت برای ارسال ویروس و هرزنامه استفاده بشه یا بویسله ی local exploit ها به بقیه سایت ها آسیب برسونه.
    * شما می تونید با ویرایش تنظیمات مربوط به کلمات عبور در فایل /etc/login.defs بر اساس نوع کار شما با سرور و درجه ی امنیتی که برای خود در نظر می گیرید کاربران مجبور به داشتن کلمات عبور ایمن کنید.توضیحات کامل در مورد هر یک از پارامتر های فایل login.defs داخل خود فایل و در بالای هر کدام از پارامتر ها موجود می باشد.
    معمولا کلمات عبور باید حداقل ۸ حرفی و شامل حرف – عدد و علائم باشند. هیچ وقت از کلمات معنی دار یا تاریخ های مهم استفاده نکنید. اگر می خواهید امن بودن کلمه عبور خود را بررسی کنید می تونید اون را با استفاده از این نرم افزار (John the Ripper password cracker) تست کنید . اگر ظرف ? – ? ساعت کلمه عبور شما crack شد یعنی کلمه عبور شما امن نیست.
    همین سایت یک ابزار دیگه برای بررسی طول کلمات عبور کاربران سرور ساخته است بوسیله ی (passwdqc - password/passphrase strength checking and policy enforcement toolset for your servers and software) می توانید لیست کاربرانی که از کمات عبور نا امن استفاده میکنند را پیدا کنید و به آنها هشدار دهید .
    ?- پروتکل SSH شما Secure است؟
    سعی کنید همیشه از برای ورود به سرور از public key authentication استفاده کنید وهیچ وقت دسترسی SSH را برای عموم باز نگذارید. اگر از puttyاستفاده می کنید می توانید نرم افزار putty agent را نصب کرده و key های SSH خود را مدیریت کنید.
    همیشه پورت SSH را عوض کنید .معمولا طرف ابتدا به دنبال پورت ۲۲ می گرده و اگر اطلاعات کافی در مورد سرور شما نداشته باشه از دسترسی به ssh نا امید خواهد شد . لذا هیچ وقت ssh را روی پورت ۲۲ باز نگذارید. می توانید پورت ssh را از طریق ویرایش فایل etc/ssh/sshd_config به یک پورت باز دیگر مثلا ???? تغییر دهید. port 1654
    از پروتکل ۲ استفاده کنید . اگر از putty استفاده می کنید این نرم افزار قابلیت پشتیبانی از هر دو پروتکل را دارست پس نگرانی وجود ندارد . در همین فایل etc/ssh/sshd_config می توانید خط Protocol 2. را تایپ کنید.
    در اکثر سیستم های لینوکس میتوانید محدودیت هایی را روی دستری های shell اعمال کنید . با استفاده از تنظیماتی که در /etc/security/limits.conf وجود دارد می توانید محدودیت های بسیار جالب را برای تک تک کاربران shell ایجاد کنیدتا استفاده ی نابجای آنها با استفاده وارد آوردن فشار بیش از حد به سرور شما و down شدن آن نشود .
    ۳- وب سرور خود را secure کنید
    مهمترین قسمتی که با عموم کاربران در ارتباط است و بیشتر مورد حمله و نفوذ قرار می گیرد همان webserver است .
    یکی از بهترین ماژول هایی که برای جلوگیری از استفاده ی نابجا از وب سرور استفاده می شود mod_security است که در همین وب لاگ بار ها در موردش صحبت کردیم. البته خود اون فقط یک ابزاره و بقیش برمیگرده به هنر مدیر سرور در طراحی یک سری rule مناسب مخصوص اون سرور برای اطلاعات بیشتر به سایت های http://www.modsecurity.org و http://www.gotroot.com سر بزنید.
    توجه کنید که همیشه موقع compile کردن apache گزینه ی suexec حتما فعال باشد. فعال کردن این گزینه به معنی اجرا شدن اسکریپت های CGI تحت owner خود (مالک فایل) می باشد. این گزینه باعث جلوگیری از دسترسی فایل های CGI به فایل های سیستم میشه و همچنین برای جلوگیری از فایل هایی که باعث در سرور می شود بسیار مناسب است.
    همچنین بعضی ها اعتقاد داند که باید PHPsuexec هم روی سرور فعال باشه این گزینه باعث میشه که فایل های php هم تحت کاربر خودشون اجرا بشن و با عث بالا بردن امنیت فایل های سیستمی و جلوگیری از استفاده نا بجا از این گونه اسکریپت ها میشه .
    می تونید apache رو بوسیله ی دستور /scripts/easyapach که به شما محیط نیمه گرافیکی میده یا با استفاده از خود whm که محیط کاملا گرافیکی داره compile کنید.
    با استفاد از فعال کردن گزینه ی open_basedir در قسمت Tweak Security در WHM دسترسی کاربران را از مشاهده ی فایل هایی که خارج پوشه ی مربوط به خودشون هست بگیرید.
    اگر خیلی از امنیت سرور خود حراس دارید و نمی توانید تک تک دسترسی ها مسدود کنید می توانید به راحتی در فایل php.ini گزینه ی safe mode را فعال کنید . Safe_mode=on این گزینه هر لحظه چکمیکنه که آیا کسیکه داره این فایل رو اجرا میکنه مالک اون قسمتهست یا نه و خیلی دستورات را خود به خود مسدود میکنه . و راحت ترین راه برای بستن دسترسی های اضافی روی سروره . البته باید گم که با فعال کردن این گزینه حدود ۶۰ درصد از scriptها و کاربران به مشکل برمی خورند.
    ۴- پارتیشن tmp را secure کنید
    بله . مخصوصا گفتم پارتیشن چون بعضی ها اصلا براش partision نمی سازند . البته اگر سرورتون را از یک دیتا سنتر درست حسابی گرفته باشید خودشون موقع نصب سیتم عامل این کار رو انجام میدن.
    ولی بازهم کافی نیست در قسمت fstab سیستم باید tmp حتما با گزینه ی nosetuid بسازید یا به اصطلاح mount کنید. این گزینه باعث میشه که تک تک proccess ها با سطح دسترسی executor اجرا شوند .این سطوح دسترسی قبلا در کرنل لینوکس تعریف شده. همچنین بعد از نصب cpanel می توانید گزینه ی noexec رو هم فعال کنید. این گزینه باعث میشه که هیچ فایل اجرایی داخل tmp اجازه ی اجرا شدن نداشته باشه . بعد از اینکه این کار و انجام دادید بوسیله script از پیش آماده ی خود cpanel در آدرس /scripts/securetmp برای پارتیشن tmp خود یک symlink یا شبه لینک به /var/tmp بسازید این خودش برای حفظ امنیت tmp موثره .

    ---------- Post added at 02:07 PM ---------- Previous post was at 02:07 PM ----------

    ده نکته برای امنیت بیشتر در سرورهای لینوکس

    ۱- از کلمات عبور پیچیده استفاده کنید
    کلمات عبور ساده بزرگترین مشکل امینتی را برای سرور شما به وجود می آورند. داشتن کلمات عبور امن و پیچیده (چه برای خود سرور و چه برای کاربرانی که روی سرور قرار دارند) بسیار با اهمیت است.به عنوان مثال اگر کاربر شما ازکلمه ی عبور ی استفاده کند که به راحتی توسط هکر ها قابل حدث زدن باشد در وحله ی اول باعث deface شدن سایت خود شده و اعتبار شرکت شما رو زیر سوال می برد دوم ممکن است از طریق این سایت برای ارسال ویروس و هرزنامه استفاده بشه یا بویسله ی local exploit ها به بقیه سایت ها آسیب برسونه.
    * شما می تونید با ویرایش تنظیمات مربوط به کلمات عبور در فایل /etc/login.defs بر اساس نوع کار شما با سرور و درجه ی امنیتی که برای خود در نظر می گیرید کاربران مجبور به داشتن کلمات عبور ایمن کنید.توضیحات کامل در مورد هر یک از پارامتر های فایل login.defs داخل خود فایل و در بالای هر کدام از پارامتر ها موجود می باشد.
    معمولا کلمات عبور باید حداقل ۸ حرفی و شامل حرف – عدد و علائم باشند. هیچ وقت از کلمات معنی دار یا تاریخ های مهم استفاده نکنید. اگر می خواهید امن بودن کلمه عبور خود را بررسی کنید می تونید اون را با استفاده از این نرم افزار (John the Ripper password cracker) تست کنید . اگر ظرف ? – ? ساعت کلمه عبور شما crack شد یعنی کلمه عبور شما امن نیست.
    همین سایت یک ابزار دیگه برای بررسی طول کلمات عبور کاربران سرور ساخته است بوسیله ی (passwdqc - password/passphrase strength checking and policy enforcement toolset for your servers and software) می توانید لیست کاربرانی که از کمات عبور نا امن استفاده میکنند را پیدا کنید و به آنها هشدار دهید .
    ?- پروتکل SSH شما Secure است؟
    سعی کنید همیشه از برای ورود به سرور از public key authentication استفاده کنید وهیچ وقت دسترسی SSH را برای عموم باز نگذارید. اگر از puttyاستفاده می کنید می توانید نرم افزار putty agent را نصب کرده و key های SSH خود را مدیریت کنید.
    همیشه پورت SSH را عوض کنید .معمولا طرف ابتدا به دنبال پورت ۲۲ می گرده و اگر اطلاعات کافی در مورد سرور شما نداشته باشه از دسترسی به ssh نا امید خواهد شد . لذا هیچ وقت ssh را روی پورت ۲۲ باز نگذارید. می توانید پورت ssh را از طریق ویرایش فایل etc/ssh/sshd_config به یک پورت باز دیگر مثلا ???? تغییر دهید. port 1654
    از پروتکل ۲ استفاده کنید . اگر از putty استفاده می کنید این نرم افزار قابلیت پشتیبانی از هر دو پروتکل را دارست پس نگرانی وجود ندارد . در همین فایل etc/ssh/sshd_config می توانید خط Protocol 2. را تایپ کنید.
    در اکثر سیستم های لینوکس میتوانید محدودیت هایی را روی دستری های shell اعمال کنید . با استفاده از تنظیماتی که در /etc/security/limits.conf وجود دارد می توانید محدودیت های بسیار جالب را برای تک تک کاربران shell ایجاد کنیدتا استفاده ی نابجای آنها با استفاده وارد آوردن فشار بیش از حد به سرور شما و down شدن آن نشود .
    ۳- وب سرور خود را secure کنید
    مهمترین قسمتی که با عموم کاربران در ارتباط است و بیشتر مورد حمله و نفوذ قرار می گیرد همان webserver است .
    یکی از بهترین ماژول هایی که برای جلوگیری از استفاده ی نابجا از وب سرور استفاده می شود mod_security است که در همین وب لاگ بار ها در موردش صحبت کردیم. البته خود اون فقط یک ابزاره و بقیش برمیگرده به هنر مدیر سرور در طراحی یک سری rule مناسب مخصوص اون سرور برای اطلاعات بیشتر به سایت های http://www.modsecurity.org و http://www.gotroot.com سر بزنید.
    توجه کنید که همیشه موقع compile کردن apache گزینه ی suexec حتما فعال باشد. فعال کردن این گزینه به معنی اجرا شدن اسکریپت های CGI تحت owner خود (مالک فایل) می باشد. این گزینه باعث جلوگیری از دسترسی فایل های CGI به فایل های سیستم میشه و همچنین برای جلوگیری از فایل هایی که باعث در سرور می شود بسیار مناسب است.
    همچنین بعضی ها اعتقاد داند که باید PHPsuexec هم روی سرور فعال باشه این گزینه باعث میشه که فایل های php هم تحت کاربر خودشون اجرا بشن و با عث بالا بردن امنیت فایل های سیستمی و جلوگیری از استفاده نا بجا از این گونه اسکریپت ها میشه .
    می تونید apache رو بوسیله ی دستور /scripts/easyapach که به شما محیط نیمه گرافیکی میده یا با استفاده از خود whm که محیط کاملا گرافیکی داره compile کنید.
    با استفاد از فعال کردن گزینه ی open_basedir در قسمت Tweak Security در WHM دسترسی کاربران را از مشاهده ی فایل هایی که خارج پوشه ی مربوط به خودشون هست بگیرید.
    اگر خیلی از امنیت سرور خود حراس دارید و نمی توانید تک تک دسترسی ها مسدود کنید می توانید به راحتی در فایل php.ini گزینه ی safe mode را فعال کنید . Safe_mode=on این گزینه هر لحظه چکمیکنه که آیا کسیکه داره این فایل رو اجرا میکنه مالک اون قسمتهست یا نه و خیلی دستورات را خود به خود مسدود میکنه . و راحت ترین راه برای بستن دسترسی های اضافی روی سروره . البته باید گم که با فعال کردن این گزینه حدود ۶۰ درصد از scriptها و کاربران به مشکل برمی خورند.
    ۴- پارتیشن tmp را secure کنید
    بله . مخصوصا گفتم پارتیشن چون بعضی ها اصلا براش partision نمی سازند . البته اگر سرورتون را از یک دیتا سنتر درست حسابی گرفته باشید خودشون موقع نصب سیتم عامل این کار رو انجام میدن.
    ولی بازهم کافی نیست در قسمت fstab سیستم باید tmp حتما با گزینه ی nosetuid بسازید یا به اصطلاح mount کنید. این گزینه باعث میشه که تک تک proccess ها با سطح دسترسی executor اجرا شوند .این سطوح دسترسی قبلا در کرنل لینوکس تعریف شده. همچنین بعد از نصب cpanel می توانید گزینه ی noexec رو هم فعال کنید. این گزینه باعث میشه که هیچ فایل اجرایی داخل tmp اجازه ی اجرا شدن نداشته باشه . بعد از اینکه این کار و انجام دادید بوسیله script از پیش آماده ی خود cpanel در آدرس /scripts/securetmp برای پارتیشن tmp خود یک symlink یا شبه لینک به /var/tmp بسازید این خودش برای حفظ امنیت tmp موثره .

    ---------- Post added at 02:10 PM ---------- Previous post was at 02:07 PM ----------

    ۵- غیر فعال کردن compiler ها برای کاربران دیگر
    ۹۹ درصد کاربران نمی دونن compiler ها روی هاست به چه درد می خوه و اصلا استفاده ای از اونها ندارند پس چه بهتره برای همه ی کاربرانی که استفاده ندارند اون رو disable کنید . این کار رو می تونید در whm در قسمت Compilers Tweak انجام بدید . اکثر باگ های امینتی کشف شده نیار دارند تا همون موقع روی سرور compile بشن با غیر فعال کردن اون حال بسیاری از هکر ها رو میگیرید.
    ۶- از maildir به جای mailbox استفاده کنید
    ما دونوع ذخیره سازی روی لینوکس داریم برای ایمیل ها . اولی به صورت mail box هست و دومی maildir که گزینه ی دوم بسیار از لحاظ امنیتی بهتره و باعث افزایش سرعت میل سرورتون هم میشه . البته در نسخه ی جدید cpanel به صورت پیش فرض maildir نصب میکنه ولی اگر سرورتون بیش از یک سال عمر داره و روش خاک نشسته بهتره همین حالا به maildir ارتقا بدید. قبلش از اطلاعاتتون backup بگیرید . بنده هیچ مسئولیتی در قبل از دست دادن اونها ندارم . می تونید از پشتیبانی دیتا سنترتون بخواید تا این کار رو انجام بده.
    ۷- سرویس های اضافی(services and daemons) را غیر فعال کنید
    هر سرویس که روی سرور شما فعال باشه و به دیگران اجازه ی وصل شدن به اون وگرفتن اطلاعات به کاربران میده دارای باگ امینتی هست و اگر از اون استفاده نمی کنید باید اون رو ببندیدش . خود لینوکس هم یک سری سرویس های زائد(daemons) داره که برای یک سریس دهنده ی وب نیازی به اونها نیست .
    سرویس های رو می تونید در /etc/xinetd.con ویرایش کنید .برای مثال سیستم اشتراک فایل (nfs/statd) یا سیستم مدیریت پرینت (cupsd) و خیلی daemonهای دیگه که توی آموزش مختصر مثل این نمی گنجه همش روبگم. از داخل whm در قسمت Service Manager می تونید سرویس هایی که نیار ندارید رو غیر فعال کنید . مثلا اگر از chat server خود cpanel استفاده نمی کنید اون رو غیر فعالش کنید چون خودش باعث مشکلاتی امنیتی خواهد شد .
    این بخش از مهمترین کار هایی که باید یک مدیر سرور انجام بده .
    ۸- سرور خود را تحت کنترل داشته باشید یا مانیتور کنید

    یک ادمین سرور باید به صورت ۲۴ ساعته کلیه قسمت های سرور (نرم افزار ها – فایل های کاربران و …) را تحت کنترل داشته باشد
    اینکه نرم افزار های مورد استفاده روی سرور بروز هستند یا خیر و خیلی مسائل دیگر بسیار مهم هستند که این امر فقط با بررسی مداوم و سرکشی به صورت روزانه روی سرور ها عملی است.
    البته می توانید حداقل ۹۰ درصد این کار ها را با نوشتن script های دلخواه انجام دهید و شما فقط لوگ های مربوطه را چک کنید و فقط در مواقع ضروری روی سرور لوگین کنید . در این جا برخی از command های پر استفاده رو در این ضمینه ارائه می کنم:
    netstat -anp : لیست کلیه connection های باز سرور را به شما می دهد تا به دنبال پورت ها یا نرم افزار های مشکوکی که روی سرور run هستند ولی شما اجاره اجرا شدن به انها نداده اید مشاهده کنید و در صورت لزوم بوسیله firewall دسترسی انها را مسدود کنید.
    find / \( -perm -a+w \) ! -type l >> world_writable.txt : این دستور لیست کلیه فایل هایی را که permission 777 دارند و توسط کلیه کاربران روی سرور قابلیت ویرایش دارند را به شما نشان میدهد (داخل فایل txtذخیره می کند) اکثر مشکلات امینی داخل همین فولدر ها اتفاق می افتد.
    ls /var/log/ : اکثر لوگ فایل ها داخل پوشه var هستند شما در صورت نیاز به لوگی از از هر سرویس خاصیمی توانید در این فولدر به آن مراجعه کنید (البته لوگ های apache در فولدر /usr/local/apache/logs هست)
    در کنار تمامی موارد script های زیادی هستندکه به شما در این کار ها کمک می کنند . البته چیزی که بر حسب نیاز خودتون برای خودتون بنویسید مسلما یک چیز دیگس. یک سری برنامه ها اسمشون رو می نویسم که به درد می خورند .
    * Tripwire – این نرم افزاری هست که md5 کلیه فایل های مربوط به سیستم را چک می کنه و در صورتی که این فایل ها تغییر کند به شما هشدار می دهد.
    Tripwire, Inc - Take Control of IT Security and Compliance or Open Source Tripwire
    * Chrookit – نرم افزاری برای پیدا کردن trojan – backdoor و غیره بر روی سرور.
    chkrootkit -- locally checks for signs of a rootkit
    * Rkhunter – نرم افزاری برای پیدا کردن trojan – backdoor و غیره بر روی سرور.
    Rootkit Hunter
    * Logwatch – نرم افزاری برای بررسی لوگ ها و فعالیت های سرور به صورت روزانه و تهیه گزارش کامل برای شما
    kaybee.org
    9- حتما یک firewall نرم افزاری داشته باشید !!
    اگر firewall سخت افزاری هم دارید باید یک فایروال جداگانه روی سرور داشته باشید .
    با استفاده از firewall می تونید لیست پورت هایی که استفاده نمی شوند رو محدود کنید و با این کار حجم زیادی از نرم افزار های backdoor و … را از کار بیاندازید . همچنین با استفاده از firewall می توانید ادرس های ip خاصی را block کنید و حتی در مقابل حملات ddos اسیب ناپذیر باشید.
    در زیر لیست پورت های مورد نیاز cpanel امده است( اگر سرویس دیگری ندارید می توانید بقیه پورت ها را به غیر از این ها ببندید . چون نیازی به انها ندارید ) : cPanel & WHM FAQ
    بهترین firewall از نظر من روی cpanel هم نصب میشه و خوب جواب میده همون APF هست که با rule های خود لینوکس iptables کار می کنه.
    اگر شما هم با این نرم افزار کار می کنید اینجا رو مطالعه کنید : cPanel & WHM FAQ
    10 - همیشه بروز باشید
    ۸۰ در صد مشکلات امینتی در روز های اول عمرشون براشون patch و update امنیتی میاد یعنی یک bug هرچقدر هم که underground باشد بالاخره براش patch نوشته می شود پس سعی کنید که همیشه از آخرین نسخه های نرم افزار استفاده کنید . نسخه ی کرنل حداقل هر ۲ ماه یک بار باید بروز بشه بقیه نرم افزار ها باید هر هفته چک بشن و در صورت لزوم update بشوند. خود cpanel باید هر روز updateشود به دلیل اینکه هر روز شرکت سی پنل به روز می شود .

    ---------- Post added at 02:10 PM ---------- Previous post was at 02:10 PM ----------

    ۵- غیر فعال کردن compiler ها برای کاربران دیگر
    ۹۹ درصد کاربران نمی دونن compiler ها روی هاست به چه درد می خوه و اصلا استفاده ای از اونها ندارند پس چه بهتره برای همه ی کاربرانی که استفاده ندارند اون رو disable کنید . این کار رو می تونید در whm در قسمت Compilers Tweak انجام بدید . اکثر باگ های امینتی کشف شده نیار دارند تا همون موقع روی سرور compile بشن با غیر فعال کردن اون حال بسیاری از هکر ها رو میگیرید.
    ۶- از maildir به جای mailbox استفاده کنید
    ما دونوع ذخیره سازی روی لینوکس داریم برای ایمیل ها . اولی به صورت mail box هست و دومی maildir که گزینه ی دوم بسیار از لحاظ امنیتی بهتره و باعث افزایش سرعت میل سرورتون هم میشه . البته در نسخه ی جدید cpanel به صورت پیش فرض maildir نصب میکنه ولی اگر سرورتون بیش از یک سال عمر داره و روش خاک نشسته بهتره همین حالا به maildir ارتقا بدید. قبلش از اطلاعاتتون backup بگیرید . بنده هیچ مسئولیتی در قبل از دست دادن اونها ندارم . می تونید از پشتیبانی دیتا سنترتون بخواید تا این کار رو انجام بده.
    ۷- سرویس های اضافی(services and daemons) را غیر فعال کنید
    هر سرویس که روی سرور شما فعال باشه و به دیگران اجازه ی وصل شدن به اون وگرفتن اطلاعات به کاربران میده دارای باگ امینتی هست و اگر از اون استفاده نمی کنید باید اون رو ببندیدش . خود لینوکس هم یک سری سرویس های زائد(daemons) داره که برای یک سریس دهنده ی وب نیازی به اونها نیست .
    سرویس های رو می تونید در /etc/xinetd.con ویرایش کنید .برای مثال سیستم اشتراک فایل (nfs/statd) یا سیستم مدیریت پرینت (cupsd) و خیلی daemonهای دیگه که توی آموزش مختصر مثل این نمی گنجه همش روبگم. از داخل whm در قسمت Service Manager می تونید سرویس هایی که نیار ندارید رو غیر فعال کنید . مثلا اگر از chat server خود cpanel استفاده نمی کنید اون رو غیر فعالش کنید چون خودش باعث مشکلاتی امنیتی خواهد شد .
    این بخش از مهمترین کار هایی که باید یک مدیر سرور انجام بده .
    ۸- سرور خود را تحت کنترل داشته باشید یا مانیتور کنید

    یک ادمین سرور باید به صورت ۲۴ ساعته کلیه قسمت های سرور (نرم افزار ها – فایل های کاربران و …) را تحت کنترل داشته باشد
    اینکه نرم افزار های مورد استفاده روی سرور بروز هستند یا خیر و خیلی مسائل دیگر بسیار مهم هستند که این امر فقط با بررسی مداوم و سرکشی به صورت روزانه روی سرور ها عملی است.
    البته می توانید حداقل ۹۰ درصد این کار ها را با نوشتن script های دلخواه انجام دهید و شما فقط لوگ های مربوطه را چک کنید و فقط در مواقع ضروری روی سرور لوگین کنید . در این جا برخی از command های پر استفاده رو در این ضمینه ارائه می کنم:
    netstat -anp : لیست کلیه connection های باز سرور را به شما می دهد تا به دنبال پورت ها یا نرم افزار های مشکوکی که روی سرور run هستند ولی شما اجاره اجرا شدن به انها نداده اید مشاهده کنید و در صورت لزوم بوسیله firewall دسترسی انها را مسدود کنید.
    find / \( -perm -a+w \) ! -type l >> world_writable.txt : این دستور لیست کلیه فایل هایی را که permission 777 دارند و توسط کلیه کاربران روی سرور قابلیت ویرایش دارند را به شما نشان میدهد (داخل فایل txtذخیره می کند) اکثر مشکلات امینی داخل همین فولدر ها اتفاق می افتد.
    ls /var/log/ : اکثر لوگ فایل ها داخل پوشه var هستند شما در صورت نیاز به لوگی از از هر سرویس خاصیمی توانید در این فولدر به آن مراجعه کنید (البته لوگ های apache در فولدر /usr/local/apache/logs هست)
    در کنار تمامی موارد script های زیادی هستندکه به شما در این کار ها کمک می کنند . البته چیزی که بر حسب نیاز خودتون برای خودتون بنویسید مسلما یک چیز دیگس. یک سری برنامه ها اسمشون رو می نویسم که به درد می خورند .
    * Tripwire – این نرم افزاری هست که md5 کلیه فایل های مربوط به سیستم را چک می کنه و در صورتی که این فایل ها تغییر کند به شما هشدار می دهد.
    Tripwire, Inc - Take Control of IT Security and Compliance or Open Source Tripwire
    * Chrookit – نرم افزاری برای پیدا کردن trojan – backdoor و غیره بر روی سرور.
    chkrootkit -- locally checks for signs of a rootkit
    * Rkhunter – نرم افزاری برای پیدا کردن trojan – backdoor و غیره بر روی سرور.
    Rootkit Hunter
    * Logwatch – نرم افزاری برای بررسی لوگ ها و فعالیت های سرور به صورت روزانه و تهیه گزارش کامل برای شما
    kaybee.org
    9- حتما یک firewall نرم افزاری داشته باشید !!
    اگر firewall سخت افزاری هم دارید باید یک فایروال جداگانه روی سرور داشته باشید .
    با استفاده از firewall می تونید لیست پورت هایی که استفاده نمی شوند رو محدود کنید و با این کار حجم زیادی از نرم افزار های backdoor و … را از کار بیاندازید . همچنین با استفاده از firewall می توانید ادرس های ip خاصی را block کنید و حتی در مقابل حملات ddos اسیب ناپذیر باشید.
    در زیر لیست پورت های مورد نیاز cpanel امده است( اگر سرویس دیگری ندارید می توانید بقیه پورت ها را به غیر از این ها ببندید . چون نیازی به انها ندارید ) : cPanel & WHM FAQ
    بهترین firewall از نظر من روی cpanel هم نصب میشه و خوب جواب میده همون APF هست که با rule های خود لینوکس iptables کار می کنه.
    اگر شما هم با این نرم افزار کار می کنید اینجا رو مطالعه کنید : cPanel & WHM FAQ
    10 - همیشه بروز باشید
    ۸۰ در صد مشکلات امینتی در روز های اول عمرشون براشون patch و update امنیتی میاد یعنی یک bug هرچقدر هم که underground باشد بالاخره براش patch نوشته می شود پس سعی کنید که همیشه از آخرین نسخه های نرم افزار استفاده کنید . نسخه ی کرنل حداقل هر ۲ ماه یک بار باید بروز بشه بقیه نرم افزار ها باید هر هفته چک بشن و در صورت لزوم update بشوند. خود cpanel باید هر روز updateشود به دلیل اینکه هر روز شرکت سی پنل به روز می شود .

    ---------- Post added at 02:15 PM ---------- Previous post was at 02:10 PM ----------

    افزایش امنیت سرور با RkHunter
    این ابزار برای چک کردن سرور در مقابل trojan , rootkits و سایر مشکلات امنیتی استفاده میشود.. در این پست قصد آموزش نصب این ابزار به همراه تنظیمات اولیه (همچون ارائه خبر به صورت روزانه) را داریم… با ما همراه باشید
    آموزش نصب
    ۱- وارد ssh شوید
    ۲- دستور زیر را برای دریافت این ابزار استفاده میکنیم
    کد PHP:
    wget  http://sourceforge.net/projects/rkhunter 
    3- فشردگی در میاوریم
    کد PHP:
    tar -zxvf rkhunter-1.3.6.tar.gz 
    4- نصب را آغاز میکنیم
    کد PHP:
    ./installer.sh –install 
    نصب به اتمام رسید
    برای تست این ابزار
    کد PHP:
    /usr/local/bin/rkhunter -
    rkhunter به شما گزارش دهد:
    کد PHP:
    nano /etc/cron.daily/rkhunter.sh 
    سپس ایمیل خود را به جای email@domain.com قرار بدهید
    کد PHP:
    #!/bin/bash 
    کد PHP:
    (/usr/local/bin/rkhunter -c –cronjob  2>&mail -s “Daily Rkhunter Scan Report” email@domain.com
    یا میتوانید اسکریپت زیر را کپی کنید:
    کد PHP:
    #!/bin/sh
    (
    /
    usr/local/bin/rkhunter –versioncheck
    /usr/local/bin/rkhunter –update
    /usr/local/bin/rkhunter –cronjob \
    –report-warnings-only
    ) | /bin/mail -s “rkhunter output” email@domain.com 
    تنظیم مجوز
    کد PHP:
    chmod +/etc/cron.daily/rkhunter.sh 
    آپگرید rkhunter
    کد PHP:
    rkhunter –update 


    ---------- Post added at 02:18 PM ---------- Previous post was at 02:15 PM ----------

    ایجاد برخی از محدودیت ها (افزایش امنیت)
    وارد SSH با کاربر ریشه شده و دستورات زیر را به ترتیب وارد نمایید:
    ۱- دسترسی به perl قطع شود و فقط کاربر ریشه به آن دسترسی داشته باشد
    کد PHP:
    [LEFT]cd /usr/bin[/LEFT]
     
    chmod 700 perl
     chown root
    :root perl 
    2- امن نمودن ln و ارائه دسترسی فقط به کاربر ریشه
    کد PHP:
    [LEFT]cd /bin[/LEFT]
     
    chmod 000 ln
     chown root
    :root ln 
    3- قطع نمودن برخی از سرویس ها برای کاربران
    کد PHP:
    [LEFT]chmod 700 /usr/bin/gcc
    chmod 700 
    /usr/bin/chattr
    chmod 700 
    /usr/bin/w
    chmod 700 
    /usr/bin/who
    chmod 700 
    /usr/bin/last
    chmod 700 
    /usr/bin/lastb
    chmod 700 
    /usr/bin/lastlog
    chmod 700 
    /bin/rpm
    chmod 700 
    /bin/dmesg
    chmod 700 
    /sbin/ipchains
    chmod 700 
    /sbin/iptables
    chmod 700 
    /sbin/sysctl
    chmod 700 
    /sbin/shutdown
    chmod 700 
    /sbin/reboot
    chmod 700 
    /sbin/halt
    chmod 700 
    /sbin/poweroff[/LEFT]
     
    chattr +/bin/login
    chattr 
    +/bin/rpm
    chattr 
    +/bin/ps
    chattr 
    +/bin/ls 
    4- log های سرور را فقط کاربر ریشه بتواند مشاهده کند:
    کد PHP:
      [LEFT]chmod 700 /var/log
    chmod 600 
    /var/log/messages
    chmod 600 
    /var/log/dmesg
    chmod 600 
    /var/log/boot.log
    chmod 600 
    /var/log/lastlog
    chmod 600 
    /var/log/rpmpkgs[/LEFT


    ---------- Post added at 02:21 PM ---------- Previous post was at 02:18 PM ----------

    نصب mod_rewrite
    1- وارد SSH شده ۲- ویرایشگر ساده و کاربردی nano در صورت نصب نبودن با دستور زیر نصب میکنیم
    کد PHP:
    yum install nano 
    3-فایل تنظیمات آپاچی وب سرور را با ویرایشگر خود باز میکنیم
    کد PHP:
    nano /etc/httpd/conf/httpd.conf 
    4- در این فایل مقادیر زیر را جستجو میکنیم (برای جستجو Ctrl+w )
    کد PHP:
    LoadModule rewrite_module modules/mod_rewrite.so 
    اگر در اول این مقدار # بود، آن را پاک میکنیم! (تا فعال-خوانده شود)
    کد PHP:
    AllowOverride none 
    را به مقدار زیر تفییر میدهیم
    کد PHP:
    AllowOverride All 
    5- کار به اتمام رسید، حال وب سرور آپاچی را مجددا” راه اندازی میکنیم :
    کد PHP:
    service httpd restart 
    چگونه این مد را برای یک یوزر اکانت فعال کنیم؟
    فایل .htaccess را باز کنید و مقادیر زیر را در آن قرار دهید
    Options +FollowSymLinks
    RewriteEngine On
    کار به اتمام رسید.

    ---------- Post added at 02:23 PM ---------- Previous post was at 02:21 PM ----------

    بن کردن IP در IPTables
    برای بن کردن یک ادرس آی پی ، از یکی از دستورات زیر استفاده میکنیم:
    کد PHP:
    iptables -D OUTPUT -p all -s IP.ADDRESS.HERE -j DROP 
    کد PHP:
    iptables -D INPUT -p all -s IP.ADDRESS.HERE -j DROP 
    از بن ، خارج کردن:
    کد PHP:
    iptables -D INPUT -p all -s IP.ADDRESS.HERE -j DROP 
    IP.ADDRESS.HERE آی پی مورد نظر شماست
    سرویس مورد نظر را بازسازی میکنیم
    کد PHP:
    service iptables save 
    کد PHP:
     service iptables restart 


    ---------- Post added at 02:24 PM ---------- Previous post was at 02:23 PM ----------

    بن کردن IP در IPTables
    برای بن کردن یک ادرس آی پی ، از یکی از دستورات زیر استفاده میکنیم:
    کد PHP:
    iptables -D OUTPUT -p all -s IP.ADDRESS.HERE -j DROP 
    کد PHP:
    iptables -D INPUT -p all -s IP.ADDRESS.HERE -j DROP 
    از بن ، خارج کردن:
    کد PHP:
    iptables -D INPUT -p all -s IP.ADDRESS.HERE -j DROP 
    IP.ADDRESS.HERE آی پی مورد نظر شماست
    سرویس مورد نظر را بازسازی میکنیم
    کد PHP:
    service iptables save 
    کد PHP:
     service iptables restart 


    ---------- Post added at 02:29 PM ---------- Previous post was at 02:24 PM ----------

    افزایش امنیت

    سوال: چگونه میتوانم option های پیشرفته ای مرتبط با پشته tcp/ip و virtual memory تغییر و set کنم که علاوه بر بالا بردن کارایی سیستم امنیت را هم افزایش دهد؟
    پاسخ این سوال را در ادامه مطلب مشاهده کنید، در این پست قصد داریم تغییراتی را در /etc/sysctl.conf اعمال کنیم.

    sysctl یک اینترفیسی است که به ما اجازه میدهد تغییراتی را در اجرای کرنل لینوکس اعمال کنیم.
    با /etc/sysctl.conf میتوانید تغییرات مختلفی را در شبکه لینوکس و تنظیمات لینوکس اعمال کرد، به طور مثال:
    - محدود کردن تنظیمات network-transmitted برای IPv4
    - محدود کردن تنظیمات network-transmitted برای IPv6
    - روشن کردن حفاظت execshield
    - روشن کردن اطلاعات IP address تایید شده
    - جلوگیری در برابر syn flood attack’
    - جلوگیری از یک کرکر جهت spoofing attack در برابر IP address سرور
    - انواع لاگ های بسته های مشکوک ، به طور مثال: spoofed packets, source-routed packets, and redirects.
    دستور sysctl
    این دستور برای ایجاد تغییرات در برخی از پارامتر های کرنل لینوکس در هر لحظه استفاده میشود. /etc/sysctl.conf که فایل با فرمت متنی است که حاوی مقادیر sysctl است.
    برای نمایش این مقادیر دستورات زیر استفاده میکنیم:
    sysctl -a
    sysctl -A
    sysctl mib
    sysctl net.ipv4.conf.all.rp_filter
    برای اجرای تغییرات دستور زیر استفاده میکنیم:
    sysctl -p
    یک نمونه از فایل /etc/sysctl.conf
    این مقادیر برای FTP server, webserver های اختصاصی است.
    Dedicated *
    در مقادیر زیر ۰ به معنای غیر فعال/no / false است
    در مقادیر زیر هر عددی جز صفر به معنای فعال /yes / true است
    # Controls IP packet forwarding
    net.ipv4.ip_forward = 0
    # Controls source route verification
    net.ipv4.conf.default.rp_filter = 1
    # Do not accept source routing
    net.ipv4.conf.default.accept_source_route = 0
    # Controls the System Request debugging functionality of the kernel
    kernel.sysrq = 0
    # Controls whether core dumps will append the PID to the core filename
    # Useful for debugging multi-threaded applications
    kernel.core_uses_pid = 1
    # Controls the use of TCP syncookies
    #net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_synack_retries = 2
    ########## IPv4 networking start ##############
    # Send redirects, if router, but this is just server
    net.ipv4.conf.all.send_redirects = 0
    net.ipv4.conf.default.send_redirects = 0
    # Accept packets with SRR option? No
    net.ipv4.conf.all.accept_source_route = 0
    # Accept Redirects? No, this is not router
    net.ipv4.conf.all.accept_redirects = 0
    net.ipv4.conf.all.secure_redirects = 0
    # Log packets with impossible addresses to kernel log? yes
    net.ipv4.conf.all.log_martians = 1
    net.ipv4.conf.default.accept_source_route = 0
    net.ipv4.conf.default.accept_redirects = 0
    net.ipv4.conf.default.secure_redirects = 0
    # Ignore all ICMP ECHO and TIMESTAMP requests sent to it via broadcast/multicast
    net.ipv4.icmp_echo_ignore_broadcasts = 1
    # Prevent against the common ‘syn flood attack’
    net.ipv4.tcp_syncookies = 1
    # Enable source validation by reversed path, as specified in RFC1812
    net.ipv4.conf.all.rp_filter = 1
    net.ipv4.conf.default.rp_filter = 1
    ########## IPv6 networking start ##############
    # Number of Router Solicitations to send until assuming no routers are present.
    # This is host and not router
    net.ipv6.conf.default.router_solicitations = 0
    # Accept Router Preference in RA?
    net.ipv6.conf.default.accept_ra_rtr_pref = 0
    # Learn Prefix Information in Router Advertisement
    net.ipv6.conf.default.accept_ra_pinfo = 0
    # Setting controls whether the system will accept Hop Limit settings from a router advertisement
    net.ipv6.conf.default.accept_ra_defrtr = 0
    #router advertisements can cause the system to assign a global unicast address to an interface
    net.ipv6.conf.default.autoconf = 0
    #how many neighbor solicitations to send out per address?
    net.ipv6.conf.default.dad_transmits = 0
    # How many global unicast IPv6 addresses can be assigned to each interface?
    net.ipv6.conf.default.max_addresses = 1
    ########## IPv6 networking ends ##############
    #Enable ExecShield protection
    kernel.exec-shield = 1
    kernel.randomize_va_space = 1
    # TCP and memory optimization
    # increase TCP max buffer size setable using setsockopt()
    #net.ipv4.tcp_rmem = 4096 87380 8388608
    #net.ipv4.tcp_wmem = 4096 87380 8388608
    # increase Linux auto tuning TCP buffer limits
    #net.core.rmem_max = 8388608
    #net.core.wmem_max = 8388608
    #net.core.netdev_max_backlog = 5000
    #net.ipv4.tcp_window_scaling = 1
    # increase system file descriptor limit
    fs.file-max = 65535
    #Allow for more PIDs
    kernel.pid_max = 65536
    #Increase system IP port limits
    net.ipv4.ip_local_port_range = 2000 65000


    ---------- Post added at 02:29 PM ---------- Previous post was at 02:29 PM ----------

    افزایش امنیت

    سوال: چگونه میتوانم option های پیشرفته ای مرتبط با پشته tcp/ip و virtual memory تغییر و set کنم که علاوه بر بالا بردن کارایی سیستم امنیت را هم افزایش دهد؟
    پاسخ این سوال را در ادامه مطلب مشاهده کنید، در این پست قصد داریم تغییراتی را در /etc/sysctl.conf اعمال کنیم.

    sysctl یک اینترفیسی است که به ما اجازه میدهد تغییراتی را در اجرای کرنل لینوکس اعمال کنیم.
    با /etc/sysctl.conf میتوانید تغییرات مختلفی را در شبکه لینوکس و تنظیمات لینوکس اعمال کرد، به طور مثال:
    - محدود کردن تنظیمات network-transmitted برای IPv4
    - محدود کردن تنظیمات network-transmitted برای IPv6
    - روشن کردن حفاظت execshield
    - روشن کردن اطلاعات IP address تایید شده
    - جلوگیری در برابر syn flood attack’
    - جلوگیری از یک کرکر جهت spoofing attack در برابر IP address سرور
    - انواع لاگ های بسته های مشکوک ، به طور مثال: spoofed packets, source-routed packets, and redirects.
    دستور sysctl
    این دستور برای ایجاد تغییرات در برخی از پارامتر های کرنل لینوکس در هر لحظه استفاده میشود. /etc/sysctl.conf که فایل با فرمت متنی است که حاوی مقادیر sysctl است.
    برای نمایش این مقادیر دستورات زیر استفاده میکنیم:
    sysctl -a
    sysctl -A
    sysctl mib
    sysctl net.ipv4.conf.all.rp_filter
    برای اجرای تغییرات دستور زیر استفاده میکنیم:
    sysctl -p
    یک نمونه از فایل /etc/sysctl.conf
    این مقادیر برای FTP server, webserver های اختصاصی است.
    Dedicated *
    در مقادیر زیر ۰ به معنای غیر فعال/no / false است
    در مقادیر زیر هر عددی جز صفر به معنای فعال /yes / true است
    # Controls IP packet forwarding
    net.ipv4.ip_forward = 0
    # Controls source route verification
    net.ipv4.conf.default.rp_filter = 1
    # Do not accept source routing
    net.ipv4.conf.default.accept_source_route = 0
    # Controls the System Request debugging functionality of the kernel
    kernel.sysrq = 0
    # Controls whether core dumps will append the PID to the core filename
    # Useful for debugging multi-threaded applications
    kernel.core_uses_pid = 1
    # Controls the use of TCP syncookies
    #net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_synack_retries = 2
    ########## IPv4 networking start ##############
    # Send redirects, if router, but this is just server
    net.ipv4.conf.all.send_redirects = 0
    net.ipv4.conf.default.send_redirects = 0
    # Accept packets with SRR option? No
    net.ipv4.conf.all.accept_source_route = 0
    # Accept Redirects? No, this is not router
    net.ipv4.conf.all.accept_redirects = 0
    net.ipv4.conf.all.secure_redirects = 0
    # Log packets with impossible addresses to kernel log? yes
    net.ipv4.conf.all.log_martians = 1
    net.ipv4.conf.default.accept_source_route = 0
    net.ipv4.conf.default.accept_redirects = 0
    net.ipv4.conf.default.secure_redirects = 0
    # Ignore all ICMP ECHO and TIMESTAMP requests sent to it via broadcast/multicast
    net.ipv4.icmp_echo_ignore_broadcasts = 1
    # Prevent against the common ‘syn flood attack’
    net.ipv4.tcp_syncookies = 1
    # Enable source validation by reversed path, as specified in RFC1812
    net.ipv4.conf.all.rp_filter = 1
    net.ipv4.conf.default.rp_filter = 1
    ########## IPv6 networking start ##############
    # Number of Router Solicitations to send until assuming no routers are present.
    # This is host and not router
    net.ipv6.conf.default.router_solicitations = 0
    # Accept Router Preference in RA?
    net.ipv6.conf.default.accept_ra_rtr_pref = 0
    # Learn Prefix Information in Router Advertisement
    net.ipv6.conf.default.accept_ra_pinfo = 0
    # Setting controls whether the system will accept Hop Limit settings from a router advertisement
    net.ipv6.conf.default.accept_ra_defrtr = 0
    #router advertisements can cause the system to assign a global unicast address to an interface
    net.ipv6.conf.default.autoconf = 0
    #how many neighbor solicitations to send out per address?
    net.ipv6.conf.default.dad_transmits = 0
    # How many global unicast IPv6 addresses can be assigned to each interface?
    net.ipv6.conf.default.max_addresses = 1
    ########## IPv6 networking ends ##############
    #Enable ExecShield protection
    kernel.exec-shield = 1
    kernel.randomize_va_space = 1
    # TCP and memory optimization
    # increase TCP max buffer size setable using setsockopt()
    #net.ipv4.tcp_rmem = 4096 87380 8388608
    #net.ipv4.tcp_wmem = 4096 87380 8388608
    # increase Linux auto tuning TCP buffer limits
    #net.core.rmem_max = 8388608
    #net.core.wmem_max = 8388608
    #net.core.netdev_max_backlog = 5000
    #net.ipv4.tcp_window_scaling = 1
    # increase system file descriptor limit
    fs.file-max = 65535
    #Allow for more PIDs
    kernel.pid_max = 65536
    #Increase system IP port limits
    net.ipv4.ip_local_port_range = 2000 65000

  21. تعداد تشکر ها ازarmintanha به دلیل پست مفید


صفحه 1 از 3 123 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. ویروسی شدن سایت توسط آنتی ویروس نرتون
    توسط delshad در انجمن مباحث دیگر
    پاسخ ها: 7
    آخرين نوشته: March 31st, 2017, 21:16
  2. مشکل انتی ویروس با سایت
    توسط VipSc در انجمن مباحث دیگر
    پاسخ ها: 6
    آخرين نوشته: December 13th, 2016, 22:49
  3. آپدیت سرورهای داخلی برای آنتی ویروس نود 32
    توسط سحر رمضانی در انجمن مباحث دیگر
    پاسخ ها: 1
    آخرين نوشته: October 31st, 2015, 19:21
  4. پاسخ ها: 3
    آخرين نوشته: March 9th, 2015, 22:47
  5. پاسخ ها: 3
    آخرين نوشته: October 10th, 2011, 13:11

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •