منبع اصلی نوشتار زیر در این لینک قرار دارد

بلاک کردن پورت خاص توسط اسکویید

با اسکویید و تعریف ACL از نوع port می توان شماره پورتی یا پورت هایی را بلاک کرد. همچنین می توان پورت(ها) را برای یک یا چند کاربر خاص بلاک کرد. بلاک کردن شماره پورت از طریق iptables نیز امکان پذیر است. فایل squid.conf را با ویرایشگر دلخواه (vi,nano یا در محیط های گرافیگی gedit,kedit) باز کنید. سپس ACL از نوع port را که مقدارش برابر با شماره پورت(ها) است تعریف می کنیم.

vi /etc/squid/squid.conf

block_port از نوع port است که یک مقدار عددی (شماره پورت) را گرفته. در دومین خط زیر پورت مشخص شده در block_port را توسط سیاست http_access deny بلاک کرده ایم و در سومین خط توسط سیاست http_access allow کلیه ترافیک شبکه (مانند درخواست وب بر روی پورت های 80 و 443) را باز می کنیم.

acl block_port port 1234

http_access deny block_port

http_access allow all

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

acl allowed_ports port 80 443 1025-65535

http_access allow allowed_ports

در نخستین خط بالا یک ACL تعریف کردیم که پورت های 80 و 443 و محدود پورت های 1025 تا 65535 را تعیین کرده و توسط خط پایینی و اعمال سیاست http_access allow آنها را بعنوان پورت های معتبر تعین می کند. همچنین در فایل squid.conf در نسخه 3، بصورت پیش فرض توسط ACL های زیر پورت های 443 (برای SSL) و پورت های معروف و پرکاربرد دیگر مانند http,ftp و غیره را تحت دو ACL به نام های SSL_ports و Safe_ports مشخص شده اند :

acl SSL_ports port 443

acl Safe_ports port 80 # http

acl Safe_ports port 21 # ftp

acl Safe_ports port 443 # https

acl Safe_ports port 70 # gopher

acl Safe_ports port 210 # wais

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 Safe_ports port 1025-65535 # unregistered ports

نخستین خط دستورهای بالا یک ACL به نام SSL_ports و بقیه خط ها، تنها یک ACL به نام Safe_ports تعریف کرده که مقادیر مختلفی گرفته است. سپس با دستور زیر تمامی پورت ها به جز پورت هایی که با Safe_ports مشخص شده اند را deny می کند. دستور زیر توسط ! پیش از نام Safe_ports این مفهوم است که همه به جز آنهایی که با Safe_ports مشخص شده اند باید deny شوند.

http_access deny !Safe_ports

اگر می خواهید پورتی را برای کلاینی خاص بلاک کنید بصورت زیر عمل کنید :

acl block_port port 80 443

acl no_block_port_ip src 192.168.1.0/24

acl no_block_port_ip src 192.168.2.5/24

http_access deny block_port !no_block_port_ip

http_access allow all

خطوط بالا دو پورت را مشخص می کنند، با ACL به نام no_block_port محدوده کل شبکه 192.168.1.0/24 و یک کلاینت به آدرس 192.168.2.5 را تعیین می کنیم. توسط سومین خط و اعمال سیاست http_access deny تمامی کلاینت های دیگر به جز آنهایی که در no_block_port مشخص شده اند را، بلاک می کنیم. این به خاطر علامت ! پیش از no_bloack_ip است. خط چهارم نیز برای بقیه ترافیک شبکه را باز می گذارد.

پس از اعمال تغییرات با استفاده از یکی از دستور های زیر اسکویید را راه اندازی مجدد کنید :

etc/squid/squid.conf restart/

OR

etc/squid/squid.conf reload/



برچسب ها :