1. 程式人生 > >SSh登陸失敗的日誌檢視與攻擊預防

SSh登陸失敗的日誌檢視與攻擊預防

之前因為伺服器裡沒有什麼重要的東西,也就一直沒有關注過登陸日誌,剛才在配置ssh chroot出現錯誤是才去看的auth.log,記得這個檔案就是個登陸日誌,而且我之前偶爾檢視時都很少內容,所以就直接cat查看了,誰知道竟然是滿屏滿屏的,"Failed password for root XXX.XXX.XXX.XXX",等了將近一分鐘仍然不見底,最後只好Ctrl+c提前結束,然後寫條命令了下,看看究竟有多少個IP在暴利破解我的root:
grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more

命令很簡單,也就不過多做解釋了,直接看看結果:
4540 86.122.189.166
855 61.1.84.12
576 61.164.145.33
304 184.32.139.224
284 200.195.151.82
222 110.234.129.177
210 200.62.142.142
202 213.152.176.153
202 129.121.32.94
42 122.228.197.134
38 119.161.145.215
30 79.174.68.97
15 82.166.223.235
13 76.28.73.184
1 119.68.246.2

最多的4000多次,還行,估計離解出我的密碼還有段距離,可是為了防範未然,也讓我的auth.log檔案能清淨一些,索性就加些防範措施。
至於預防措施到時多種多樣,我這裡說幾種我剛才嘗試過的,或者嘗試了放棄的
1、修改SSh埠,禁止root登陸


這個比較簡單,只需要修改/etc/ssh/sshd_config檔案就好了
sudo vi /etc/ssh/sshd_config
Port 4484
#這裡就該為你認為別人猜不到的埠號
PermitRootLogin no
#這裡改為no即為禁止root登陸

最後儲存,重啟
sudo /etc/init.d/ssh restart

2、禁用密碼登陸,僅用證書金鑰登陸


在客戶端生成金鑰
ssh-keygen -t rsa

把公鑰拷貝至伺服器
ssh-copy-id -i .ssh/id_rsa.pub server

也可以手動將.shh/id_rsa.pub拷貝至伺服器使用者目錄的.ssh中,記得修改訪問許可權
scp .shh/id_rsa.pub server:~/.ssh

在伺服器中
cd ./.ssh/
mv id_rsa.pub authorized_keys
chmod 400 authorized_keys

最後修改/etc/ssh/sshd_config
RSAAuthentication yes
#RSA認證
PubkeyAuthentication yes
#開啟公鑰驗證
AuthorizedKeysFile    .ssh/authorized_keys
#驗證檔案路徑 
PasswordAuthentication no
#禁止密碼認證
PermitEmptyPasswords no
#禁止空密碼
UsePAM no
#禁用PAM

最後儲存,重啟
sudo /etc/init.d/ssh restart

3、安裝denyhosts

暴露在網路上的主機都是有風險的,其中一種風險就是ssh暴力破解攻擊(ssh brute force attack)。

請先看看你的Linux主機的 /var/log/secure 檔案的內容,如果你發現裡面記錄有無數條用各種甚至在你的系統中都不存在的使用者名稱來嘗試登入你的系統的日誌,那麼你就要當心了,這很有可能是別人在用工具不斷嘗試破解你的登入帳號。

如果你的密碼不夠複雜,那麼很可能你會遭殃。防範的方法有很多種,這裡介紹一種用第三方軟體來實現防禦的方法。

據網上的資源介紹,有下面幾個防禦軟體:

這幾個軟體我沒有全部接觸過,僅用了DenyHosts。下面就說一下DenyHosts的安裝和使用。

到這裡去下載:http://sourceforge.net/projects/denyhosts/files/

下載.tar.gz的安裝包就可以了,安裝很方便。

寫本文的時候,其版本為2.6(DenyHosts-2.6.tar.gz)。

(1)解壓安裝包:

tar zxf DenyHosts-2.6.tar.gz

(2)進入解壓出來的目錄下,然後再安裝:

cd DenyHosts-2.6/

python setup.py install

(會輸出一堆資訊,不用理會它)

(3)為了能開機自動啟動,在系統中做一個名為“denyhosts”的符號連結,然後新增到啟動項中:

ln -s /usr/share/denyhosts/daemon-control-dist /etc/init.d/denyhosts

chkconfig --add denyhosts

(5)到 /usr/share/denyhosts/ 目錄下,將配置檔案denyhosts.cfg-dist複製為一個新的配置檔案——後面會說為什麼要這樣做:

cd /usr/share/denyhosts

cp denyhosts.cfg-dist denyhosts.cfg

(6)修改配置檔案:

vi denyhosts.cfg

配置檔案的內容很長,但是我們沒有必要修改所有的引數,很多都只要使用預設就夠了,但是有一些是必須要改的,部分說明如下:

# ssh日誌檔案,對RedHat來說,就是這個檔案。對其他系統來說,可能不是該檔案,請參考詳細的說明

SECURE_LOG = /var/log/secure

# 描述禁止登入的檔案

HOSTS_DENY = /etc/hosts.deny

# 當DenyHosts以--purge引數呼叫時,比這個引數設定的值久的時間的HOSTS_DENY記錄將被刪除(該引數留空的話,表示從不會清除任何HOSTS_DENY記錄)

PURGE_DENY = 

# 發生block的情況時,需要block的服務名

BLOCK_SERVICE  = sshd

# 最多允許系統中不存在的使用者登入失敗多少次

DENY_THRESHOLD_INVALID = 2

# 最多允許有效使用者登入失敗多少次

DENY_THRESHOLD_VALID = 3

# 最多允許root登入失敗多少次

DENY_THRESHOLD_ROOT = 3

# 是否做域名反解析

HOSTNAME_LOOKUP=NO

# 用來接收報警資訊的郵箱

ADMIN_EMAIL = [email protected]

# smtp伺服器地址,當你需要DenyHosts發郵件給你報警的時候,要設定這個引數

SMTP_HOST = smtp.163.com

# smtp伺服器埠

SMTP_PORT = 25

# 登入郵箱帳戶的使用者名稱

SMTP_USERNAME=usr

# 登入郵箱帳戶的密碼

SMTP_PASSWORD=pas

# 郵件中的發件人資訊

SMTP_FROM = DenyHosts <[email protected]>

# 報警郵件的標題

SMTP_SUBJECT = DenyHosts Report

其他的基本上不用改了。

文章來源:http://www.codelast.com/

(7)啟動服務:

/etc/init.d/denyhosts start

(從輸出的資訊來看,這種啟動方法實際上是呼叫瞭如下的命令:

/usr/bin/denyhosts.py --daemon --config=/usr/share/denyhosts/denyhosts.cfg

可見,它使用的配置檔案是/usr/share/denyhosts/denyhosts.cfg ,這也是為什麼我們在上面的步驟中要把預設的配置檔案複製為一個新的配置檔案“denyhosts.cfg”的原因了。)

(8)測試:

從另一臺伺服器上,以一個不存在的使用者名稱和密碼來ssh登入部署了的DenyHosts伺服器,如果你在DenyHosts的配置檔案中設定的是錯誤地嘗試一次就被block,那麼你就會發現你這臺登入的客戶端伺服器被block了。並且,在部署了DenyHosts的伺服器上,檢視檔案/etc/hosts.deny 的內容,會發現多了一條記錄,正是遮蔽了登入者的那一條記錄,這就說明生效了。

文章來源:http://www.codelast.com/

備註:

如果一臺伺服器被誤block了,可以在部署DenyHosts的伺服器上,將檔案 /etc/hosts.deny 中相應的條目刪掉,再重啟DenyHosts服務(/etc/init.d/denyhosts restart),就可以解除block了。

相關推薦

SSh登陸失敗日誌檢視攻擊預防

之前因為伺服器裡沒有什麼重要的東西,也就一直沒有關注過登陸日誌,剛才在配置ssh chroot出現錯誤是才去看的auth.log,記得這個檔案就是個登陸日誌,而且我之前偶爾檢視時都很少內容,所以就直接cat查看了,誰知道竟然是滿屏滿屏的,"Failed password

Git for Windows之日誌檢視版本切換

1、檢視本地版本庫的修改日誌 (1)、通過log指令檢視完整日誌   (2)、通過 log --pretty=oneline檢視簡易版日誌     2、版本切換 (1)、切換到本地版本庫最新的版本,通過reset --hard 版本號的前幾位(不需

微信登陸失敗redirect_uri 域名後臺配置不一致 10003(thinkphp)

public function index(){ $redirect_url = 'http://www.ceshi.com/ceshi';//設定域名時沒有http://,在獲取code時必須有,否則將一直顯示10003錯誤 $a = $this->baseAut

SSH登陸失敗可能原因,備忘

情況一 命令如下: root@linux:~# ssh -i ~/.ssh/id_rsa [email protected] @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @

linux下通過ssh登陸失敗解決方案

在一臺linux機器上ssh遠端另外一臺linux伺服器時候出現: [[email protected] .ssh]# ssh 192.0.50.80 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Ubuntu14.04橋接網絡設置SSH登陸

== win 另一個 http 5.4 apt log pos 虛擬機 林炳文Evankaka原創作品。轉載請註明出處http://blog.csdn.net/evankaka 操作系統:Unbuntu14.04虛擬機:VMware10一、網絡設置1、設置vmwa

ssh無法登陸,secure日誌報錯not allowed because none of user's groups

來看 onf one init 百度 gin user not etc 背景:一臺阿裏雲ECS跑了雲市場的一個安全加固腳本,限制了root登錄和密碼登錄,由於客戶需求,需要將root放開 對應操作: vim /etc/ssh/sshd_config PermitRootL

修改SSH登陸埠,防止vps被攻擊

     博主前段時間購買了一個VPS,終於開始了科學上網的生活。但是呢,由於博主沒有修改SSH的連線埠,導致有大量的黑客對我的vps進行掃描。試圖暴力破解密碼,將博主的vps當做肉雞處理。為了防止題注的vps被不良分子當做肉雞進行跳轉攻擊。博主刻意把自己的vps的SS

iOS攻防:ssh登陸交叉編譯

簡介 iOS攻防系列大家耳熟能詳的是我們iOS女神念茜的系列文章。博主在看了之後也進行了一系列的學習和嘗試。念茜的文章寫的比較早,有很多文章中提到的東西已經不再適合現在使用,寫的也不算詳細,很多地方一筆帶過,卻不是那麼好探索。在中間也有很多摸索的過程。 所以本系列文章算是對念茜

讀取系統"安全"日誌中的失敗登入嘗試 + 新增攻擊者IP到防火牆策略

Private Sub btnRead_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt

配置ssh登陸賬號及其操作命令的日誌記錄

一.問題描述 某些開發機,給多個人使用,經常出現誤操作,問是哪個人乾的,沒人承認。出現這種情況,除了要規範、引導、加強大家的日常安全操作意識及流程來避免誤操作發生,還要記錄對應日誌做審計。如果公司規模大,業務需要,比如上市公司404審計等,那麼需要用rsa+token+跳板

Linux ssh遠端登陸方式:密碼公鑰

 27伺服器ssh-keygen -t rsa 生成金鑰檔案和私鑰檔案 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub 將.pub檔案複製到"26"伺服器的.ssh目錄, 並cat id_dsa.pub >> ~/.ssh/authorized_keys "27"伺服器執行

工控機筆記本通訊---ssh 登陸

遇到的問題 1.工控自身連上的無線網訊號較弱且易斷,故買了無線網絡卡連通WiFi。 2.筆記本與工控機自動連上的無線網不在一個區域網內,無法進行遠端登入(ssh登入) 3.配置同一個區域網內的IP之後,能上外網,能ping通閘道器但是無法ping通互相的I

SSH登陸不上

ssh連接不上SSH登陸不上,很多原因。我重啟SSH,登陸不上。報錯:沒有權限,如圖:無論是修改配置文件。還是改配置文件的權限。都不行。最後,QQ群中,網友提醒,SELINUX關了嗎?我一看,沒關!(理所當然,認為關了。)修改,然後就連上了。SSH登陸不上

SSH登陸阿裏雲服務器出現Permission denied (publickey)錯誤解決方案

ckey 是個 鑰匙串 col code gen fff font 重啟 操作環境: 操作系統:Mac10.11.5 阿裏雲服務器:Ubuntu16.04 遠程連接:SSH 註:首先我們已假設你已經自己生成了SSH秘鑰,並已經配置到阿裏雲、綁定了自己的雲服務器。 但是

Ubuntu使用SSH共享失敗解決方法

1.5 3.1 inux -1 hab 動態ip 通過 安裝 9.png VMware上Ubuntu使用SSH共享失敗,出現以下錯誤: The host‘192.168.59.128‘is unreachable, the host may be down,or there

SSH登陸服務器慢的問題解決

配置文件 服務器 server 主機 SSH登陸服務器慢的問題解決: SSH慢的原因(常見)故障現象:執行ssh [email protected]/* */反應非常慢,等很久的時間才連接進去故障分析:一般是hosts文件的127.0.0.1和主機名不對應導致的解決方法: 三種可能

shell 自動檢查SSH暴力破解IP並阻斷攻擊

ssh在5分鐘內嘗試密碼登錄錯誤超過10次的拒絕這個ip#!/bin/bashlocal_ip="192.168.0.4" #定義本地IP不會被拒絕tmp_log=`mktemp`cat /var/log/secure |grep "Failed password for root from" |awk

CI 失敗的原因解決辦法

解決方案 技術經理 產品經理 服務器 軟件開發 導讀敏捷軟件開發必須輔以有效的持續集成(CI)。CI就是持續進行分析、構建、測試和部署的流程。在發布到生產系統之前,CI會檢查代碼質量和測試產品的業務邏輯。理想情況下,當構建失敗時,我們是不能允許軟件繼續發布到生產上。但是,持續集成的理念並未

登陸失敗:未知的用戶名或密碼錯誤

管理員 局域網 體驗 article 電腦 .html 管理 級別 htm 按下面的方法“把網絡安全:LAN管理器身份驗證級別從“沒有定義”更改為“發送 LM 和 NTLM - 如果已協商,則使用 NTLMv2 會話安全:”即可。”還是不可!!! http://jingya