Linux伺服器安全加固措施

一、防火牆

防火牆是保護伺服器安全的第一道防線。在Linux伺服器上,我們可以使用iptables進行防火牆的配置。

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -j DROP

以上代碼先允許ssh、http和https的訪問,再拒絕其他全部訪問。

二、SSH安全

SSH是遠程連接伺服器的常用方式,但也是黑客攻擊的重點。我們可以通過以下措施增強SSH的安全性:

1、禁止root用戶直接登錄:

# 修改ssh配置文件/etc/ssh/sshd_config
PermitRootLogin no

2、改變SSH埠號:

# 修改ssh配置文件/etc/ssh/sshd_config
Port 2222

修改完後需要重啟ssh服務。

3、使用Key登錄:

使用Key登錄可以避免密碼被盜,具體操作可以參考SSH使用Key登錄教程。

三、安全登錄

1、密碼複雜度要求:

在/etc/login.defs文件中修改密碼複雜度要求:

# 設置密碼最小長度為8
PASS_MIN_LEN 8

# 要求密碼必須包含大小寫字母、數字和特殊字元
PASS_COMPLEXITY 4

2、限制登錄次數:

在/etc/pam.d/system-auth文件中修改登錄失敗次數限制:

auth        required      pam_tally2.so deny=3 unlock_time=600

以上表示當一個用戶輸錯密碼3次後,賬號將被鎖定,鎖定時間為10分鐘。

四、文件許可權

1、目錄許可權:

在Linux系統中,所有的文件和目錄都有許可權,分別對應三個用戶:文件所有者、文件所在用戶組和其他用戶,我們可以使用chmod命令來控制這些許可權。

# 將文件所有者的讀、寫、執行許可權設置為rw-
chmod u=rw,go= file.txt

# 將文件所有者和所在組的讀、寫許可權,其他用戶的只有讀許可權
chmod ug=rw,o=r file.txt

2、SSH配置文件許可權:

SSH配置文件存放在/etc/ssh/sshd_config文件中,需要設置保護許可權,防止被非法修改。

# 設置只有root用戶可讀寫的許可權
chmod 600 /etc/ssh/sshd_config

五、日誌監控

痕迹分析是伺服器安全的重要部分,因此需要配置相應的日誌監控。

1、系統日誌監控:

在Linux系統中,所有的日誌都存儲在/var/log目錄下,我們可以使用logwatch工具來監控這些日誌文件。

# 安裝logwatch
yum install logwatch -y

# 配置logwatch,將報告發送到指定郵箱
vi /etc/cron.daily/0logwatch

2、SSH登錄監控:

我們可以使用libpam-logintime庫來記錄SSH登錄的時間。

# 安裝libpam-logintime
yum install pam_logintime

# 修改/etc/pam.d/sshd文件,添加以下行
session     optional      pam_logintime.so file=/var/log/logintime.log

六、更新系統

一些最新的漏洞可能會危及到伺服器的安全,因此需要保證系統中的軟體和內核始終是最新的。

在CentOS中,可以使用以下命令來更新系統:

yum -y update

七、其他措施

1、禁用無用的服務:

請使用chkconfig命令來禁用不需要的服務。

# 列出所有服務
chkconfig --list

# 關閉一個服務,以httpd為例
chkconfig httpd off

2、限制SSH連接IP:

在/etc/hosts.allow和/etc/hosts.deny文件中可以指定哪些IP可以訪問伺服器。

# 禁止所有非本機IP訪問
sshd: ALL
vsftpd: ALL
EXCEPT: 127.0.0.1

總結

以上是Linux伺服器安全加固措施的一些方案和具體實施方法,實施這些措施可以顯著提高伺服器的安全性。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/230414.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-10 18:17
下一篇 2024-12-10 18:17

相關推薦

  • Git secbit:一種新型的安全Git版本

    Git secbit是一種新型的安全Git版本,它在保持Git原有功能的同時,針對Git存在的安全漏洞做出了很大的改進。下面我們將從多個方面對Git secbit做詳細地闡述。 一…

    編程 2025-04-29
  • 伺服器安裝Python的完整指南

    本文將為您提供伺服器安裝Python的完整指南。無論您是一位新手還是經驗豐富的開發者,您都可以通過本文輕鬆地完成Python的安裝過程。以下是本文的具體內容: 一、下載Python…

    編程 2025-04-29
  • STUN 伺服器

    STUN 伺服器是一個網路伺服器,可以協助網路設備(例如 VoIP 設備)解決 NAT 穿透、防火牆等問題,使得設備可以正常地進行數據傳輸。本文將從多個方面對 STUN 伺服器做詳…

    編程 2025-04-29
  • 解決docker-compose 容器時間和伺服器時間不同步問題

    docker-compose是一種工具,能夠讓您使用YAML文件來定義和運行多個容器。然而,有時候容器的時間與伺服器時間不同步,導致一些不必要的錯誤和麻煩。以下是解決方法的詳細介紹…

    編程 2025-04-29
  • 手機安全模式怎麼解除?

    安全模式是一種手機自身的保護模式,它會禁用第三方應用程序並使用僅限基本系統功能。但有時候,安全模式會使你無法使用手機上的一些重要功能。如果你想解除手機安全模式,可以嘗試以下方法: …

    編程 2025-04-28
  • Powersploit:安全評估與滲透測試的利器

    本文將重點介紹Powersploit,並給出相關的完整的代碼示例,幫助安全人員更好地運用Powersploit進行安全評估和滲透測試。 一、Powersploit簡介 Powers…

    編程 2025-04-28
  • 如何選擇MySQL伺服器文件許可權

    MySQL是一種流行的關係型資料庫管理系統。在安裝MySQL時,選擇正確的文件許可權是保證安全和性能的重要步驟。以下是一些指導您選擇正確許可權的建議。 一、許可權選擇 MySQL伺服器需…

    編程 2025-04-27
  • 如何將Python代碼部署到伺服器

    Python是一種高級編程語言,常被用於數據分析、機器學習、Web開發等不同領域的工作。但是,只有將Python代碼部署到伺服器上,才能讓其真正發揮作用。 一、選擇伺服器 要將Py…

    編程 2025-04-27
  • jiia password – 保護您的密碼安全

    你是否曾經遇到過忘記密碼、密碼泄露等問題?jiia password 正是一款為此而生的解決方案。本文將從加密方案、密碼管理、多平台支持等多個方面,為您詳細闡述 jiia pass…

    編程 2025-04-27
  • Python伺服器客戶端

    本文將從以下幾個方面對Python伺服器客戶端進行詳細闡述:socket編程、HTTP協議、Web框架、非同步IO。 一、socket編程 Python的socket模塊是為網路編程…

    編程 2025-04-27

發表回復

登錄後才能評論