看板 KanColle 關於我們 聯絡資訊
經過測試,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 -- 個人不太喜歡改 ssh port,別鞭我QQ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.217.55 ※ 文章網址: https://www.ptt.cc/bbs/KanColle/M.1434018189.A.936.html
ian90911: お、おう... 06/11 18:25
caten: O...oh... 06/11 18:29
judy3116: 教學詳細,推一個 06/11 18:29
angel84326: 推教學 但這.....痾.... 06/11 18:30
kira925: 我不是很喜歡sudo 特別你開這種全權限的 06/11 18:30
kira925: 要這樣還不如進去以後用su 雙層密碼保護 06/11 18:31
其實我個人認為 ssh key + 禁掉 root 密碼比較好 可是講這個太難了...
kira925: 說來fxxutanaka用字典攻擊法會炸的吧XD 06/11 18:32
kira925: 恩,ssh key應該是最好的XD 06/11 18:32
feignego: おぅ>△< 06/11 18:33
proofmax1: 太神啦 一定要M 06/11 18:34
ttt95217: 純推不下 06/11 18:38
clse0190: 還是別sudo吧 06/11 18:38
在非得用密碼登入的情況下 雖然 su 可以多一層密碼保護 可是 sudoer file 好好寫的話會比 su 還安全 (其實原本的就比 su 安全了) 要更高的安全性 就只能用 ssh key + 禁掉 root 密碼
Hitomi29: 趕快推 不然別人以為我們看不懂! 06/11 18:49
kira925: sudo要很仔細處理權限 不然sudo其實更不安全 06/11 18:49
反正現在是 single user,我是覺得簡單為主
krrvincent: 有點忘記Linux是怎麼處理權限繼承的問題了 比照Win的 06/11 18:52
krrvincent: 話母程序給權限頗危險... 06/11 18:52
不太懂你的意思...
r790528: 測試一下密碼 FuckYouTanada要8243年喔w 06/11 18:55
Sousake: 我的磚夜來自堪口雷 06/11 19:02
kira925: @羽月 如果是跑字典檔 可能幾天就炸裂了XD 06/11 19:06
darkgerm: 擋 ssh 還是上一下 iptables + sshguard 比較好 06/11 19:19
Kagero: 未看先猜文組的反應都是在看無字天書(X 06/11 19:23
我高中也是文組的 (?)
kuojames2580: 明明就是基礎篇我卻看不懂 06/11 19:26
Sousake: 也有文組知道 加入居居不必選校別 加入勘口雷不必選組別 06/11 19:26
tom11725: 原PO選擇ConoHa這個附費VPN有什麼優點嗎 06/11 19:28
tom11725: 最近也在物色附費VPN,因為太多了不知道該如何選擇@@ 06/11 19:28
https://www.conoha.jp/conoha 萌(X) 其實它是VPS喔 然後其實我自己主要不是用ConoHa...只是之前試用過覺得還不錯
sodasu11: 看不懂照推w 06/11 19:38
Pmking: 至少 加入勘口雷的文組們有八成都知道怎麼掛VPN 06/11 19:39
Kenqr: conoha醬有點嬰兒肥 06/11 20:03
qooLD: 糟糕有點心動...conoha有點可愛...可是我宿舍電腦連不上w 06/11 20:42
aaaaooo: 看到freeBSD就知道要推了www 06/11 20:55
Chimaerason: 居然有 FreeBSD XDDD 06/11 21:06
feignego: FreeBSD 是五六年前消失的東西了吧... 06/11 21:11
FreeBSD明明就好好地活著 去年才上10.0 XD
kira925: OpenBSD還在阿... 06/11 21:17
werrty: 快推!不然會被說看不懂! 06/11 21:33
feignego: 上一次server從FreeBSD灌成Ubuntu...四五年前了zzz 06/11 21:53
feignego: 但是自從不當engineer之後,linux語法通通忘光光啦 orz 06/11 21:54
qooLD: 周末在刷卡好了...比較有時間研究怎麼寫XDD 06/11 21:59
icons: 艦娘版愈來愈多這類文,不知道算不算好事。雖然我覺得超棒的 06/11 22:44
icons: 原PO辛苦了!感謝教學! 06/11 22:45
※ 編輯: Akaz (140.112.217.55), 06/11/2015 23:16:24
kingwilly71: 這還是要有專業知識再動手比較好 06/11 23:27
kingwilly71: 我自己是有用aws 只是他還要拉一推security group 06/11 23:28
kingwilly71: 會更麻煩一點 06/11 23:28
handsomecat: X你田中 XDDDDDDD 06/11 23:29
icemango: 是走錯板了膩 XDDDDDDDDDDD 06/11 23:46
George017: 小提醒,如果用得是Ubuntu,它預設是沒root的喔 06/12 00:17
George017: 只能用su把第一個管理員帳號升級成等於root權限 06/12 00:17
George017: 指令下sudo時你其實就是在用root等級的權限做事 06/12 00:19
George017: 所以一些發行版在第一次輸入sudo時會有一行小提示 06/12 00:20
George017: 密碼強度的部分,不同的系統/服務對同樣組成的密碼評價 06/12 00:23
George017: 不同(在一些服務中顯示為高強度;在另一些卻只有中) 06/12 00:24
George017: 以及不同情境下會有密碼長度的限制 06/12 00:24
Ubuntu 只是預設禁用 root 密碼而已 然後會給第一個 user sudo ALL 權限 (但是依然可以透過 sudo 來下 su 進到 root) 密碼強度當然是僅供參考,不過只要密碼夠強實際上是很難被打下來的 ※ 編輯: Akaz (140.112.217.55), 06/12/2015 00:31:44
kaori9993: 感謝,真的實用,這樣就方便多了 06/12 01:10
mattc123456c: 我以為我到了Linux版了 06/12 01:34
※ 編輯: Akaz (140.112.217.55), 06/13/2015 17:14:22
jack82822005: su不需要sudo也可以直接下吧? 11/15 04:44
myau: 怪了 前面都照做卻始終卡在PieTTY那邊連不進去...orz 11/17 19:58