Linux安全與密鑰登錄指南
1. Linux安全概述
Linux系統(tǒng)安全主要依賴于控制訪問權(quán)限、監(jiān)控異常行為以及進(jìn)行安全配置。通過適當(dāng)?shù)牡卿浄绞胶驮L問限制,可以有效避免未經(jīng)授權(quán)的訪問。密鑰登錄是一種更安全的認(rèn)證方式,避免了明文密碼的風(fēng)險(xiǎn)。而登錄日志和IP限制則可以幫助我們識(shí)別和防御潛在的入侵。
2. 密鑰登錄的配置
密鑰登錄是一種比密碼登錄更安全的方式,通過生成一對公鑰和私鑰來驗(yàn)證用戶身份。以下是配置步驟。
2.1 生成密鑰對
在客戶端(例如你的電腦)上生成密鑰對:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
執(zhí)行后,會(huì)提示你設(shè)置密鑰存放的路徑(默認(rèn)是~/.ssh/id_rsa
),可以直接按Enter使用默認(rèn)路徑。接下來,如果你愿意,可以設(shè)置密鑰的密碼保護(hù)。
2.2 配置SSH密鑰登錄
- 將生成的公鑰復(fù)制到Linux服務(wù)器上:
ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip
確認(rèn)公鑰文件已被正確添加到服務(wù)器上的
~/.ssh/authorized_keys
文件中。在服務(wù)器上修改SSH配置,確保允許密鑰登錄并禁用密碼登錄:
編輯
/etc/ssh/sshd_config
文件:
sudo nano /etc/ssh/sshd_config
確保以下設(shè)置:
PasswordAuthentication no PubkeyAuthentication yes
保存文件并重啟SSH服務(wù):
sudo systemctl restart ssh
3. 查看登錄日志
Linux系統(tǒng)會(huì)記錄所有登錄活動(dòng)。可以使用以下命令查看登錄日志:
sudo cat /var/log/auth.log | grep 'sshd'
在CentOS和Red Hat系統(tǒng)上,身份驗(yàn)證日志通常存儲(chǔ)在/var/log/secure文件中。你可以嘗試使用以下命令查看SSH登錄記錄:
sudo cat /var/log/secure | grep 'sshd'
在日志中,你可以查看每次登錄的時(shí)間、IP地址以及登錄結(jié)果(成功或失?。?。這對監(jiān)控異常登錄行為非常有幫助。
4. 限制IP訪問
有時(shí)我們希望限制某些IP的訪問,或者僅允許特定IP訪問,以增強(qiáng)安全性。
4.1 設(shè)置IP封禁
可以使用fail2ban
工具來自動(dòng)封禁多次嘗試登錄失敗的IP。
- 安裝
fail2ban
:
sudo apt-get install fail2ban
- 啟動(dòng)并啟用
fail2ban
:
sudo systemctl start fail2ban sudo systemctl enable fail2ban
- 配置
fail2ban
的SSH規(guī)則,編輯配置文件:
sudo nano /etc/fail2ban/jail.local
添加如下內(nèi)容:
[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 3600
這將封禁連續(xù)3次嘗試登錄失敗的IP,并且封禁時(shí)間為3600秒(即1小時(shí))。
重啟
fail2ban
服務(wù):
sudo systemctl restart fail2ban
4.2 允許特定IP訪問
要僅允許特定IP訪問SSH,可以修改sshd_config
文件。
編輯SSH配置文件:
sudo nano /etc/ssh/sshd_config
添加以下內(nèi)容來限制IP:
AllowUsers username@your_ip
例如,若只允許IP 192.168.1.100
的用戶訪問,添加如下內(nèi)容:
AllowUsers username@192.168.1.100
保存并重啟SSH服務(wù):
sudo systemctl restart ssh
這將僅允許指定IP的用戶進(jìn)行訪問,有效防止其他IP的登錄請求。
5. 查看系統(tǒng)可登錄的賬號(hào)
要查看當(dāng)前系統(tǒng)中可以登錄的賬號(hào),可以檢查/etc/passwd
文件。此文件列出了所有用戶及其基本信息。
使用以下命令過濾出具有登錄權(quán)限的賬號(hào):
cat /etc/passwd | grep -E '/bin/bash|/bin/sh'
該命令會(huì)列出具有有效shell的用戶,表示這些用戶具備登錄權(quán)限,如果發(fā)現(xiàn)有不該登陸的賬號(hào)卻能夠登陸,通過鎖定用戶賬戶,徹底阻止賬戶的登錄操作。此方法適用于需要暫時(shí)禁用用戶而無需更改Shell的情況,以下使用admin
賬戶舉例。
執(zhí)行步驟
使用usermod
命令鎖定用戶:
sudo usermod -L admin
驗(yàn)證是否已成功鎖定:
sudo passwd -S admin
- 輸出類似于
admin L
的結(jié)果表示用戶已被鎖定。
注意:鎖定賬戶后,系統(tǒng)會(huì)在密碼字段前添加!符號(hào),表明該賬戶已被禁用。如果要解鎖賬戶,可使用usermod -U admin命令。
以上就是Linux安全與密鑰登錄指南的詳細(xì)內(nèi)容,更多關(guān)于Linux安全與密鑰登錄的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
centos 6.5 oracle開機(jī)自啟動(dòng)的環(huán)境配置詳解
這篇文章主要介紹了centos 6.5 oracle開機(jī)自啟動(dòng)的環(huán)境配置詳解的相關(guān)資料,需要的朋友可以參考下2017-01-01CentOS Linux 下配置Apache2+PHP5+MySQL5+GD庫的方法
先安裝MYSQL 服務(wù)器再安裝GD庫基本包2008-04-04阿里云 CentOS7.4 安裝 Python3.6的方法講解
下面小編就為大家分享一篇阿里云 CentOS7.4 安裝 Python3.6的方法講解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01安裝ubuntu18.04報(bào):failed to load ldlinux.c32的問題及解決步驟
這篇文章主要介紹了安裝ubuntu18.04報(bào):failed to load ldlinux.c32的問題,本文通過圖文并茂的形式給大家分享解決方法,需要的朋友可以參考下2020-08-08Linux中使用Cron定時(shí)執(zhí)行SQL任務(wù)的實(shí)現(xiàn)步驟
在Linux系統(tǒng)中,計(jì)劃任務(wù)(Cron)是一種強(qiáng)大的工具,可以自動(dòng)執(zhí)行預(yù)定的任務(wù),它非常適合定期運(yùn)行腳本、備份數(shù)據(jù)、清理臨時(shí)文件等一系列重復(fù)性任務(wù),本文給大家介紹了如何在Linux中使用Cron定時(shí)執(zhí)行SQL任務(wù),需要的朋友可以參考下2024-11-11linux中定時(shí)任務(wù)crond命令使用方法
這篇文章主要為大家詳細(xì)介紹了linux中定時(shí)任務(wù)crond命令的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02centOS7 橋接模式設(shè)置靜態(tài)Ip的方法步驟
這篇文章主要給大家介紹了關(guān)于centOS7 橋接模式設(shè)置靜態(tài)Ip的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用centOS7具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07linux查找大文件指定內(nèi)容的實(shí)現(xiàn)方法
今天小編就為大家分享一篇linux查找大文件指定內(nèi)容的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07centos7系統(tǒng)nginx服務(wù)器下phalcon環(huán)境搭建方法詳解
這篇文章主要介紹了centos7系統(tǒng)nginx服務(wù)器下phalcon環(huán)境搭建方法,結(jié)合具體實(shí)例形式詳細(xì)分析了centos7的nginx服務(wù)器搭建phalcon的具體操作步驟與相關(guān)設(shè)置技巧,需要的朋友可以參考下2019-09-09