我爱linux

我是一个linux运维从业者,这个网站记录一些平时调试linux相关文档及生活随笔

Archive for the ‘Security’ Category

linode vps安装pptp vpn 常见错误解决

without comments

1:619错误

有些同学说要手动建立ppp文件,我觉得其实应该是检查iptables的NAT功能是否正常

用iptables -t nat -L 看看nat规则是否正常

有同学建议 mknod /dev/ppp c 108 0   但其实出现这问题的大部分都是本身已经存在这个文件会提示 mknod: `/dev/ppp’: file exists,如果你不敢确认,那就完全也可以先用rm删除这个设备文件,然后再建个

另外确认net.ipv4.ip_forward=1是否生效

 

2:800错误

一般是vpn服务器关闭了,或者停止了,如果你是用域名访问vpn,也有可能是dns的解析除了问题

 

3:还有一种情况:就是登录和验证都正常,但就是访问不了页面

这种情况我碰到很多次,但我至今没找到确切的问题所在,我初步也是怀疑iptables的转发没能正常工作

大家不妨多看看log日志分析一下

Written by zhangweibo

十二月 6th, 2011 at 3:33 下午

Posted in debian,pptp

Tagged with , , ,

openvpn+chnroutes 优化访问速度

without comments

chnroutes,国人的一个开源项目,完美解决了国外openvpn访问国内网站速度慢的问题

使用方法很简单,那个网站也详细介绍,我就不写步骤,注意点:

1:chnroutes需要在客户端改,不需要在服务器端,官网没特意指出,容易让人误导

2:客户端程序必须2.1以上,因为好多命令只有2.1以上才能知道

3:只适合国外的vpn,国内的vpn使用chnroutes无意义

Written by zhangweibo

四月 17th, 2011 at 5:29 下午

Posted in openvpn

Tagged with ,

Debian 6(Squeeze)上安装openvpn

without comments

ramhost的vps因为是openvz,所以不能做pptp的vpn,但可以做tun的openvpn,安装使用很简单并且很实用,需要翻墙的同学必看哦

1:安装
apt-get install openvpn iptables

2:配置服务端

cp -R /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn
cd /etc/openvpn/easy-rsa/2.0
chmod +x vars
source ./vars
./clean-all

./build-ca
这一步,您一直回车就行,不要填密码,如果要求你回答Y还是N,选Y回车

./build-key-server server

./build-key client1
这2步也跟上面一样,一路回车和选择Y回车

./build-dh

3:配置转发
vi /etc/rc.local
添加以下语句,您只要替换“208.110.73.134”为您自己的ip就行
# add iptables rule for openvpn
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT --to 208.110.73.134

4:增加服务器端conf文件
vi /etc/openvpn/openvpn.conf
增加如下内容
dev tun
proto tcp
port 1194

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

user nobody
group nogroup
server 10.8.0.0 255.255.255.0

persist-key
persist-tun

#status openvpn-status.log
#verb 3
client-to-client

push “redirect-gateway def1″
push “dhcp-option DNS 69.197.153.253″
push “dhcp-option DNS 69.30.192.15″

comp-lzo

 

 

ok,启动openvpn服务
/etc/init.d/openvpn start
nohup /etc/rc.local &

5:客户端安装配置
到 http://openvpn.net/index.php/open-source/downloads.html 下载winodws客户端
安装后,然后从服务器把以下3个文件拷贝到windows安装路径下的config目录
这3个文件分别是
/etc/openvpn/easy-rsa/2.0/keys/ca.crt
/etc/openvpn/easy-rsa/2.0/keys/client1.crt
/etc/openvpn/easy-rsa/2.0/keys/client1.key

6:增加客户端配置文件
在config增加一个配置文件,文件名为client.ovpn
内容如下:
client
dev tun
proto tcp

# The hostname/IP and port of the server.
# CHANGE THIS TO YOUR VPS IP ADDRESS
remote 208.110.73.134 1194

resolv-retry infinite
nobind

persist-key
persist-tun

ca ca.crt
cert client1.crt
key client1.key

 

comp-lzo
verb 3

好了,点击windows程序图标,就可以享受翻墙的乐趣了

Written by zhangweibo

四月 16th, 2011 at 7:31 上午

Posted in debian,openvpn

Tagged with ,

Linux 下 OpenSSH 配合 SecureCRT 的密匙完美使用方法

without comments

早期的文档,这次换博客系统,就一起归类了,可惜图片丢失了,要不也能给大家不少帮助

我想肯定有不少朋友在使用SecureCRT做为SSH的客户端软件,但都很少使用他的RSA/DSA加密功能吧,怎么你还不知道RSA是什么?  

SSH,特别是 OpenSSH,是一个类似于 telnet 或 rsh,ssh 客户程序也可以用于登录到远程机器。所要求的只是该远程机器正在运行 sshd,即 ssh 服务器进程。但是,与 telnet 不同的是,ssh 协议非常安全。加密数据流,确保数据流的完整性,甚至安全可靠的进行认证它都使用了专门的算法。 

然而,虽然 ssh 的确很棒,但还是有一个 ssh 功能组件常常被忽略、这个组件就是 OpenSSH 的 RSA/DSA 密钥认证系统,它可以代替 OpenSSH 缺省使用的标准安全密码认证系统。 

OpenSSH 的 RSA 和 DSA 认证协议的基础是一对专门生成的密钥,分别叫做专用密钥和公用密钥。使用这些基于密钥的认证系统的优势在于:在许多情况下,有可能不必手工输入密码就能建立起安全的连接。 

好了知道RSA和DSA是怎么回事了吧,至于里面的原理我就不讲了,有兴趣的朋友去看看公匙密匙的原理就行。其实不止SecureCRT支持RSA/DSA,其他ssh的客户端软件都支持类似的RSA/DSA,只不过好像不同软件产生的公匙密匙好像不通用。我这里只是拿最典型的SecureCRT来说明RSA怎么使用来配合linux下的ssh服务 

我的环境:Redhat9.0 openssh-3.5p1-6 SecureCRT 4.0 

服务端openssh我们先不可以设置,等客户端设置好后,我们再回过头来设置ssh。 

我们创建一个新链接,点击属性:
创建一个SSH新连接

创建一个SSH新连接

默认验证方式是password,把他改成RSA,系统会弹出一个弹出框
确认是否使用RSA公匙密匙创建向导

确认是否使用RSA公匙密匙创建向导

让你确认是否使用RSA公匙密匙创建向导,当然选“是”
RSA公匙密匙创建向导1

RSA公匙密匙创建向导1

接着下一步:
填入你的保护密匙的密码

填入你的保护密匙的密码

这一步填入你的保护密匙的密码,这个密码要记住哦,以后都要这个密码,Comment就随便填了 

下一步:
选择加密的位数

选择加密的位数

让你选择加密的位数,默认1024就行 

下一步:
自动产生公匙和密匙

自动产生公匙和密匙

这一步你动一下鼠标,系统就会根据你鼠标动的频率自动产生公匙和密匙 

下一步:
保存密匙

保存密匙

RSA公匙密匙创建好后,会让你保存,名字默认或者改名都行,后面大家只要注意SecureCRT只寻找密匙的路径,你保证SecureCRT能找到你的密匙就行。 

好了客户端的工作完成。下面是linux服务端的配置了 

把我们刚才建立的RSA公匙传到你的服务器,默认名为identity.pub  

然后在linux下操作,如果你的密匙是给linux用户frank创建的,那么我们先在frank的宿主目录创建一个.ssh的目录 

mkdir /home/frank/.ssh 

chmod o+x /home/frank 

chmod 700 /home/frank/.ssh  

然后把公匙导到authorized_keys这个文件,因为我们是使用ssh1,如果是ssh2的那就是authorized_keys2 

cat identity.pub >; /home/frank/.ssh/authorized_keys 

chmod 644 /home/frank/.ssh/authorized_keys 

权限的设置非常重要,因为不安全的设置安全设置,会让你不能使用RSA功能,大家如果调试的过程中,发现有找不到公匙的错误提示,先看看权限是否设置正确哦! 

ok,现在服务器端也设置完毕了,你现在可以用SecureCRT的RSA验证方式连接ssh服务器端了,如果连接正常的话应该会弹出一个对话框,让你输入密码
输入我们保护密匙的密码

输入我们保护密匙的密码

这里只要输入我们保护密匙的密码就行了。完了就能顺利进入 

还有一步设置,既然大家都已经成功使用了ssh的RSA功能,那么就必须让openssh只支持RSA验证,否则既支持普通密码又支持RSA就没什么意思了,根本没把安全提高,所以我们有必要让openssh只支持RSA验证,如果还没有成功使用RSA功能的朋友就不用看,还是先把上面的的先实现再说。 

要实现openssh只支持RSA验证方式,我们只要修改 

vi /etc/ssh/sshd_config  

设置 

PasswordAuthentication no 

好了,你现在再试试以前普通密码验证方式,应该是会弹出下面错误信息
服务器只支持RSA的验证方式

服务器只支持RSA的验证方式

大致意思服务器只支持RSA的验证方式,ok了 

以后就可以用RSA的公匙密匙访问ssh服务器了,不过你的密匙可要保存好,反正我是保存在我的U盘,随身携带,一旦你的用户丢了密匙,一定在服务器端把它的公匙删除,这样即使那人获得了密匙也上不去:) 

参考文档  

OpenSSH 密钥管理 http://www-900.ibm.com/developerWorks/cn/linux/security/openssh/part1/index.shtml 

张微波 

2003年11月21日于北京

Written by zhangweibo

十一月 21st, 2003 at 7:08 上午

Posted in linux,Security

Tagged with , ,