跳到主要內容

用 http-auth 基本身分驗證為安裝在雲端 (AWS、GCP) 的 Gekko 做一個簡單登入介面,避免交易所 API 被盜用



Gekko 本身的網頁 UI 沒有附帶任何身分驗證機制,換句話說如果開在公網上只要有你主機 IP 的人都可以進到控制介面,雖然 Gekko 加入了 API Key 之後是沒辦法看到原始的金鑰字串,但畢竟仍然有交易功能,可能被有心人士惡搞。目前的做法多半會是從主機端的安全來著手,開在 Google Cloud (GCP) 或 Amazon EC2 的可以使用它本身的防火牆規則來去禁止非你以外的 IP 連線,但對於大多數人可能不像我有靜態 IP,變得每次 ISP 重新分配 IP 或使用別的網路連線又要重設,為了安全要付出的麻煩還真不少阿。

所以就想到做一個很陽春的 http-auth 基本身分驗證機制,簡單說就是要登入啦,在讀入 Gekko UI 之前得要先輸入設定的帳號密碼才能通關,雖然不敢保證這個安全機制萬無一失,但至少是多了一層保護,而且安裝也很簡單,最重要的還是不要隨便透漏自己的 IP 給他人啦。


npm install http-auth
首先要安裝 http-auth 的套件才能使用身分驗證的功能。


再來打開 Gekko 資料夾中的 web/server.js,分別加入以下兩段程式碼。

var auth = require('http-auth');
var basic = auth.basic({
realm: "Restricted",
file: __dirname + "/pass.htpasswd"
});
這段加到 server.js 的最上方就可以了,pass.htpasswd 就是你的金鑰,可以自行更改檔名或路徑,之後記得上傳到與程式碼指定的相同路徑就好了。

app.use(auth.koa(basic));
這段則加到 const app = koa(); 後面即可。


之後就要製作金鑰檔,基本上就是文字檔,簡單的格式就是「帳號:密碼」 ,建議你的密碼可以拿去加密,不要直接放解密的密碼比較好。把這個檔案存成 pass.htpasswd 或你剛剛指定的檔名,上傳到 gekko/web 內 (或你指定的路徑)。


製作加密 (encrypt) 的密碼可以參考這個網站的產生器,只要把密碼打入就可以加密了,如果不放心使用線上的服務也可以去下載加密用的軟體回來跑。


之後在從瀏覽器進入 Gekko 介面時就會要求帳號密碼來進行身分驗證了,你也可以在 pass.htpasswd 內新增多個帳號密碼組合供更多人使用。


切記,這個並不是非常有效的安全機制,安全最好還是從主機端的防火牆著手,不要開啟不需要的 Port,也不要隨意讓別人知道你的主機 IP 避免自己交易所的 API 落入他人之手。 





留言



這個網誌中的熱門文章

Linux (Ubuntu) 查詢硬碟容量、剩餘大小指令

在 Ubuntu Desktop 版本或有安裝 GUI 像 Xfce 的 Server 版本當然可以直接從圖形介面查看硬碟容量和已經使用的大小, 但如果是在純 CLI 版本或使用 SSH 連線時呢?那就需要用到指令了。 顯示硬碟容量、已使用、可用大小。 df -h 查詢資料夾所占硬碟的大小。 du -h 查詢檔案大小 ls -l

WinRAR - 繁體中文版、免費版,別再破解了,老牌壓縮軟體直接免費給你用

WinRAR 應該對於所有 Windows 使用者一點都不陌生,可能也是很多人壓縮、解壓縮檔案的首選,舉凡 RAR、ZIP、7-Zip、TAR ...等檔案格式都可以處理,製作自解壓縮 (.EXE) 檔也沒問題,也算是最老牌的解壓縮軟體之一。 WinRAR 官方網站 :  https://www.win-rar.com 繁體中文版 :  https://rar.tw/download.html 永久免費簡體版 :  http://www.winrar.com.cn/download.htm 其實我也不太理解為什麼一個 WinRAR 可以有這麼多版本、不同語系的官網,畢竟在最原始的官網內也有「漢語」(簡體中文) 的選項,所以其他的國家自己的官網算代理商嗎? 如果真的要說我會比較建議到 英文版的官網 下載,畢竟這種軟體轉了一手又一手,加了什麼都不知道。

MinerGate - 一鍵懶人挖礦程式 (CPU+GPU),自動找出最適合的算法和挖礦貨幣 (支援 BTC、ETH、LTC、XMR...等)

MinerGate 自行開發了一個圖形化介面的挖礦程式,對第一次挖礦的新手來說滿友善的,幾乎不需要任何的設定就會自動找出你的硬體最適合的算法和要挖哪種幣,然後也不必急著申請錢包才能挖,Balance 都會先存在 MinerGate 的伺服器上,要領出才需要錢包,你也隨時都可以上官網來看自己的挖礦進度,但必須說這種挖礦方式雖然很方便但只適合輕度玩家,像是你可能電腦還要拿來做別的事就在背後加減挖一點那種, 如果真的要將機子的效能運用最大化還是得去下載 Claymore、ccminer...等專業的挖礦程式。 (4/26) MinerGate 在許多挖礦社群都被反應有收益偏低的問題,懷疑可能是官方收取了超過表定的手續費。目前推薦直接到礦池挖礦,可以參考 0.1% 超低礦池費的 「台灣 Monero 礦池 」。 MinerGate 官方網站 :  https://minergate.com 推薦連結 : https://minergate.com/a/0fd29cc7b4239115347b993e 註冊頁面 :  https://minergate.com/reg 下載頁面 :  https://minergate.com/downloads/gui 挖礦幣種 : Bitcoin、Ethereum、Zcash、Litecoin、Monero...等 分潤方法 : PPLNS fee 1% 到 註冊頁面 註冊完後就可以下載   MinerGate 專用的挖礦程式 。它有分成 GUI miner 和 Console miner,分別是圖形化介面挖礦程式和指令介面的, 我建議就用 GUI 版本就好了,如果要用控制台挖礦不如去用更專業的  Claymore 。 安裝完後輸入剛剛註冊時的 Email 登入,然後就可以開始挖礦了,像我的就自動偵測成挖 Monero (XMR),以及可以針對自己的硬體調整執行緒來試出最好的設置。 也能在 官網的 Dashnoard 查看自己的挖礦進度,挖到的 shares 會需要一段時間確認後才會顯示在 Balance 裡,如果沒有馬上看到進帳也不用擔心。 根據不同的幣種有不一樣的起付額,達到了之後就可以按 With...