كارت dvb , كارت دي وي بي , دی وی بی , رسيور , رسیور
| |
اين يك بخش از موضوع نصب و پیکربندی Squid است كه در انجمن ساخت شبکه NetWork مطرح گرديده و اين انجمن نيز زير مجموعهي سخت افزار است: نصب و راه اندازی سرویس Squid یک پراکسی سرور یک سرویس کارآمد جهت شبکه شما یا شبکه شما با اینترنت است که امنیت بالاتری را جهت کاربران اینترنت فراهم می کند و هم چنین می تواند بعنوان یک کش سرور استفاده شود که باعث صرفه جویی در پهنای باند و ...
| ثبت نام | پست جدید | All Albums | Blogs | راهنما | فهرست کاربران | تقویم | جستجو | ارسالهاي امروز | نشانه گذاري انجمن ها به عنوان خوانده شده |
| | ||||||||
| اطلاع رسانی |
| اطلاعيههاي سايت |
|
| LinkBack | ابزارهای موضوع |
| | #1 | ||
| عضو ممتاز ![]() ![]() ![]() ![]() | نصب و راه اندازی سرویس Squid یک پراکسی سرور یک سرویس کارآمد جهت شبکه شما یا شبکه شما با اینترنت است که امنیت بالاتری را جهت کاربران اینترنت فراهم می کند و هم چنین می تواند بعنوان یک کش سرور استفاده شود که باعث صرفه جویی در پهنای باند و بالا رفتن سرعت اینترنت شما شود. Squid یکی از بسته های لینوکس میباشد که لینوکس را به عنوان یک پروکسی سرور یا همان کش سرور نتظیم میکند حالا میرویم Squid را نصب کنیم اگر داخل CD Linux قرار داشت این دستورات را در ترمینال لینوکس وارد میکنیم با کاربر ریشه وارد میشویم و بعد دستورات زیر را وارد میکنیم # mount /media/cdrom # rpm –ivh /media/cdrom/Fedora Core/RPMS/squid-*.rpm توجه کنید این مسیر بر حسب مثال بوده شما باید مسیر کامل را وارد کنید و بعد ار نصب این دستور را در ترمینال وارد میکنید umount /media/cdrom اگر شما RPM یا Pack Squid را نداشتید میتوانید Source برنامه را از سایت [تنها کاربرانی که ثبت نام و Login کرده باشند می توانند این قسمت را ببینند. براي ثبت نام كليك كنيد] دریافت نموده و آن را Compile کرده و استفاده نمایید موقعی که شما Source برنامه را دریافت میکنید این فایل یک فایل فشرده میباشد که باید ابتدا آن را Extract نمایید که با دستور زیر این کار را میکنیم # tar -zxf squid-2.5.STABLE4-src.tar.gz حالا فایل فشره باز شده و فولدر با نام فایل به وجود آمده داخل فولدر شده و عملیات Compile را شروع میکنیم # cd squid-2.5.STABLE4 # ./configure # make all # make install بعد از وارد کردن دستورات بالا Squid بر روی سیستم ما نصب شده و ما میخواهیم فایل squid.conf را پیکربندی کنیم تذکر: برای نصب Squid بهتر است همیشه RPM Squid را نصب کنیم. حالا بسته به نوع روش نصب ما squid.conf در مسیرهای مختلفی قرار میگیرد که ما با دستور locate squid.conf فایل squid.conf را پیدا میکنیم و میریم سراغ پیکربندی (در اینجا مسیر را /etc/squid/squid.conf در نظر میگیریم) فایل squid.conf دارای صد و بیست وپنح برچسب(Tag) جهت انجام تنظیمات است که ما در اینجا به همه آن ها اشاره نخواهیم داد و به اصلی ترین آن ها اشاره خواهیم نمود خود فایل squid.conf دارای توضیحاتی میباشد که میتوانید برای کمک از آنها هم استفاده نمایید. حالا فایل مورد نظر(squid.conf) را پیکربندی میکنیم http_port از این گزینه برای مشخص کردن پورت پروکسی استفاده میشود یا به عبارتی آدرس درگاهی را که squid از آن به درخواست های سرویسگیرندهها گوش می دهد که پیش فرض 3128 میباشد که ما میتوانیم از چندین پورت استفده کنیم اگر از پروکسی سرور به عنوان وب سرور نیز استفاده میشود پورت 80 را نیز قرار میدهیم و یا اگر سیستم شما چند IP دارد و میخواهید به یک رنج گوش دهد به این صورت عمل میکنید http_port 8080 3128 http_port 80 3128 http_port 45.58.69.8 3128 icp_port مخفف Internet Cache Portocol میباشد که از این برچسب موقعی استفاده میشود که بخواهیم چند کش سرور را به هم متصل نمایم تا از اطلاعات همدیگر استفاده نماین که پورت پیش فرض آن 3130 میباشد icp_port 3130 cache_peer Ip Or ProxyDomain parent 3128 3130 از این گزینه برای ارتباط با با کش سرورهای دیگر استفاده میشود که IP Or ProxyDomain کش سرور دیگر داده میشود Parent نوع کشینگ که سه حالت میباشد و پورت کش با پورت ICP که به شکل زیر استفاده میکنیم cache_peer 217.218.155.147 parent 3128 3130 cache_peer 214.215.155.14 sibling 3128 3130 که sibling فقط Object های کش شده را Share میکند hierarchy_stoplist این برچسب یکی از برچسب های مهم Squid میباشد که میگوید مثلا hierarchy_stoplist cgi-bin ? پوشه های cgi-bin کش به همراه? هر فایلی داخل این پوشه(cgi-bin) بود کش نشود که پیش فرض آن این است hierarchy_stoplist cgi-bin ? acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY این دو خط هم از برچسب های مهم Squid میباشند که برای این میباشد که پوشه cgi-bin و آدرس بعد این پوشه \? به هیچ وضح کش نشود no_cache پوشه cgi-bin فایلهای با پسوند *.cgi را دارد که این فایلها مانند سایت Dynamic میباشند و بهتر است هیچ وقت کش نشوند چون اطلاعات این فایلها همیشه تغییر میکند این آدرس داخل فایل squid.conf قرار ندهید این مثال از cgi-bin میباشد. [تنها کاربرانی که ثبت نام و Login کرده باشند می توانند این قسمت را ببینند. براي ثبت نام كليك كنيد] پیش فرض همین برچسبها خودشان میباشد acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY cache_mem مقدار حافظه ای که Squid برای عملیات خود در احتیاج دارد که بهتر است این مقداربسته به اندازه Ram شما بیشتر از 200-128 نباشد و از مقدار بر حسب MB میباشد cache_mem 64 MB maximum_object_size بیشترین حجم فایلی که Squid میتواند کش کند را مشخص میکند که اگر این حجم زیاد باشد کش سرور شما از لحاظ امنیتی دچار ضعف شده و هکرها به راحتی میتوانند با درخواست های سنگین سرور شما را از پا در بیارند و مقدار فایل را شما با KB یا MB میتوانید مشخص کنید سعی کنید حجم فایل بیشتر از 128 MB نباشد maximum_object_size 100 MB minimum_object_size کمترین حجم فایلی که Squid میتواند کش کند که سعی شود این را همیشه 0 KB بگذارید اگر Bit یا Byte گذاشته شود Squid اخطار میدهد و Run نخواهد شد minimum_object_size 0 KB cache_dir Type Directory-Name Fs-specific-data L1 L2 محل ذخیره objectهای Cache شده را مشخص میکند که Type مشخ کننده فرمت ذخیره شدن میباشد (Format Cache Dir) Directory-Name محل ذخیره شدن یا مسیر ذخیره کردن Object Fs حجم دادهها بر روی دیسک بر حسب (مگابایت) را مشخص می کند پارامترهای چهارم و پنجم تعداد زیر شاخه ها (اولین و دومین رده) برای ایجاد در این مسیر را مشخص میکنند. فرمت به ترتیب عبارتند از ufs فرمت قدیمی Squid میباشد aufs فرمت که بعد از ufs وارد شد diskd بهترین فرمت Squid که دارای 2 Option میباشد که از این مثال خواهم زد. cache_dir diskd /var/spool/squid 3000 32 128 Q1=64 Q2=72 Q1 وQ2 از Option فرمت diskd میباشد که پیش فرض 64 و72 میباشند cache_access_log cache_store_log cache_log این سه برچسب برای گرفتن Log از کارکرد Squid و اینکه کاربران به چه سایتی میروند و کدام Object در حال کش شدن میباشد که Log مقداری از حجم هارد دیسک شما را خواهد گرفت اگر هارد شما حجم کمی دارد بهتر است این Log ها را None کنید تا هارد شما فضای خالی داشته باشد برای none کردن به این شکل عمل میکنیم cache_access_log none cache_store_log none cache_log none و اگر هارد شما فضا زیاد دارد و میخواهید Log داشته باشید به این شکل عمل کنید cache_access_log /var/log/squid/access.log cache_store_log /var/log/squid/store.log cache_log /var/log/squid/cache.log که اگر این کار را انجام دهید احتیاج به یک برچسب دیگری به نام logfile_rotate دارید که این برچسب بر حسب روزی که مشخص میکنید Log فایلهای شما را فشره کرده تا حجمی که Log فایل میگیرد کم شود اگه این برچسب گذاشته نشود Squid شما بعد از مدتی به خاطر یاد شدن Log میخوابد و تا موقعی که Log ها را پاک نکرده Run نمیشود logfile_rotate 4 ftp_user برای انتقال فایلهای که از سور سرور FTP احتیاج به نام کاربر دارند مورد استفاده میشوند که شما میتوانید ایمیل خود را داده یا از کاربر میهمان anonymous استفاده نمایید ftp_user anonymous@ dns_nameservers Squid از DNS های که در فایل /etc/resolv.conf استفاده میکند شما با این برچسب میتوانید از DNS های دیگر استفاده نمایید dns_nameservers 192.9.9.3 4.2.2.2 auth_param از این ابزار برای احزار هویت کاربران استفاده میشود که پیش فرض آن چند خط میباشد auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive off که از لحاظ امنیتی باید 2 برچسب دیگر اضافه نماییم تا امنیت سرور بالا رود authenticate_ttl 1 hour authenticate_ip_ttl 2 seconds پارامتر authenticate_ttl تعریف کننده این مورد است که تا چه مدت زمان Squid اطلاعات Authenticate کلاینت را به خاطر بسپارد . این تنظیم در واقع کلاینت را وادار مینماید که تا بعد از یک دوره زمانی خود را دوباره Authenticate کند request_header_max_size این پارامتر در این رابطه استفاده میشود که تا مقدار سایز قابل پذیرش HTTP Header را محدود نماید . مقدار پیش فرض در اینجا ۱۰ کیلو بایت بوده که از مقدار منطقی بیشتر به نظر میرسد به این دلیل که سایز متوسط header ۵۱۲ بایت است در صورتی که سنگین ترین header ممکن است در حد کیلوبایت باشند. بیشتر حملات DoS نسبت به پراکسی سرورها اینگونه رخ میدهد که headerهایی برای آنها فرستاده شود که از مقداری که پراکسی سرور میتواند جوابگو باشد بیشتر باشد که شما میتوانید مقدار آن را تغییر دهید سعی منید بیشتر از 10 KB نباشد request_header_max_size 8 KB refresh_pattern این برچسب یکی از مهمترین برچسب های Squid میباشد که برای Refresh کردن سایتهابه کار برده میشود که موقعی که سایت به روز شد یا تغییراتی در آن اعمال شد و موقعی که کاربر آن سایت را درخواست کرد این برچسب سایت را مجددا سایت را بازبینی Refresh میکند اگر این برچسبها درست باشد موقعی که سایت در خواست شد سایت فورا سایت باز میشود حتی اگر به روز شده باشد نیز نشان داده میشود اگر اشتباه باشد در باز شدن سایت تاخیر به وجود می آید و یا اگر سایت به روز شده باشد چیزی نشان داده نمیشود. من چند خط اینجا قرار میدهم که درست میباشد و شما میتوانید از آنها استفاده نمایید refresh_pattern ^ftp: 1440 60% 10080 refresh_pattern ^gopher: 1440 20% 1440 refresh_pattern . 0 30% 4320 اینها هم Refresh_pattern های Microsoft که تغییراتی داده ام تا درست کار کنند refresh_pattern [تنها کاربرانی که ثبت نام و Login کرده باشند می توانند این قسمت را ببینند. براي ثبت نام كليك كنيد] 0 60% 20160 refresh_pattern [تنها کاربرانی که ثبت نام و Login کرده باشند می توانند این قسمت را ببینند. براي ثبت نام كليك كنيد] 0 60% 20160 refresh_pattern [تنها کاربرانی که ثبت نام و Login کرده باشند می توانند این قسمت را ببینند. براي ثبت نام كليك كنيد] 0 60% 20160 refresh_pattern [تنها کاربرانی که ثبت نام و Login کرده باشند می توانند این قسمت را ببینند. براي ثبت نام كليك كنيد] 0 60% 20160 refresh_pattern [تنها کاربرانی که ثبت نام و Login کرده باشند می توانند این قسمت را ببینند. براي ثبت نام كليك كنيد] 0 60% 20160 refresh_pattern [تنها کاربرانی که ثبت نام و Login کرده باشند می توانند این قسمت را ببینند. براي ثبت نام كليك كنيد] 0 60% 20160 refresh_pattern [تنها کاربرانی که ثبت نام و Login کرده باشند می توانند این قسمت را ببینند. براي ثبت نام كليك كنيد] 0 60% 20160 Time Out در این قسمت تعدادی برچسب وجود دارد که Time Out انها در اینجا تعیین میشود که میتوانید اینها را بدین شکل پیکربندی نمایید negative_ttl 5 minutes positive_dns_ttl 30 minutes negative_dns_ttl 1 minute connect_timeout 1 minute read_timeout 15 minutes request_timeout 5 minutes client_lifetime 14 hours pconn_timeout 120 seconds shutdown_lifetime 10 seconds که اینجا به توضیح دو برچسب میپردازیم که از لحاظ امنیتی مهم هستند برچسب client_lifetime بیشترین زمانی است که کلاینت میتواند به عنوان یک پروسه Squid قرار گرفته باشد. در واقع این تنظیم سرور شما را از باز بودن تعداد زیادی سوکت محافظت مینماید . بستگی به شرایط شما ممکن است 8 ساعت مناسب باشد در صورتی که پیش فرض آن 1 روز کمیزیاد به نظر میرسد. با بررسی در مورد وصل شدن کلاینتها میتوان زمان مناسب را تشخیص داد یک نفوذگر میتواند با استفاده از lifetime طولانی تعداد زیادی سوکت را باز نماید و این خود باعث نوعی حمله DoS میگردد. اما پارامتر pconn_timeout شبیه به client_lifetime میباشد با این تفاوت که فقط شامل ارتباط بیکار(Idle Connection) ها میگردد. acl مخفف Access Control List میباشد جهت کنترل دسترسی به Cache مورد استفاده قرار می گیرد. در کنترل دسترسی دو عنصر وجود دارد: کلاس ها و عملگرها کلاس ها: یک کلاس معمولا به مجموعه ای از کاربرها ارجاع داده میشود(IP Range) عملگرها: روی مجموعه ای از acl ها برای ICP و HTTP عمل می کند. یعنی شما می توانید مجموعه های مختلفی از پروتکل های مختلف داشته باشید. برای هر پروتکل یک acl_operator متفاوت وجود دارد. به عنوان مثال برچسب های icp_access و http_access و snmp_access برای رد نمودن ویروسهایی که از CMD برای انتقال اسفاده میکنند acl VIRCMD urlpath_regex winnt/system32/cmd.exe? http_access deny VIRCMD برای تعریف یک رنج IP acl mynet src 217.218.0.0/24 http_access allow mynet برای مسدود کردن سایتهای که حاوی کلمات خاصی هستند acl badurl url_regex –i sx http_access deny badurl برای مسدود کردن پورتهای که از کش سرور رد میشوند acl badports port 7 20 81 http_access deny badports اجازه دسترسی در زمان خاص(روز-ساعت) acl shab time 17:00-24:00 http_access allow shab به طور پیش فرض در Squid چند خط acl وجود دارد که میتوانید از آنها استفده نمایید acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl local src 192.168.0.0/24 acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost http_access allow local http_access deny all icp_access allow all که من این چند خط رو در این مقاله قرار دادم تا شما به راحتی بتوانید استفده متید تنها کافی است که شما Ip خود را در acl مربوط به local قرار دهید reply_body_max_size با استفاده از این برچسب میتوانید یک رنج را محدود به استفاده از اینترنت نمایید که بر حسب bytes میباشد acl net src 192.168.1.0/24 reply_body_max_size 800000000000 allow net cache_mgr اگر Squid از کار بیفتد، یک e-mail به آدرس مشخص شده با برچسب cache_mgr ارسال می شود. همچنین این آدرس به انتهای صفحه های خطایی که به کاربران ارسال میشود، اضافه می شود cache_mgr [تنها کاربرانی که ثبت نام و Login کرده باشند می توانند این قسمت را ببینند. براي ثبت نام كليك كنيد] cache_effective_user cache_effective_group Squid اگر به عنوان root شروع شود، تنها می تواند به پورت های شماره پایین (مثل پورت80 ) بچسبد. در ضمن از لحاظ امنیتی هم صحیح نیست که پروسهای به عنوان root در حال اجرا باشد. Squid به محض چسبیدن به پورت شبکه ID های گروه و کاربر را تغیر می دهد. این ID ها را به صورت زیر مشخص می کنیم cache_effective_user squid cache_effective_group squid visible_hostname برای پروکسی سرور یک نام مشخص میکنیم visible_hostname CacheServer httpd_accel_host اگر ما بخواهیم از Squid برای پروکسی استفاده کنیم باید این برچسب را در squid.conf گذاشته این برچسب به این معنی است که پروکسی برای کجا استفده میشود که پیش فرض آن virtual میباشد که همه کس از هر جای دنیا میتوانند استفاده کنند یا میتوانید IP بدهید تا فقط یک رنج بتواند به عنوان پروکسی استفده کنید httpd_accel_host virtual httpd_accel_host 217.218.155.140 httpd_accel_port مشخص کننده این است که به چه پورتهایی جواب بدهم که پیش فرض آن 80 میباشد httpd_accel_port 80 httpd_accel_with_proxy مشخص کننده این است که آیا به عنوان پروکسی سرور در شبکه عمل کنم یا نه اگر پهنای باند شما کم میباشد بهتر است این گزینه را off کنید زیرا که اگر on باشد همه میتوانند از پروکسی سرور شما استفاده نمایند httpd_accel_with_proxy off httpd_accel_uses_host_header این برچسب کنترل کننده کاربرانی هست که از پروکسی سرور شما استفاده میکنند که همیشه این برچسب باید on باشد httpd_accel_uses_host_header on این 4 برچسب همیشه باید در squid.conf باشد تا بتوان کش سرور را run کرد در این مقاله سعی کردم تا شما عزیزان را با Squid و نحوه پیکربندی این فایل آشنا کنم امیدوارم که توانسته باشم به هدف خود رسیده باشم. با تشکر از دوستان عزیزم ایرج هدایتی ، میثم حیدرلو ، محسن سعیدی
__________________ Best Regards Arman Tashakkor راه اندازی شبکه های کامپیوتری راه اندازی سیستم های آموزشی مدارس با نرم افزار های کاملاً اختصاصی | ||
| |
| The Following User Says Thank You to atn_1366 For This Useful Post: | jj2007 (Thursday 25 January 2007)
|
|
تبليغات
| |
تمامي قوانين اين سايت از جمهوري اسلامي ايران پيروي مي کند و هرگونه مطالب مخالف قوانين ايران و بنر يا لينک مستهجن در اين سايت جايي ندارد