海运的博客

Mysql错误 Lost connection to MySQL server at 'reading initial communication packet

发布时间:April 12, 2012 // 分类:数据库 // No Comments

一客户网站连接Mysql出现以下错误:

 Lost connection to MySQL server at 'reading initial communication packet', system error: 0

解决方法,关闭DNS反查,修改Mysql配置文件,添加以下参数并重启Mysql服务。

skip-name-resolve

Nginx设置目录密码验证/限制特定IP访问

发布时间:April 8, 2012 // 分类:Nginx,网络安全 // No Comments

网络安全无处不在,使用Nginx为您的网站后台加把锁吧。
验证界面如:
2012-04-08_071422.png
1.Nginx兼容于Apache下htpasswd生成的密钥,不过Nginx下无此工具,可以使用crypt生成密码。

perl -e 'print crypt($ARGV[0], "pwdsalt")' password ;echo ""#password请更改为您的密码

结果即加密后的密码,新建密钥配置谁的将用户密码以以下方式添加。

user:passwd

编辑Nginx配置文件

location ^~ /admin/ {        #特定目录
location ~ .*\.(php|php5)?$ {
allow 192.168.1.16; #允许IP
deny all; #拒绝所有
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
auth_basic "Login";
auth_basic_user_file /passwdfile;
}

Apache服务器安全设置

发布时间:April 7, 2012 // 分类:Apache,网络安全 // No Comments

Apache是世界上占用率最大的web服务器软件,以安装、稳定而著称,默认安装后有一些限制较为宽松,可进一步设置加固其安全。
1.隐藏版本信息:

ServerSignature off #不输出任何页脚信息
ServerTokens prod #不输出apache版本信息

2.以低权限用户运行:

User nobody
Group nobody

3.网站目录设定:

<Directory "/var/www/html">
#Options Indexes FollowSymLinks #取消目录浏览,链接到其它目录
AllowOverride None  #禁止htaccess
php_admin_value open_basedir /var/www/html/ #限制活动目录,防止跨站,多个目录以:相隔
Order allow,deny
Allow from all
</Directory>

4.隐藏php版本,编辑php配置文件php.ini,添加或修改:

expose_php Off

Centos下yum安装配置OpenVPN服务器

发布时间:April 7, 2012 // 分类:VPN // 12 Comments

OpenVPN是一款开源的VPN软件,使用ssl加密交换数据,数据比较安全,可使用TCP/UDP协议,自定义端口,不易被ISP控制,是替代PPTPD很好的选择。
Centos官方源无OpenVPN软件,可先安装EPEL源
安装:

rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
yum install openvpn

配置:

cp -R /usr/share/openvpn/easy-rsa/ /etc/openvpn/ #也有可能是下面的目录
#cp -R /usr/share/doc/openvpn-*/easy-rsa /etc/openvpn
#最新版本不包含easy-ras,需独立下载
#wget https://github.com/OpenVPN/easy-rsa/releases/download/2.2.2/EasyRSA-2.2.2.tgz
cd /etc/openvpn/easy-rsa/2.0
chmod +x ./*
source ./vars 此文件内变量可编辑,默认即可

生成密钥,默认回车即可。

./clean-all #清除所有生成的证书
./build-ca server #生成CA证书
./build-key-server server #生成服务器证书
./build-key client1 #生成客户端证书,多个请多次执行
#./build-key client2
./build-dh #生成Diffie Hellman参数
openvpn --genkey --secret ta.key #使用tls-auth防攻击,可选

编辑服务端配置文件:

vim /etc/openvpn/server.conf  #添加以下内容
port 1194 #默认监听端口,可修改
proto udp #默认udp协议,网络状况不好可选tcp
dev tun
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
tls-auth /etc/openvpn/easy-rsa/2.0/keys/ta.key 0
server 10.8.0.0 255.255.255.0 #客户端分配IP
client-to-client #允许客户端与客户端进行通信
keepalive 10 120 #每10秒询问在线,120秒无回应重新连接
#ping 10
#ping-restart 120 #类似于keepalive
comp-lzo
user nobody
group nogroup
#client-cert-not-required #使用密码验证
#auth-user-pass-verify /etc/openvpn/checkpsw.sh via-env #使用文件内密码验证
#script-security 3 system #配合上面,允许文件内密码验证
#plugin /usr/lib/openvpn/openvpn-auth-pam.so login #使用系统用户验证
ifconfig-pool-persist ipp.txt #记录分配的IP
client-config-dir /etc/openvpn/client #针对特定用户的配置文件目录
persist-key #重新连接时不重新读取key
persist-tun #同上,不重新启用tun设备
status /var/log/openvpn-status.log
log   /var/log/openvpn.log
verb 4
duplicate-cn #一个证书可多次登录
push "dhcp-option DNS 10.8.0.1" #同步DNS
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

打包并下载密钥

tar zcvf keys.tar.gz keys/

启动OpenVpn并开启内核转发:

service openvpn start #启动openvpn服务
chkconfig openvpn on #设置openvpn开机启动
echo 1 > /proc/sys/net/ipv4/ip_forward #启用转发
echo "echo 1 > /proc/sys/net/ipv4/ip_forward " >/etc/rc.local #加入启动项,也可修改sysctl

开启NAT路由:

iptables -t nat -A POSTROUTING  -o eth0 -j MASQUERADE
service iptalbes save #保存规则

到此服务端安装配置完成,然后安装配置Windows OpenVPN客户端
安装后将下载的密钥复制到安装目录config下,并新建配置文件client.ovpn,内容如下:

client 
dev tun 
proto udp
remote ip port #IP和端口请自定义填写
persist-key 
persist-tun 
ca ca.crt 
cert client1.crt 
key client1.key 
tls-auth ta.key 1
ns-cert-type server 
comp-lzo 
verb 3 
redirect-gateway def1 #设置为默认路由
script-security 2 system #允许使用系统命令添加路由
#route-method exe #同上,老版本使用
#route-delay 2

Ok,漫长的过程终于结束了,畅销您的安全互联网之旅吧。

Nginx图片/文件防盗链配置

发布时间:April 7, 2012 // 分类:Nginx // No Comments

Nginx可根据浏览器请求的Referer防盗链,限制非本站的页面链接请求,更严格的限制可使用防盗链模块nginx-accesskey,可防止迅雷盗链。
编辑Nginx配置文件,在Server段加入以下内容:

location ~* \.(jpg|gif|png)$ {      #限制的文件类型                                                                                                
valid_referers none blocked *.www.haiyun.me www.haiyun.me; #定义允许的域名
if ($invalid_referer) {   #如果请求非允许
#rewrite ^/ http://www.haiyun.me/error.png; #定向到指定图片
       return 403; #返回403
    }
  }
分类
最新文章
最近回复
  • track: NAT 部分没处理,这块感觉有问题。
  • yu: 查到有用的资料很幸福!
  • boscotsang: 请问下服务器端如何控制权限让通过权限认证的客户端才能连接?现在这样只要有自编译的客户端程序都可...
  • yck932: 大侠,请问哪里有 tunnels 详细参考资料,谢谢
  • bubble: 现在linux 4.9以上的内核有个bbr的参数,用这个bbr比用锐速效果更好,可参考我的博文...
  • wang: openwrt 只有 tmp/etc/miniupnpd.conf 修改后又重置了,其他路径找...
  • wbq: 可以了 只是https透明代理如何做呢?
  • wbq: 你的这个配置需要浏览器设置代理ip+port, 现在假设不设置,只配置客户端网关为Nginx那...
  • wbq: 您好,想用Nginx做个透明代理,客户端机器配置下网关(即Nginx那台机器),客户端dns配...
  • ccc: 可以提供易调用openssl常用函数吗?
归档
友情链接