با اسکویید و تعریف 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/