VPS體驗

感覺像在堆平衡積木,好不容易完成也小心翼翼生怕它一不留意塌了。

原本衝著有香港機房想申請Kamatera的30天試用方案,畢竟按理來說香港怎麼都該比跨一個太平洋的加州機房快,不過官方提供的測速頁一測,香港的ping直逼300 ms,倒是加州只有140 ms;後來看到AlphaVPS 2C2G 洛杉磯,一個月8鎂,租個一個月玩玩,有付錢的話胡亂操作機器比較沒心理負擔。

沒選AWS Lightsail等雲端服務主要是怕沒設定好,一覺醒來亞馬遜把我刷到破產,而且原以為GreenCloud這種二線VPS商已經對資源用量夠苛了,沒想到這些大廠也不遑多讓。至於DigitalOcean御三家則是價格漲到飛天;Hetzner註冊要KYC,況且機房又更遠了。

VPS真是大大不同,難怪很多部落格站長一路升到VPS。在硬體帳面上一樣是2 vCPU、2G RAM,以初始狀態下網站響應速度都要比現在費盡心思最佳化過的虛擬主機(新加坡)站點快得多。本以為VPS的硬體優勢會被長長的海底電纜抵銷,結果沒有,尤其是WordPress控制台更是不可同日而語,更新反應相當迅速,再也不必擔心更新更到無回應。哪怕後續把防火牆跟其他佔用系統資源的服務都裝上依然流暢。

快歸快,接下來才是重頭戲,單單安裝是沒多少問題,但參數設定、源站ip保護、Linux權限問題很多。

參數設定:跟著潮流使用Docker配Portainer,每篇教學都說Docker很便利,但對我來講其實一樣,都是滿滿的指令。伺服器參數、防火牆參數,資料庫參數,每個都會影響網站速度跟安全。有些單純跟著網路上的資料照抄,有些參數還是需要自己斟酌,像是猶豫防火牆該不該常駐CC_LOOKUPS、CT_LIMIT、PORTFLOOD與SYNFLOOD;MariaDB該不該開query cache還有怎麼調整一堆參數;系統該不該劃出swap。很多說明文字有看沒有懂,手足無措很頭痛。

P.S. 從Apache改用Nginx,原本有些怯步,還好NGINX config generator多少降低了一點門檻。

源站ip保護:也是頭痛的一環,避免吃飽太閒的人越過CDN直接攻擊伺服器ip,於是就又開始一連串對著SSL證書、DNS記錄知其然不知其所以然地照抄。最終失敗,在我辛苦摹仿的時候Censys、FOFA已經把主機ip掃描出來了,白忙一場。幸好只是用來試試水溫的臨時機子,要不然真的傻眼。

Linux權限:很陌生的系統,sudo去改了屬於root的檔案,又是一場雞飛狗跳,好在趕快su root重新編輯儲存救回來。

除此之外還要找Google試圖解決syslog裡面一條條的Warning。

目前出的最大狀況是為了IPv6把VPS徹底搞崩,趕快寫工單求救。因為以前查過,所以很堅信ISP有給IPv6。於是便輕率認定是VPS的問題,開始照著教學對VPS的網路設定胡亂操作,直到把系統弄壞才想起到test-ipv6.com確認IPv6——原來是我連不上IPv6。

現況來說,除了猶疑一些設定外,該裝的都裝了,一些教學裡的坑也成功跳過,目前主機CPU、RAM、I/O佔用平穩,各服務正常。之後可能會出問題的是更新,反正現在VPS正安穩運作,不如就不更新好了

總結:還是換回虛擬主機。

哈哈,VPS優點是多了很多解決辦法;缺點是自己管理主機有股開拼裝車的強烈不安感。而且不知為何,比起虛擬主機,VPS每個人都在說資料遺失跟廠商跑路。知識貧乏,不知道自己有什麼不知道,感覺哪時就掉個螺絲,甚至少裝個輪子就上路也不知道,遑論查看日誌維護。

像是MariaDB預設有開expire_logs_days,但卻沒開Binary Log功能,這就導致了出現[Warning] You need to use --log-bin to make --expire-logs-days work.,我也不明白這樣預設的含義是什麼;有些服務不會自動加入logrotate,非得去手動設定,否則日誌體積一下子就膨脹起來;需要仔細計算Memcached及Opcache的命中率。

後續還有nftables、Tailscale這些安全方面的設定,感覺都很麻煩。

從系統設定到系統安全,寫部落格寫到心驚膽顫實在太累,可不想再度體會被駭客耍的滋味。更糟的是被耍還不知道,默默成為肉雞去當礦機、殭屍。

有時也會覺得這樣戒慎恐懼究竟有沒有必要,畢竟很多部落格甚至是毫無防護直接裸奔,幾年下來也沒出事,但……自己以前又確實被駭客婊過。

這就是所謂的PTSD嗎(摩亞調

當年被入侵的那個部落格只有兩篇文章,一篇是《神無月的巫女》,一篇是《翼神世音》,很顯然是腳本遍歷漏洞的自動入侵。

思來想去還是虛擬主機放心點眼不見為淨,至於VPS剩餘的租期就拿來亂調參數、亂裝腳本,卯起來把效能用好用滿。