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