1 step
squid installation
open terminal and type following command
#yum install squid -y
2 step
now edit and change main configuration file
#nano /etc/squid/squid.conf
# TRANSPARENT SQUID ON CENTOS 6.4
# Recommended minimum configuration:
#
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8
0.0.0.0/32 ::1
acl lan src 192.168.1.1/8 #******YOUR LOCAL LAN (NEW LINE)*****
# Example rule allowing access from
your local networks.
# Adapt to list your (internal) IP
networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8 # RFC1918
possible internal network
acl localnet src 172.16.0.0/12 #
RFC1918 possible internal network
acl localnet src 192.168.0.0/16 #
RFC1918 possible internal network
acl localnet src fc00::/7 # RFC
4193 local private network range
acl localnet src fe80::/10 # RFC
4291 link-local (directly plugged) machines
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 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
#
# Recommended minimum Access Permission
configuration:
#
# Only allow cachemgr access from
localhost
http_access allow manager localhost
http_access deny manager
# Deny requests to certain unsafe ports
http_access deny !Safe_ports
# Deny CONNECT to other than secure SSL
ports
http_access deny CONNECT !SSL_ports
# We strongly recommend the following
be uncommented to protect innocent
# web applications running on the proxy
server who think the only
# one who can access services on
"localhost" is a local user
#http_access deny to_localhost
# INSERT YOUR OWN RULE(S) HERE TO ALLOW
ACCESS FROM YOUR CLIENTS
#
# Example rule allowing access from
your local networks.
# Adapt localnet in the ACL section to
list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
http_access allow localhost
# And finally deny all other access to
this proxy
http_access deny all
http_access allow lan ############(ADD NEW LINE)#########
# Squid normally listens to port 3128
http_port 3128 transparent
# We recommend you to use at least the
following line.
hierarchy_stoplist cgi-bin ?
# Uncomment and adjust the following to
add a disk cache directory.
#cache_dir ufs /var/spool/squid 100 16
256
# Leave coredumps in the first cache
dir
coredump_dir /var/spool/squid
# Add any of your own refresh_pattern
entries above these.
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?)
0 0% 0f
refresh_pattern . 0 20% 4320
#visible_hostname localhost #######ADD NEW LINE#######
step 3
now, change firewall rule
type command
#iptables -I INPUT -s 192.168.8.14/8 -p
tcp --dport 4480 -j ACCEPT
#iptables -t nat -A PREROUTING -i eth1
-p tcp --dport 80 -j DNAT --to #192.168.8.14:4480
#iptables -t nat -A PREROUTING -i eth1
-p tcp --dport 80 -j REDIRECT --to-port 4480
#service iptables save
#service iptables restart
step 4
start squid service
command
#service squid restart
step5
You can monitor the access log to see it working.
# tail -f /var/log/squid/access.log
# tail -f /var/log/squid/access.log
Step 6
Now install SquidGuard.
# yum install squidGuard
Step 7
To do that you need to create a blacklists directory in the /var/squidGuard/ directory. Now, in the new blacklists directory use vim create and edit a text file named testdomains.
# cd /var/squidGuard
# mkdir blacklists
# cd blacklists
# vim testdomains
type in three lines of text to add some test-domains to block: yahoo.com
msn.com
whatever-you-want-to-block.com
save and exit.
Step 8
Now edit the squidGuard.conf file to configure it to work with the testdomains file. You may want to back up the squidGuard.conf file before making changes.
# cp /etc/squid/squidGuard.conf /etc/squid/squidGuard.conf.BAK
# vim /etc/squid/squidGuard.conf
In the config file, add the following text elements in red. Be careful in your edits, incorrect syntax will cause squidGuard to fail. The beginning of the text file has been omitted.
domainlist testdomains
redirect http://www.google.com
}
acl {
admin {
pass any
}
foo-clients within workhours {
# pass good !in-addr !adult any
} else {
pass any
}
bar-clients {
pass local none
}
default {
pass !test any
rewrite dmz
redirect http://www.google.com
}
}
8. Now compile the SquidGuard blacklists and chown the blacklists to be accessible by Squid.
# squidGuard -b -d -C all
# chown -R squid /var/squidGuard/blacklists
9. Edit the squid.conf file and then reload Squid.
# vim /etc/squid/squid.conf
add the following line to the squid.conf file around line 28:
url_rewrite_program /usr/bin/squidGuard
# service squid reload
or
# service squid restart
10. Now open the Firefox browser and test to see if your testdomains are successfully blocked, while every other domain is allowed.
# yum install squidGuard
Step 7
To do that you need to create a blacklists directory in the /var/squidGuard/ directory. Now, in the new blacklists directory use vim create and edit a text file named testdomains.
# cd /var/squidGuard
# mkdir blacklists
# cd blacklists
# vim testdomains
type in three lines of text to add some test-domains to block: yahoo.com
msn.com
whatever-you-want-to-block.com
save and exit.
Step 8
Now edit the squidGuard.conf file to configure it to work with the testdomains file. You may want to back up the squidGuard.conf file before making changes.
# cp /etc/squid/squidGuard.conf /etc/squid/squidGuard.conf.BAK
# vim /etc/squid/squidGuard.conf
In the config file, add the following text elements in red. Be careful in your edits, incorrect syntax will cause squidGuard to fail. The beginning of the text file has been omitted.
#dest adult {dest test {
# domainlist blacklists/porn/domains
# urllist blacklists/porn/urls
# expressionlist blacklists/porn/expressions
# redirect http://admin.foo.bar.de/cgi/blocked?clientaddr=%a+clientname=%n+clientuser=%i+clientgroup=%s+targetgroup=%t+url=%u #}
domainlist testdomains
redirect http://www.google.com
}
acl {
admin {
pass any
}
foo-clients within workhours {
# pass good !in-addr !adult any
} else {
pass any
}
bar-clients {
pass local none
}
default {
pass !test any
rewrite dmz
redirect http://www.google.com
}
}
8. Now compile the SquidGuard blacklists and chown the blacklists to be accessible by Squid.
# squidGuard -b -d -C all
# chown -R squid /var/squidGuard/blacklists
9. Edit the squid.conf file and then reload Squid.
# vim /etc/squid/squid.conf
add the following line to the squid.conf file around line 28:
url_rewrite_program /usr/bin/squidGuard
# service squid reload
or
# service squid restart
10. Now open the Firefox browser and test to see if your testdomains are successfully blocked, while every other domain is allowed.
Free Blacklists Suck!
ReplyDeleteWe specialize in serving intelligent network administrators high quality blacklists for effective, targeted inline web filtering leveraging Squid proxy. We are the worlds leading and ONLY publisher of blacklists tailored specifically for use with Squid Proxy Native ACL. We also publish the worlds LARGEST adult domain blacklist, as well, as the worlds first blasphemy blacklist. Our works are available in several alternative formats for compatibility with multiple other web filter platforms. There is a demand for a better blacklist. And with few alternatives available, we intend to fill that gap.
Squidblacklist.org Est. 2012. Owned and maintained by Benjamin E. Nichols & Co. It is an extension of the work I have been doing for years applying filters to my own networks with squid proxy and firewalls. Squidblacklist.org is platform whereby I hope to share the amalgamation of these works with the community, in the hopes that it will serve the greater good, helping to secure networks while providing a useful resource for individuals looking for a reasonable level of control of http traffic on their respective networks using a range of filtering solutions.
It would be our pleasure to serve you,
Signed,
Benjamin E. Nichols
http://www.squidblacklist.org