楼主:
Akaz (Akaz)
2015-06-11 18:23:05经过测试,ConoHa 无法架设 PPTP VPN,OpenVPN无问题
一、前言
本文旨在协助没有资讯相关背景的朋友能够建立自己的、安全的VPN。
文章将分为两部分:基础建设、OpenVPN架设。
本次将以 ConoHa VPS 搭配 Debian 8 (64bit) 来做示范。
如果你的VPS服务商只提供 Ubuntu 14.04 LTS,请别担心,大致上所有内容都通用。
(可能有细微差异)
如果你的VPS服务商只提供 Debian 6 / 7,请与我连络,我会详细解释如何升级。
如果你的VPS服务商只提供 CentOS 7,请容我说声抱歉,
因为撰文的时间关系,本次教学将不会涵盖 CentOS。
如果你的VPS服务商只提供 FreeBSD,那它还没倒真是个奇蹟(X)。
由于 ConoHa 似乎已经取消验证手机的1500 JPY免费额度,
且经过测试 ConoHa 无法架设 PPTP VPN,(推测是GRE协定被挡)
还请斟酌是否要使用,或者寻求其他供应商。
文章内容若有任何疑问或者本人有所疏忽的地方,欢迎发表推文或来信。
二、开始使用VPS
首先到 ConoHa VPS 的官方网站注册一个帐号。
注册后会要求手机号码验证与选择缴费方式。
ConoHa 可以储值的方式使用,提供信用卡、PayPal等等的方式。
注册手续完成后就可以到 Server List,
点击右上角的 Add 或左上角的 Add Server 进入添加服务器的画面。
http://i.imgur.com/tKUVOwy.png
在添加服务器的画面请点击“Debian”并选择 8 (64bit)。
在 root Password 字段填入 root 密码。
http://i.imgur.com/nOgUsDb.png
(root 是 Linux 系统中的“超级使用者”,拥有所有的权限)
建议使用大小写字母、数字、底线、问号等符号混杂的密码,且避开既有单词。
这里有一个 Intel 的页面可以测试密码强度。
https://www-ssl.intel.com/content/www/us/en/forms/passwordwin.html
请注意不要在这个页面打上真正的密码,而只是测试密码的“形式”。
题外话,我试了一下,fxxkutanaka居然要12年?
第三部分 Option 的地方,请取消勾选 Port Permission IPv6 的 Allow All。
http://i.imgur.com/dNaJdOT.png
接着就可以按右下角的 Add 新增机器。
http://i.imgur.com/KnolMt7.png
等到红圈处变成 Running 就可以继续下一步。
三、基本设置
这部分将使用PieTTY做为远端连线至VPS的软件。
http://i.imgur.com/yKH9Y5B.png
PieTTY可以在这边下载到:http://ntu.csie.org/~piaip/pietty/
打开PieTTY会是这样的画面:
http://i.imgur.com/wHS0NFZ.png
首先请记录VPS的IP。VPS的IP可以在这里找到:
http://i.imgur.com/VUxJfdO.png
http://i.imgur.com/PaU05Ez.png
http://i.imgur.com/V0mSDKh.png
同时请先点击最上方的“Shutdown”关闭VPS,
然后点击第三项的“VPS Setup”并将 Console Key-map 改为 en-us。
http://i.imgur.com/5eyIbAD.png
如果跳出红色的讯息告诉你设定失败就代表VPS还没有关机。
修改完毕后点击上方的“Start”。
接着把IP填回PieTTY。
http://i.imgur.com/E36zpNj.png
点下连线后应该会跳出类似这样的东西:
http://i.imgur.com/fr9KoB1.png
点击“是”就可以了。
接下来PieTTY会问你要用什么身分登入(login as:),
请填入root,然后打上密码登入。
http://i.imgur.com/axsKfos.png
使用root登入非常危险
使用root登入非常危险
使用root登入非常危险
但因为 ConoHa VPS 没有默认的使用者,我们还是要危险这一次。
登进去之后首先做基本的安全设定。
首先是开启一个新的使用者。
在命令列打上“adduser xxx”,xxx可为你希望使用的使用者名称。
(全小写、不可数字开头)
root@xxx:~# adduser xxx
http://i.imgur.com/tHFki3A.png
然后指定密码。请不要和root使用同样的密码,
并请使用大小写字母、数字、底线、问号等符号混杂的密码,且避开既有单词。
除了密码以外的设定基本上可以留空直接 Enter。
http://i.imgur.com/FMeGOyL.png
接着我们要禁止使用root登入。
首先要赋予刚刚新增的使用者操作系统的权限。
root@xxx:~# visudo
找到 # User privilege specification
并在 root ALL=(ALL:ALL) ALL后面新增一行如图。
http://i.imgur.com/Lm6MQkW.png
修改完后按Ctrl+X,再按Y,再按Enter存盘。
接着禁止使用root登入。
root@xxx:~# nano /etc/ssh/sshd_config
找到 PermitRootLogin yes,把yes改成no。改完后一样Ctrl+X、Y、Enter。
http://i.imgur.com/0mOfsDQ.png
接着要重新开启ssh服务让它使用新的设定档。
root@xxx:~# systemctl restart ssh.service
然后离开VPS。
root@xxx:~# exit
接着重新打开PieTTY,并用刚刚建立的使用者登入。
登入后测试是否能获取root权限。
xxx@xxx:~$ sudo su -
输入密码后Enter,如果发现变成了“root@xxx:~#”就是成功了。
http://i.imgur.com/jD1qKk4.png
成功就可以回到一般使用者的状态了。
root@xxx:~# exit
注:如果你和我一样,使用sudo的时候会出现一行
sudo: unable to resolve host xxx-xxx-xxx-xxx
可以这样解:
$ sudo sed -i.bak 's/localhost/localhost '$(hostname)'/' /etc/hosts
接着设定 fail2ban 来阻挡外来攻击者暴力破解密码。
xxx@xxx:~$ sudo apt-get -y update
xxx@xxx:~$ sudo apt-get -y upgrade
xxx@xxx:~$ sudo apt-get -y install fail2ban
然后设定 fail2ban 的设定档。
xxx@xxx:~$ sudo nano /etc/fail2ban/jail.local
打开来确实是一个空白的文件,请不要惊慌。
由于内容有一点多,所以我把它放在codepad.org上:http://codepad.org/diDtliN7
复制之后在PieTTY的黑视窗点一下右键就可以贴上了,注意别点到两下。
一样Ctrl+X、Y、Enter存盘。
然后修改另外一个档案让它可以在重开机时保留原先的黑名单。
xxx@xxx:~$ sudo nano /etc/fail2ban/action.d/iptables-multiport.conf
在里面找到 actionstart,在整段的后面加上
cat /etc/fail2ban/ip.blocklist | while read IP;
do iptables -I fail2ban-<name> 1 -s $IP -j <blocktype>; done
(请合并成一行)
http://i.imgur.com/xMGxuWy.png
然后找到 actionban,加上
echo <ip> >> /etc/fail2ban/ip.blocklist
http://i.imgur.com/6NREDn4.png
存完档后重启 fail2ban。
xxx@xxx:~$ sudo systemctl restart fail2ban.service
然后确认 fail2ban 是否有成功运行。
xxx@xxx:~$ sudo fail2ban-client status
注:fail2ban 最近有过一次设定档更新,而 Debian 8 stable 版本没有更新。
我不太确定 Ubuntu 14.04 LTS 有没有更新这一项。
如果无法正常启动还请告知,我会补上解法。
至此系统环境就大致上完成架设安全的VPN的准备了。
再次提醒,设置密码时,
请使用大小写字母、数字、底线、问号等符号混杂的密码,且避开既有单词。
基础建设篇至此结束,感谢收看;有问题欢迎发表推文或来信。
OpenVPN架设篇已完成,文章代码 #1LU_Gc_9
作者:
ian90911 (xopowo)
2015-06-11 18:25:00お、おう...
作者:
caten (原PO不是人)
2015-06-11 18:29:00O...oh...
作者:
judy3116 (坑底生存者)
2015-06-11 18:29:00教学详细,推一个
作者:
kira925 (1 2 3 4 疾风炭)
2015-06-11 18:30:00我不是很喜欢sudo 特别你开这种全权限的要这样还不如进去以后用su 双层密码保护说来fxxutanaka用字典攻击法会炸的吧XD恩,ssh key应该是最好的XD
作者:
feignego (feign)
2015-06-11 18:33:00おぅ>△<
作者: proofmax1 2015-06-11 18:34:00
太神啦 一定要M
作者:
clse0190 (shadow)
2015-06-11 18:38:00还是别sudo吧
作者:
Hitomi29 (ドM14号电探)
2015-06-11 18:49:00赶快推 不然别人以为我们看不懂!
作者:
kira925 (1 2 3 4 疾风炭)
2015-06-11 18:49:00sudo要很仔细处理权限 不然sudo其实更不安全
有点忘记Linux是怎么处理权限继承的问题了 比照Win的话母程序给权限颇危险...
作者:
r790528 (羽月於雨月語月)
2015-06-11 18:55:00测试一下密码 FuckYouTanada要8243年喔w
作者:
Sousake (specialist URUZ 7)
2015-06-11 19:02:00我的砖夜来自堪口雷
作者:
kira925 (1 2 3 4 疾风炭)
2015-06-11 19:06:00@羽月 如果是跑字典档 可能几天就炸裂了XD
挡 ssh 还是上一下 iptables + sshguard 比较好
作者:
Kagero (摩荔枝天(茄汁))
2015-06-11 19:23:00未看先猜文组的反应都是在看无字天书(X
作者:
Sousake (specialist URUZ 7)
2015-06-11 19:26:00也有文组知道 加入居居不必选校别 加入勘口雷不必选组别
原PO选择ConoHa这个附费VPN有什么优点吗最近也在物色附费VPN,因为太多了不知道该如何选择@@
作者:
sodasu11 (LaZyFRoG)
2015-06-11 19:38:00看不懂照推w
作者:
Pmking (猴王)
2015-06-11 19:39:00至少 加入勘口雷的文组们有八成都知道怎么挂VPN
作者:
Kenqr (function(){})()
2015-06-11 20:03:00conoha酱有点婴儿肥
作者:
qooLD (遗忘之都)
2015-06-11 20:42:00糟糕有点心动...conoha有点可爱...可是我宿舍电脑连不上w
作者:
aaaaooo (路过乡民)
2015-06-11 20:55:00看到freeBSD就知道要推了www
作者:
feignego (feign)
2015-06-11 21:11:00FreeBSD 是五六年前消失的东西了吧...
作者:
kira925 (1 2 3 4 疾风炭)
2015-06-11 21:17:00OpenBSD还在阿...
作者:
werrty (ART)
2015-06-11 21:33:00快推!不然会被说看不懂!
作者:
feignego (feign)
2015-06-11 21:53:00上一次server从FreeBSD灌成Ubuntu...四五年前了zzz但是自从不当engineer之后,linux语法通通忘光光啦 orz
作者:
qooLD (遗忘之都)
2015-06-11 21:59:00周末在刷卡好了...比较有时间研究怎么写XDD
作者:
icons 2015-06-11 22:44:00舰娘版愈来愈多这类文,不知道算不算好事。虽然我觉得超棒的原PO辛苦了!感谢教学!
这还是要有专业知识再动手比较好我自己是有用aws 只是他还要拉一推security group会更麻烦一点
作者:
handsomecat (((恐(((′・ω・`)))慌)))
2015-06-11 23:29:00X你田中 XDDDDDDD
小提醒,如果用得是Ubuntu,它默认是没root的喔只能用su把第一个管理员帐号升级成等于root权限指令下sudo时你其实就是在用root等级的权限做事所以一些发行版在第一次输入sudo时会有一行小提示密码强度的部分,不同的系统/服务对同样组成的密码评价不同(在一些服务中显示为高强度;在另一些却只有中)以及不同情境下会有密码长度的限制