Squid(Proxy)----代理服务器
proxy的意思就是代理软件或代理服务器,接受用户的请求后,在internet读取的网页数据保存在硬盘上,
在将数据传给用户,当其他用户也需要同一份数据的时候,proxy server就可以直接从硬盘将数据传给
用户,减少数据的获取

默认端口为3128,建议修改,尽量较少人使用的端口,这样扫描到的几率低,降低使用效率和带宽
vim /etc/squid/squid.conf

配置防火墙: -A INPUT -m state --state NEW -m tcp -p tcp --dport 3128 -j ACCEPT 
重启生效
配置squid缓存目录:
    cache缓存目录可以等价与squid的硬盘:用户访问同一个页面,如果squid代理服务器发现网页有更新
        会自动下载新的数据,在给用户
    开启squid缓存目录,cache_dir 默认不启动被注释掉,
                        cache_dir ufs /var/spool/squid 100 16 256    
                        默认 100M  第一层子目录最多16个,第一层子目录下最多256个子目录

    清除cache缓存目录:        停止squid服务。
                            删除cache缓存目录,/var/spool/squid 
                            新建cache缓存目录。mkdir /var/spool/squid 
                            修改文件属性。其他人也能写chown  squid  /var/spool/squid 
                            mysql -z 重新加载

    配置squid链接限制:    有效的管理链接限制,使squid代理服务器的效率及带宽达到有效利用
        限制某一网段:
                    按照配置文件/etc/squid/squid.conf 里面的ACL语法配置
                    acl  quanwindow src 192.168.31.100-192.168.31.200/24
                    http_access deny quanwindow
                            注意: quanwindow是自定义的,上下一定要一致
                    重启生效 

        限制某ip地址无法链接:
                    acl  quanip src 192.168.31.71/24
                    http_access deny quanip 

        限制读取指定网址:   限制用户不可访问的特定网站,其他网站都可以正常链接
                    acl baidu dstdomain .baidu.com 
                    http_access deny baidu 

        配置禁止网站清单:
                    用文件清单去限制用户不可访问的网络清单
                    acl wwwdeny url_regex "/etc/squid/deny.txt"
                    http_access deny wwwdeny 
                    建立限制清单:echo ".baidu.comm " >/etc/squid/deny.txt 
                                  echo ".bsblog.com " >>/etc/squid/deny.txt 

        限制用户链接时间:,在规定的时间范围内链接不到的特定网址,其他时间正常链接
                            特定的网zhi
                    acl timedeny time  W  22:00-23:00
                    http_access deny timedeny 

                    其中星期的代码为1-7   :  M T W H F A S 

    使用ncsa-auth认证: 网络上有很多的proxy list网站,专门收集对外服务的proxy服务器。每天都会更新
                        都是扫描3128端口或80,一旦proxy服务器被公开,会拖慢网络速度,容易当成跳板
                        所以建议加一层帐户认证和密码保护
                                一种是LDAP认证
                                一种是使用htpasswd 建立认证账号和密码
                                    htpasswd -c /etc/squid/passwd quan
                                    chmod o+r /etc/squid/passwd  配置为所有人都可读
                                    查看nsca_auth认证服务:
                                    rpm -ql squid |grep ncsa_auth  //检查nsca_auth 目录位置
                                配置squid认证使用nsca_auth 
(认证方式及账号密码位置)auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/passwd 
                        auth_param basic children 5     //5个程序来验证
                        auth_param basic realm  Welcom to quan  //登录时的欢迎词

                        acl squid_user proxy_auth REQUIRED
                        http_access allow squid_user

                        注意:auth_param 必须在acl前面添加且在最前面
                            要安装apache服务
    SARG监控squid代理服务器:squid Analysis Report Generator
                产生报表可以让我们轻松的掌握squid代理服务器使用寂记录
                注意:安装sarg软件之前,要安装apache网页服务器。因为sarg是以网页的形式呈现
                        需要GD软件
        编辑配置文件/etc/httpd/conf.d下的sarg.conf
            其中的意思为 Deny from all 限制所有网段不可连
                         Allow from all
                         Allow from 127.0.0.1  //只允许本机ipv4连接
                         Allow from  ::1  允许本机ipv6连接  
                        重启Apache服务生效 
        根据sarg可根据日,周,月报表手机squid代理服务器的数据,建议自行加入计划任务以便
            每天完成:
                一次:sarg -o /var/www/sarg/ONE-SHOT
            日:sarg -o /var/www/sarg/daily
            周:sarg -o /var/www/sarg/weekly
            月:sarg -o /var/www/sarg/monthly

    Dansguardian过滤网站:免费的proxy filter,限制Client端不应该访问的网页
                            可以过滤指定的URL和IP ,指定那些文件不可以下载,
        安装完成之后必须做一些proxy服务器之间的配置
        vim /etc/dansguardian/dansguardian.conf
        languagedir = '/etc/dansguardian/languages'

        # language to use from languagedir.
        language = 'chinesegb2312' 修改为简体中文。chinesegb2312
        filterport=8080  Dansguardian默认的端口为8080
        注意:如果Dansguardian和proxy服务器是在同一天主机则无需修改proxyip
                如果在另一台主机上则必须配置该主机IP
                如果使用简体中文,必须修改forcequicksearch设置为on 默认为off
        配置防火墙: -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
        启动dansguardian即可 service dansguardian start

        配置客户端,将原本使用的squid代理服务器的端口给为8080即可

        加入禁止网址:bannedsitelist 禁止网站清单
            vim /etc/dansguardian/bannedsitelist 
            加入baidu.com
        加入禁止的关键字: bannedphraselist
            vim /etc/dansguardian/bannedphraselist
            加入 
        禁止下载的文件类型:bannedextensionlist
            vim /etc/dansguardian/bannedphraselist
            加入 .exe