分類: 網頁空間

Linode VPS 安裝 Ubuntu Linux 與基本安全性設定

新增使用者

Linode 上剛裝好的 Ubuntu Linux 是直接用 root 登入的,沒有一般使用者帳號,但如果所有的動作都使用 root 來操作,會給系統帶來很大的風險,通常我們都會一般帳號來登入,必要時才切換成 root 權限,以避免下錯指令等意外發生。

在 Ubuntu Linux 下新增一個使用者:

adduser myuser

myuser 這個使用者加入 sudo 群組:

usermod -a -G sudo myuser

這樣設定好之後,在用這個帳號以 SSH 登入:

ssh myuser@12.34.56.78

然後測試看看是否能使用 sudo

sudo su

如果能取得 root 權限就表示沒問題了。

SSH 金鑰認證登入

SSH 公開金鑰認證可以大幅增加伺服器的安全性,我們可以使用 ssh-keygen 在自己的電腦中產生金鑰後,再將公鑰放進伺服器中:

ssh-keygen
scp ~/.ssh/id_rsa.pub myuser@12.34.56.78:

接著再到伺服器上,建立 .ssh 目錄,把公鑰放置在 .ssh/authorized_keys

mkdir .ssh
mv id_rsa.pub .ssh/authorized_keys

設定好檔案權限:

chown -R myuser:myuser .ssh
chmod 700 .ssh
chmod 600 .ssh/authorized_keys

設定好之後,記得要測試 myuser 這個使用者是否可以不需要密碼登入 SSH。

停用 SSH 密碼登入

編輯 /etc/ssh/sshd_config,將密碼登入功能關閉:

PasswordAuthentication no

同時也停用 root 登入:

PermitRootLogin no

重新啟動 SSH 伺服器:

sudo service ssh restart

防火牆

防火牆我習慣使用 ufw 來設定:

sudo ufw enable
sudo ufw allow ssh
sudo ufw allow http/tcp
sudo ufw allow https/tcp
ufw allow from 12.34.0.0/16

這裡開啟 SSH、HTTP 與 HTTPS 這幾個連接埠,另外對 12.34.0.0/16 這個子網域開放所有的連線,用來開發與測試用。

Fail2Ban

Fail2Ban 可以用來阻擋一些來自網路上的惡意攻擊,當它偵測到來自網路的某個 IP 不斷嘗試入侵系統時,會建立一個暫時性的防火牆規則,將攻擊者的 IP 封鎖。Fail2Ban 可以用下列指令安裝:

sudo apt-get install fail2ban

安裝完成後,Fail2Ban 預設只會對 SSH 進行監控,若要更改設定可以將自己的設定寫在 /etc/fail2ban/jail.local 設定檔中,在這個檔案中,我們也可以設定當偵測到幾次登入失敗後才開始阻擋 IP(maxretry),還有每次阻擋 IP 的時間長度(bantime)。修改設定之後,記得重新啟動 Fail2Ban:

service fail2ban restart

更多 Linode 相關的教學,可以參考本站 Linode 相關的文章

參考資料:Linode(Getting Started with Linode)Linode(Securing Your Server)

Page: 1 2

G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Share
Published by
G. T. Wang
標籤: Linode

Recent Posts

[DIY] 自製凡士林火種

這裡介紹如何利用簡單的凡士林與...

3 年 ago

[DIY] 自製火影木葉、砂忍者村標誌雕刻木牌

本篇記錄我用路邊撿來的樟木與龍...

3 年 ago

收集龍眼木修剪枝幹用於木頭工藝

最近打算帶著阿玄做一些木工作品...

3 年 ago

[DIY] 樟木手工自製迷你手裏劍(忍者武器)

本篇記錄阿玄第一次使用木工工具...

3 年 ago

[DIY] 龍眼木手工自製木槌

本篇記錄我用自己砍的龍眼木還有...

3 年 ago

[DIY] 樟木手工自製苦無(忍者武器)

本篇記錄我自己用樟木的枝幹,以...

3 年 ago