用 CentOS 6 快速配置一台企业级 Web 代理服务器

  Web代理服务器让企业员工可以快速安全地浏览网络。Web代理服务器可以缓存内存,让68idc.cn/help/mysqldata/mysql/20140818124409.html”>用户之后对相同网页的请求由本地缓存来处理,这比多次返回网 站来得更快速。代理服务器还能扫描入站网络流量,查找有无恶意内容,并且保护最终68idc.cn/help/mysqldata/mysql/20140818124409.html”>用户远离病毒;它们还可以控制哪些用户访问什么样的网络内容。为了充分利 用所有这些功能,本文逐步介绍安装和配置一台简单Web代理服务器(带病毒过滤功能)的整个过程。

  一个完美的安全Web代理服务器包括下列组件:

安装配置

  我们将在基本的CentOS 6平台上运行代理服务器,该平台上没有预先安装任何软件包组。如果是最基本的安装,你可以使用来自官方镜像页面的最小镜像。一旦我们安装了操作系统,就可以安装代理服务器的各组件。

  镜像下载:?id=30

Squid

  Squid可以从官方的CentOS 6软件库获得。只要执行yum install squid,即可安装它。确保Squid随系统自动开启和关闭,为此借助命令chkconfig squid on,把它添加到默认的系统启动和关闭级别。

  默认情况下,Squid的主配置文件/etc/squid/squid.conf允许通过常见端口的来自本地网站的请求。去掉cache_dir ufs /var/spool/squid 100 16 256这一行的注释,那样代理服务器将文件缓存在磁盘上。这个命令的参数指示代理服务器使用默认的ufs存储格式。缓存目录是/var/spool /squid,它应该可以存储最多100MB的内容,16个一级子目录和256个次级子目录。考虑将缓存大小从100MB增加到1000MB,因为 100MB太低了,满足不了如今的浏览需求。

  在同一个文件中,在默认配置信息后面,添加下列几个命令:

icap_enable onicap_send_client_ip onicap_send_client_username onicap_client_username_encode officap_client_username_header X-Authenticated-Usericap_preview_enable onicap_preview_size 2048icap_service service_req reqmod_precache bypass=1 icap://127.0.0.1:1344/squidclamavadaptation_access service_req allow allicap_service service_resp respmod_precache bypass=1 icap://127.0.0.1:1344/squidclamavadaptation_access service_resp allow all

  这个基本配置指示Squid使用在本地主机上运行的SquidClamav ICAP服务,本地主机使用TCP端口1344。对非缓存内容而言,需要使用这项服务。你可以从官方的Squid说明文档,找到关于所有配置命令的更多信息。

ClamAV

  ClamAV并不存在于默认的CentOS 6软件库中,所以你要么从源代码安装,要么使用第三方软件库。我建议使用EPEL软件库,因为它让用户易于安装和维护。

  要将EPEL软件库安装到CentOS 6上,请运行命令rpm -ivh 6-5.noarch.rpm。之后,要安装ClamAV,请执行yum install clamav clamav-db clamd。由于这是从EPEL软件库首次安装,你会看到关于其密钥的提醒;确认密钥正确后才能继续下一步。

  执行chkconfig clamd on,确保ClamAV后台守护进程clamd自动启动和终止。

  你可以设置最基本的ClamAV配置,只需编辑文件/etc/clamd.conf。你得至少移除显示Example的那一行,,那样该服务就能启 动。你可能还考虑更改一些命令的默认值。比如说,可以定义使用ScanPE、ScanELF和ScanPDF来扫描哪些文件扩展名。为了提升性能,可以将 待扫描文件的默认最大值(MaxFileSize)由25MB改成其他值,或者更改每个文件的多少数据有待扫描(MaxScanSize)——100MB 是默认值。值越大,所需的资源就越多,代理服务器的速度也就越慢。

  ClamAV病毒特征数据库由一个名为freshclam的独立程序来更新。其配置文件是/etc/freshclam.conf。为了使用它,你同样得至少移除文件开头部分显示Example的那一行。大多数设置不用管,保持默认值就可以了。

  如果你执行没有参数的freshclam,病毒特征更新一次,程序退出。你可以将freshclam配置成一项计划任务(cron job),定期检查ClamAV更新版,或者可以在后台守护模式下启用它,只需运行freshclam -d -c 2,其中-d指明了后台守护模式,-c 2指明了每天更新几次——这个例子中每天两次。把这个命令添加到/etc/rc.local文件中,就可以确保下一次服务器重启时,它会启用。

  在/etc/freshclam.conf中可能需要更改的一项值得关注的设置是SafeBrowsing,它在默认情况下被设置成关闭。这个设置 指定了你是不是想使用谷歌的Safe Browsing(安全浏览)数据库,该数据库里面含有一份更新后的列表,收录了已知的恶意网站。你应该启用它,对性能只有一点影响,除非贵企业的最终用 户在使用已经采用该数据库的浏览器,比如Mozilla Firefox和谷歌Chrome。你只要指定SafeBrowsing yes,就可以开启它。

C-icap

  C-icap并不存在于默认的软件库或EPEL中,所以你得从其网站的源代码安装,对其进行解压缩,然后完成标准的配置、编译和安装这个过程。

  由于C-icap是从源代码自定义安装,并不得到chkconfig的支持。因而,为了让C-icap服务器在系统启动时自动开启,就用新的一行,将其二进制可执行代码/usr/local/bin/c-icap添加到底部的/etc/rc.local。

  你可以找到默认情况下在/usr/local/etc/c-icap.conf的C-icap配置文件。大多数默认选项不用管它。指定 ServerLog /var/log/icapserver.log,将服务器的活动记录到文件/var/log/icapserver.log中;我们以后要用到服务器的 日志,确保一切都在正常运行。

  你在检查配置时,要注意ModulesDir和ServicesDir这两个命令。默认情况下,两者都指向/usr/local/lib/c_icap。这个目录是你安装ICAP服务和模块(如SquidClamav)的地方。

SquidClamav

  你得从源代码安装SquidClamav,原因与C-icap一样。一旦你从其SourceForge网页下载它,对其进行解压缩,然后完成标准的配置、编译和安装这个过程。

  为了确保SquidClamav正确安装,要检查目录/usr/local/lib/c_icap。你应该会看到两个文件:squidclamav.la(libtool 库文件)和squidclamav.so(模块本身)。

  SquidClamav并不作为一项独立的服务来运行,所以没必要把它添加到默认的运行级别来实现自动启动。相反,它是通过C-icap服务器来访问的。

  SquidClamav的配置文件位于/etc/squidclamav.conf。这里,默认配置的大部分选项直接可以拿来用。要更改的其中一个 选项是redirect。最终用户试图下载病毒时,他们会被重定向至你在这里指定的URL。创建详细描述的一个页面,否则你这个管理员会接到大量投诉,反 映下载的内容莫名其妙地无法运行。

  为了创建重定向页面,可以使用脚本cgi-bin/clwarn.cgi,你可以在SqidClamav的源代码归档文件中找到它。只要将它上传至网站,指定redirect example.org/cgi-bin/clwarn.cgi即可。

测试代理服务器

  至此,你的代理服务器应该已安装完毕、合理配置。为了确保所有服务自动开启,重启服务器,然后开始测试。

  你开始测试时,确保可以通过TCP端口3128这个默认代理端口,连接到服务器的IP地址。你必须在默认的CentOS 6防火墙中允许连接到这个端口,除非按基本CentOS 6安装中建议的那样禁用了防火墙。

君子当权积福,小人仗势欺人。

用 CentOS 6 快速配置一台企业级 Web 代理服务器

相关文章:

你感兴趣的文章:

标签云: