نمایش نتایج: از شماره 1 تا 1 , از مجموع 1

موضوع: تنظیم Linux و Squid به عنوان Web *****

  1. #1
    عضو انجمن Sohan Roh آواتار ها
    تاریخ عضویت
    Nov 2012
    نوشته ها
    312
    تشکر تشکر کرده 
    623
    تشکر تشکر شده 
    365
    تشکر شده در
    279 پست

    پیش فرض تنظیم Linux و Squid به عنوان Web *****

    :: مقدمه
    يک ***** Server يک سرويس کارآمد جهت شبکه شما يا شبکه شما و اينترنت است که امنيت بالاتری را جهت کاربران اينترنت فراهم می کند و هم چنين می تواند بعنوان يک Cache Server هم استفاده شود که باعث بالا رفتن بازدهی سرور شما و سرعت آن در دسترسي به اينترنت مي شود.
    Squid، خود يک پرکسی سرور ايمن با توانايی بسيار بالا که دارای امکان استفاده در جهت Cache Server را نيز دارد که يکی از کاربردي ترين Cache Server ها در شبکه اينترنت است

    :: نصب Linux
    بهترين راه جهت نصب لينوکس استفاده از نمونه های مختلف در دسترس است که RedHat و Debian از مشهورترين آنهاست که براحتی از طريق اينترنت قابل دريافت هستند.

    :: نصب Squid

    - نصب از طريق Pack
    اين را توجه داشته باشيد که معمولا بيشتر نسخه های Linux داراي يک پک Squid به صورت Pack های قابل نصب است که ممکن است در موقعی که نسخه Linux شما نصب مي شود، نصب نگردد. بعنوان مثال بعد از نصب RedHat 7.1 شما متوجه مي شود که Squid نصب نگرديده است. خود Squid در CD #2 در شاخه RedHat/RPMS قرار گرفته است. جهت نصب آن ابتدا اطمينان حاصل نماييد که شما بعنوان ROOT وارد شده ايد سپس از فرمان rpm به صورت زير استفاده کنيد:

    mount /mnt/cdrom
    rpm -Uhv /mnt/cdrom/RedHat/RPMS/squid-*.rpm
    umount /mnt/cdrom

    شما در هنگام نصب تعداد زيادی Hash (#) را مشاهده می کنيد که نشان از نصب Squid دارد. در لينوکس دبيان شما می توانيد از برنامه apt-get جهت دان لود و نصب Squid از اينترنت اقدام نماييد:
    apt-get install squid

    - نصب از طريق Source
    اگر شما مايل به نصب Squid از طريق فايل های Source هستيد، می توانيد اين کار را جهت همه نسخه های Linux انجام دهيد . يادآور شوم که شما احتياج به دريافت جديد ترين سورس Squid از وب سايت آن هستيد. سورس Squid به صورت فايل فشرده شده tar است که شما احتياج داريد ابتدا آن را غير فشرده نماييد:
    zcat squid-2.3.STABLE4-src.tar.gz | tar xf -

    هنگامی که شما فايل فشرده tar را غير فشرده نموديد، احتياج به تنظيم و نصب Squid به صورت زير داريد:
    cd squid-2.3.STABLE4
    ./configure
    make all
    make install

    جهت اطلاعات بيشتر جهت نصب آن، فايل INSTALL که در Source Code موجود است را می توانيد مورد بررسی قرار دهيد .

    :: تنظيم نمودن Squid

    همه تنظيمات اين ***** Server در فايل Config آن است ( squid.conf ) که بستگی به نسخه Linux شما ممکن است در شاخه /etc/squid.conf يا /etc/squid/squid.conf باشد . قبل از انجام هرکاری بايد مسير اين فايل را در سيستم تان پيدا نماييد :
    locate squid.conf

    روش های متعددی جهت تنظيم نمودن Squid از طريق وب يا GUI ( واسط کاربری گرافيکی ) وجود دارد. اين GUI ها توانايی خواندن و تشخيص و نوشتن فايل Config در محل مربوطه را دارا هستند .

    ما در اينجا تنظيم نمودن Squid را به صورت دستی شرح می دهيم. جهت اين کار شما به يک ويرايشگر متن مانند emacs يا ديگر نرم افزار ها احتياج داريد و اينکه فراموش نکنيد جهت انجام فرامين مربوطه، بايد از طريق ROOT وارد شويد تا دسترسی به نوشتن در فايل Config را داشته باشيد.

    فايل تنظيمات Squid خود دارای پارامترهای تنظيماتی بسياری است که ما در اينجا همه آن ها را پوشش نخواهيم داد و به اصلی ترين آن ها اشاره خواهيم نمود.

    :: تنظيمات پيش فرض

    به صورت پيش فرض Squid همراه با فايل Config است که تقريبا جهت بيشتر سرورها صحيح و قابل استفاده است. جهت استفاده از Squid در شبکه بعنوان يک ***** Server يک سری تنظيمات وجود دارند که بايد قبل از اينکه Squid مورد استفاده قرار گيرد، تصحيح شوند.

    :: شروع تنظيمات مقدماتي

    در استفاده از Squid در فايل تنظيمات آن ( squid.conf ) تعداد زيادی توضيحات (Comment) وجود دارد که قابل استفاده هستند که در اين حالت حجم فايل در حدود 76 کيلو بايت است که در صورت حذف اين کامنت ها حجم آن به 600 بايت کاهش مي يابد ! که در اين صورت ويرايش آن از طريق ويرايشگر ها آسان تر خواهد شد.

    جهت تنظيمات مقدماتی در فايل Config اين پارامترها را اضافه مي کنيم :

    acl privatenet src 192.168.0.0/255.255.0.0
    http_access allow privatenet

    cache_effective_user squid
    cache_effective_group squid

    نکته های قابل ذکر در اين پارامترها :

    acl privatenet * . براي مثال دو شبکه Private در پشت Firewall وجود دارد که از IANA، شماره IP های 192.168.x.x به آن اختصاص داده شده است
    :: نمونه هاي تنظيمات فايل تنظيمات

    دقت داشته باشيد که تنظيمات اشاره شده در اينجا تنها بخش کوچکی از آن چه که شما می خواهيد با Squid انجام دهيد را شامل مي شود.

    - Logging

    به طور پيش فرض Squid فعاليت هاي انجام شده را در چندين Log فايل ذخيره مي کند :

    cache_access_log /var/log/squid/access.log
    cache_log /var/log/squid/cache.log
    cache_store_log none

    با اضافه نمودن اين پارامترها Squid پيغام های خطا را در مسير /var/log/squid/cache.log و پيغام های دسترسي به سرور را در /var/log/squid/access.log ذخيره می کند که البته برنامه هايی نيز جهت آناليز access.log قابل دريافت هسنتد که از آن ها مي توان به SARG اشاره نمود ( که با نام sqmgrlog شهرت دارد )

    من مطلب مفيدی را در مورد squid's cache_store_log پيدا ننمودم که از همين جهت می توان توسط خط 3 بالا آن را غير فعال نمود.

    - Cache Access

    شما می توانيد استفاده از Cache را در Server تان مقدور سازيد که اين کار از طريق http_access امکان پذير است. اين را مد نظر داشته باشيد که خط acl يک شبکه يا يک سيستم در شبکه را تعريف می کند .

    :: اندکي در مورد Upstream *****

    شايد يکی از برتری های Squid استفاده از Upstream ***** باشد که مي تواند دسترسي به اينترنت تا حد قابل ملاحظه ای بالا ببرد. بعنوان مثال وقتی ISP شما دارای Cache جهت کاربرانش می باشد، Cache Server می تواند سايت های بسياري را در خود ذخيره کند که اين خود تا حد زيادی بازدهی را در مواقع ضروری بالا مي برد.

    يکي ديگر از مزاياي Squid پشتيبانی به صورت چندگانه است بدين مفهوم که مي توان چندين Cache Server را با هم ارتباط داد که Squid اين کار را از طريق ICP Protocol انجام می دهد. ICP اين اجازه را به Cache Server ها می دهد که که توسط Packet های سريع UDP با هم ارتباط برقرار نمايند.

    جهت استفاده از اين مزايا شما اول بايد مد نظر داشته باشيد که آدرس Cache Server ها چيست ( *****server.yourisp.com ) و همچنين از چه Port ای بدين منظور استفاده می کند . استفاده از Upstream ***** به راحتی امکان پذير است :

    cache_peer *****.yourisp.com parent 3128 3130
    prefer_direct off

    خط cache_peer اسم Hosting و نحوه Cache کردن "parent" و پورت پراکسی "3128" و پورت ICP" 3130" را مشخص می کند. اگر کش سرور شما پروتکل ICP را پشتيبانی نمی کند از اين خط استفاده نماييد :

    cache_peer *****.yourisp.com parent 3128 7 no-query default
    prefer_direct off

    - Sharing Caches

    توجه داشته باشيد که در مواقع ضروری که يک شرکت چندين ارتباط را جهت دسترسی به اينترنت را داشته باشد، Squid، کش نمودن در حالت مشترک را پشتيبانی ميکند.( بدين مفهوم که چندين Cache Server با هم ارتباط داشته باشند ). در اين صورت بايد هر Cache Server اين خط را در فايل تنظيمات خود داشته باشند :

    cache_peer theother*****.yournetwork.com sibling 3128 3130

    که اگر دقت نماييد يکي از پارامترها به sibling تغيير يافته بدين مفهوم که فايل هاي کش را چنانچه در کش سرور ديگر باشد، آنها را دريافت می کند .

    - رد نمودن فايل های آلوده

    فايل هايی وجود دارند که به ويروس نيز آلوده هستند مانند WIN-BUGFIX.EXE که مربوط به ويروس Melissa مي شد که با يک پارامتر ساده مي توان دريافت چنين فايل هايي را از سرور رد نمود.

    acl nastyfile dstdom_regex -i WIN[.*]BUG[.*]EXE
    http_access deny nastyfile

    :: تنظيمات پيشرفته

    ترنفند هايی نيز وجود دارند که شما مي توانيد جهت Web ***** خود اعمال نماييد، مانند شناسايی کاربر و يا Transparent ***** و يا عدم دسترسي کاربر به فايل های غير مجاز در طي ساعات اداري. اما اين را فراموش نکنيد که فايل تنظيمات Squid بسيار آسيب پذير است و با يک اشتباه کوچک، Cache Server کار نمي کند !

    - شناسايی

    اين مرحله يکی از مهم ترين اجزا جهت مديران شبکه است. بعنوان مثال مواقعی که شرکت شما دسترسی به اينترنت را جهت کاربر امکان پذير و يا رد مي کند.

    تنظيم نمودن يک acl جهت ورود يا رد نمودن کاربر به راحتي از طريق تغيير زير در فايل تنظيمات امکان پذير است :

    authenticate_program /your/authentication/program
    acl validusers *****_auth REQUIRED
    http_access allow validusers

    و اين را توجه داشته باشيد که يک برنامه مناسب ***** Authentication پيدا نماييد. قابل ذکر است Squid خود دارای شناساگری به صورت داخلی نمی باشد که شما بايد در خط authenticate_program تنظيمات مناسب را بر طبق برنامه شناساگر تغيير دهيد.

    البته Squid همراه با چند برنامه شناساگر نيز می باشد که ذخيره شده در /usr/lib/squid هستند که شامل smb_auth ( شناساگر جهت دومين NT ) و squid_ldap_auth ( جهت شناسايي دايرکتوري LDAP ) که در اين ميان شناساگر مورد انتحاب من pam_auth می باشد که از Library های PAM جهت شناسايی کاربران استفاده می کند .

    برتری pam_auth در شناسايی کاربران در روش های متعدد است و همه برنامه های شما ( نظير XDM, Squid, Apache و .... ) بر روی آن قرار دارند ...

    جهت تنظيم pam_auth ( اين روش جهت سيستم های Red Hat است ):

    - فايل /etc/pam.d/squid را ايجاد نماييد که بايد اين چنين باشد :

    auth required /lib/security/pam_stack.so service=system-auth
    auth required /lib/security/pam_nologin.so
    account required /lib/security/pam_stack.so service=system-auth
    password required /lib/security/pam_stack.so service=system-auth
    session required /lib/security/pam_stack.so service=system-auth

    - اطمينان حاصل نماييد که خط زير را در فايل کانفيگ Squid گنجانيده ايد:

    authenticate_program /usr/lib/squid/pam_auth

    - و اينکه authconfig در سرور شما اجرا شده است تا مشخص نمايد شما از چه سرور شناساگر استفاده می نماييد که مورد LDAP مناسب به نظر می رسد ...


    :: ***** به صورت Transparent

    Transparent نمودن ***** روشی است که شما می توانيد يک پرکسی سرور را بين شبکه و اينترنت بگذاريد و بدون اينکه نياز به تنظيمات خاصی باشد ما مستقيما به اينترنت وصل خواهيم گرديد ( توجه داشته باشيد که اين روش فقط برای WWW قابل اجراست و جهت سرويس FTP جواب نمی دهد ) کاربرها بايد متوجه باشند که Transparent نمودن ***** و اضافه نمودن شناسايی که در مرحله قبل توضيح داده شد، هر دو با هم امکان پذير نيست.

    جهت نصب ***** به صورت Transparent به اين چيزها احتياج خواهيد داشت:

    - يک قانون فايروال ( Rule ) و Redirect نمودن ترافيک خروجي شبکه به پرکسی سرور .

    - يک قانون Squid جهت فعال کردن Squid تا اينکه به صورت Transparent عمل نمايد .

    جهت اجرای يک Firewall Rule شما به Rule ای مانند زير احتياج خواهيد داشت :

    /sbin/ipchains -A input -p tcp -s 0/0 -d 0/0 80 -j REDIRECT 3128

    جهت iptables ( نسخه هسته 2.4 لينوکس 2.4 به بالا ) ممکن است شما مايل به نصب iptables مبني بر Firewall در Squid باشيد. در قستمی از نصب فايروال شما به ايجاد قانون DNAT جهت ارسال ترافيک بر روي پورت 80 به 3128 پرکسی سرور خواهيد داشت . برای اطلاعات بيشتر جهت ايجاد قانون های NAT می توانيد به وب سايت NET FILTER مراجعه کنيد.

    تنظيمات مورد احتياج Squid جهت فعال کردن Squid به صورت Transparent در اينجا ذکر شده اند :

    httpd_accel_host virtual
    httpd_accel_port 80
    httpd_accel_with_***** on
    httpd_accel_uses_host_header on

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


  3. # ADS




     

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

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

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

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

  1. دانلود مقاله linux checklist for About linux security
    توسط IrIsT در انجمن مباحث و منابع آموزشی
    پاسخ ها: 2
    آخرين نوشته: April 18th, 2016, 16:22
  2. ارور squid dead but pid file exists در squid
    توسط SV24.CO در انجمن اکانتینگ Accounting
    پاسخ ها: 2
    آخرين نوشته: March 14th, 2013, 04:00
  3. ارور squid dead but pid file exists در squid
    توسط SV24.CO در انجمن اکانتینگ Accounting
    پاسخ ها: 3
    آخرين نوشته: December 7th, 2012, 00:47
  4. کمپایل linux headers از روی linux source
    توسط _mahdi_ در انجمن اوبونتو,دبيان Ubuntu,Debian
    پاسخ ها: 0
    آخرين نوشته: July 28th, 2010, 15:11

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

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