csdn悲剧了。。600w用户资料泄漏,包括明文密码

2011年12月21日 互联网, 开发 没有评论 | 96 views

最新0day:

CSDN社区网站被入侵,近600w用户账号密码被泄露,黑客将连接公布到互联网,导致任何人可以获得该数据, 经严重数据真实有效。该事件可能对各大互联网公司包括新浪微博,企业安全等造成严重威胁,严重建议用户修改账号密码,禁止企业用户使用内部办公邮箱在外部 注册以及各处使用同一密码。

注:上面驱动之家的新闻链接 http://news.mydrivers.com/1/212/212703.htm 下午16点15分,这篇稿子已经被删了,csdn动作还是很快。就看360厚道不厚道了。

csdn居然存明文密码,太2了。有哥们已经拿到库了,拜托他帮忙搜了一下,没我的帐号。公司里找了4个人,有一个不幸在里面。

360安全卫士的新浪微博:

 

估计600w只是一部分,赶紧改密码吧!

KindEditor:在线Html编辑器的另一选择

2011年10月5日 开发 1 条评论 | 192 views

今天发现了一个不错的Html编辑器 KindEditor,替换了一个项目原先使用的FCKEditor.

目前主流的在线编辑器是FCKEditor/CKEditor/TinyMCE,FCKEditor比较陈旧,界面丑陋,图片上传也不好用,CKEditor是FCKEditor的升级版,比较庞大,加载时间长,并且不带图片上传,图片上传需要集成另外一个CKFinder
TinyMCE不熟(虽然现在写这篇blog正在用的就是TinyMCE)

KindEditor 目前版本4.0,可以免费下载使用
官网:http://www.kindsoft.net
在线演示:http://www.kindsoft.net/demo.php

基于nginx的pop3/imap/smtp的反向代理解决方案

2011年8月31日 未分类 3 条评论 | 569 views

本文介绍基于nginx的邮局反向代理配置方案。nginx对来源于客户端的pop3/smtp/imap请求予以转发到后端postfix,后端邮件服务器采用postfix 2.8.0,已配置并正常运行。

本方案参考 Using a php script on apache server as the auth backend ,并基于此方案进行改进,并增加了对smtp的代理。

环境配置:centos 5.5 + nginx 1.0.4

软件安装

yum groupinstall 'Development Tools' -y
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
yum install libxml2-devel libxslt-devel pcre-devel libtool-ltdl libtool-ltdl-devel

cd /usr/src
wget http://nginx.org/download/nginx-1.0.4.tar.gz
tar -zxf nginx-1.0.4.tar.gz
cd nginx-1.0.4
./configure –prefix=/usr/local/nginx –with-mail –without-http
make && make install

配置nginx.conf

#user  nobody;
worker_processes  1;
error_log  logs/error.log  info;
events {
    worker_connections  1024;
}
mail {
    auth_http  指定IP:80/auth.php;
    pop3_capabilities  "TOP"  "USER";
    imap_capabilities  "IMAP4rev1"  "UIDPLUS";
   
    server {
            listen     110;
            protocol   pop3;
            proxy      on;
    }
    server {
            listen     143;
            protocol   imap;
            proxy      on;
    }
    server {
        listen    25;
        protocol    smtp;
        proxy    on;
        smtp_auth login plain;
        xclient    off;
    }
}

说明:
1.安装nginx时禁掉了http(–without-http),因为我们的目标只是转发pop3/smtp/imap请求,故nginx.conf也是相当简单,只有mail模块。如果还需要代理80端口(例如webmail),可以自行编译对http的支持。

2.smtp的配置模块里必须加入xclient off,否则当nginx向后转发smtp请求时,postfix将报“lost connection after XCLIENT”,同时nginx报“550 5.7.0 Error: insufficient authorization”. nginx对smtp的代理,与pop3/imap是不同的,详细见后文。

3.指定IP是用于认证的,需要放认证脚本auth.php. 认证脚本的作用就是验证用户和密码,一般自定义,可以放在任意的服务器上。本方案中选择放在后端邮件服务器上,便于管理。

这里有一个问题,postfix本身已经集成了认证机制(本人采用的是cyrus sasl2+courier-authlib),为什么加了反向代理,认证过程就要移动到反向代理上呢?这样岂不是就变成非透明代理了吗?为什么不作纯碎的透明代理呢?
根据测试,如果这个认证脚本不设验证,直接透传所有pop3/imap请求到后端,在后端邮件服务器还会进行一次认证,但是对于smtp请求,将不再认证,而直接按照转发规则进行转发(因为反向代理的ip加到了postfix的mynetworks中,见后文)。这两种不同的差异应该是跟协议有关。
为了保持统一,在本文的方案中,auth.php集成了pop3/imap/smtp的三种认证。这样的功能架构类似于游戏服务器的,登录服务器和游戏服务器是分开的。

4.在邮件服务器postfix/etc/main.cf中,修改mynetworks值,加入本反向代理的ip,并重载postfix:postfix -s reload

关于xclient:xclient的作用,是将前端的服务器模拟作为一个邮件客户端,而向后端的postfix进行认证和执行发送,但是postfix还需要一个打patch才能完美支持xclient。
关于此问题的讨论可以参见 http://forum.nginx.org/read.php?2,173197,173246#msg-173246

auth.php:

<?php
/**
* @see xiabaibai.net
*/
if(!isset($_SERVER ["HTTP_AUTH_USER"] ) || ! isset($_SERVER ["HTTP_AUTH_PASS"] )) {
    fail(0);
}
$username = $_SERVER ["HTTP_AUTH_USER"];
$userpass = $_SERVER ["HTTP_AUTH_PASS"];
$protocol = $_SERVER ["HTTP_AUTH_PROTOCOL"];

$backend_port = 110;
if($protocol == "imap") {
    $backend_port = 143;
} elseif ($protocol == "smtp") {
    $backend_port = 25;
}

list($uid, $domain) = explode("@", $username);

$auth = authuser($username, $userpass);
if(!$auth) fail (-2);

pass($_SERVER["SERVER_ADDR"], $backend_port);

//自定义认证,sql查询或者api
function authuser($user, $pass) {
    return true;
}

function fail($code) {
    switch($code){
        case 0: header("Auth-Status: Parameter lost"); break;
        case -1: header("Auth-Status: No Back-end Server"); break;
        case -2: header("Auth-Status: Invalid login or password" ); break;
    }
    exit();
}

function pass($server, $port) {
    header("Auth-Status: OK" );
    header("Auth-Server: $server" );
    header("Auth-Port: $port" );
    exit();
}
 
?>

win7下安装ESET NOD32 Antivirus RC 5(精睿汉化) 后导致无法进入桌面

2011年8月25日 软件 没有评论 | 312 views

飞影的故事

2011年7月11日 生活娱乐 1 条评论 | 339 views

maildroprc 自动创建邮箱文件夹并订阅

2011年6月20日 开发 没有评论 | 281 views

postfix实践记录

2011年6月9日 开发 没有评论 | 330 views

php cli模式执行脚本,报Extension ‘**.php’ not present.的问题解决办法

2011年6月2日 开发 没有评论 | 437 views

24完结

2010年5月25日 未分类 5 条评论 | 1,130 views

BMW之悦广告欣赏:缔造乐趣 分享感动

2010年4月22日 未分类 没有评论 | 994 views