5個適用於初學者的實用Linux安全特性和工具
Linux是一個廣泛使用的作業系統,以其強大的安全特性而聞名。雖然Linux通常被認為比其他作業系統更安全,但仍需要正確的配置和管理才能確保最大限度的安全。幸運的是,有一些安全特性和工具可以幫助初學者保護他們的Linux系統。在本文中,我們將討論5個適用於初學者的實用Linux安全特性和工具。
使用者管理
使用者管理是Linux安全的重要組成部分。透過建立單獨的使用者帳戶,您可以限制對敏感檔案和資料的訪問。預設情況下,Linux在安裝過程中會建立一個root帳戶。root帳戶具有訪問所有系統檔案和設定的許可權,應謹慎使用。
建議改為建立一個具有有限許可權的普通使用者帳戶。這可以使用useradd命令完成。例如,要建立一個名為“john”的新使用者,您可以使用以下命令:
sudo useradd -m john
-m
標誌為使用者建立一個主目錄,useradd命令會提示您為新使用者設定密碼。建立使用者帳戶後,您可以透過將他們新增到sudoers檔案來授予他們sudo許可權。可以使用visudo命令編輯sudoers檔案。例如,要授予使用者“john”sudo許可權,您可以將以下行新增到sudoers檔案:
john ALL=(ALL) ALL
這將允許使用者“john”使用sudo命令以root身份執行任何命令。
防火牆
防火牆是Linux安全的重要組成部分。它允許您控制進出網路流量並阻止不需要的連線。Linux最流行的防火牆稱為iptables。
Iptables使用一組規則來確定如何處理進出流量。預設情況下,iptables阻止所有傳入流量並允許所有傳出流量。要新增一條規則以允許特定埠上的傳入流量,您可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
這將允許埠22上的傳入流量,該埠用於SSH連線。要阻止特定埠上的傳入流量,您可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 80 -j DROP
這將阻止埠80上的傳入流量,該埠用於HTTP連線。
SELinux
SELinux是Linux的安全模組,它提供增強的安全功能。它使用一組策略對系統資源強制執行強制訪問控制(MAC)。MAC是一種安全模型,它對使用者或應用程式可以對系統執行的操作施加限制。
預設情況下,大多數Linux發行版中都停用了SELinux。要啟用SELinux,您可以使用以下命令:
sudo setenforce 1
這將在強制模式下啟用SELinux。您還可以編輯位於/etc/selinux/config的SELinux配置檔案,以永久將SELinux設定為強制模式。
ClamAV
ClamAV是一款開源防病毒軟體,可以掃描Linux系統中的惡意軟體和病毒。它可以檢測和刪除病毒、特洛伊木馬和其他惡意軟體。可以使用Linux發行版的包管理器安裝ClamAV。
要使用ClamAV掃描系統中的惡意軟體,您可以使用以下命令:
sudo clamscan -r /
這將遞迴掃描您的整個系統並顯示任何受感染的檔案。要刪除受感染的檔案,您可以使用以下命令:
sudo clamscan -r --remove /
這將刪除掃描期間發現的任何受感染的檔案。
SSH
SSH(安全外殼)是一種用於透過網路安全地連線到遠端Linux系統的協議。SSH加密客戶端和伺服器之間的所有通訊,提供了一種安全訪問遠端系統的方法。
要使用SSH連線到遠端系統,您可以使用以下命令:
ssh username@remote-server
將“username”替換為遠端系統上的使用者名稱,將“remote-server”替換為遠端系統的IP地址或主機名。
您還可以使用SSH命令scp在系統之間傳輸檔案。例如,要將名為“file.txt”的檔案從本地系統複製到遠端系統,您可以使用以下命令:
scp file.txt username@remote-server:/path/to/destination
將“username”替換為遠端系統上的使用者名稱,將“remote-server”替換為遠端系統的IP地址或主機名,並將“/path/to/destination”替換為遠端系統上目標目錄的路徑。
加密
加密是保護Linux系統上資料的必不可少的工具。即使攻擊者訪問您的系統,加密也可以保護敏感資料免受未經授權的訪問。Linux提供多種加密工具,包括LUKS和GnuPG。
LUKS(Linux統一金鑰設定)是Linux使用的磁碟加密標準。LUKS允許您加密系統上的整個分割槽或磁碟。要建立LUKS加密分割槽,您可以使用以下命令:
sudo cryptsetup luksFormat /dev/sdb1
這將在/dev/sdb1裝置上建立一個LUKS加密分割槽。然後,您可以使用以下命令掛載加密分割槽:
sudo cryptsetup luksOpen /dev/sdb1 my-encrypted-partition
這將建立一個名為“my-encrypted-partition”的解密裝置,您可以使用它來訪問加密分割槽。
GnuPG(GNU隱私保護)是一種用於加密和簽名資料的工具。GnuPG使用公鑰加密來保護資料。要使用GnuPG加密檔案,您可以使用以下命令:
gpg --encrypt --recipient recipient@example.com file.txt
將“recipient@example.com”替換為收件人的電子郵件地址,將“file.txt”替換為要加密的檔名。GnuPG將建立一個名為“file.txt.gpg”的加密檔案,只有擁有其私鑰的收件人才能解密該檔案。
Auditd
Auditd是一個用於監控系統活動的工具。它記錄系統事件,例如檔案訪問、程序執行和網路活動,並將它們儲存在日誌檔案中。Auditd可用於檢測和調查Linux系統上的安全漏洞。
要在系統上安裝Auditd,您可以使用以下命令:
sudo apt-get install auditd
安裝完成後,您可以使用以下命令啟動Auditd服務:
sudo systemctl start auditd
然後,Auditd將開始將系統事件記錄到位於/var/log/audit/audit.log的審計日誌檔案中。
Fail2ban
Fail2ban是一個用於防止對Linux系統進行暴力破解攻擊的工具。暴力破解攻擊是駭客試圖透過猜測密碼來訪問系統的一種常見攻擊方法。Fail2ban透過監控系統日誌中的重複登入失敗並阻止表現出可疑行為的IP地址來工作。
要在系統上安裝Fail2ban,您可以使用以下命令:
sudo apt-get install fail2ban
安裝完成後,您可以配置Fail2ban以監控系統日誌並阻止表現出可疑行為的IP地址。例如,要在三次失敗的登入嘗試後阻止IP地址,您可以將以下規則新增到Fail2ban配置檔案:
[sshd] enabled = true maxretry = 3
這將監控SSH日誌中的登入失敗嘗試,並在三次嘗試後阻止IP地址。
結論
Linux提供了一些安全特性和工具,可以幫助初學者保護他們的系統。透過正確配置使用者帳戶、防火牆和SELinux策略,您可以限制對敏感資料的訪問並控制進出網路流量。ClamAV可用於掃描惡意軟體和病毒,而SSH提供了一種安全訪問遠端系統的方法。透過使用這些工具和特性,初學者可以顯著提高其Linux系統的安全性。