前言
之前買的騰訊雲服務器,總是收到提醒被其它的ip
攻擊試圖破解。老夫實在是忍無可忍,自己在網上參考了一篇教程,就總結了下,防止ssh
暴力破解linux
用戶,將試圖入侵的ip達到一定次數就放入黑名單中。還是提醒一句吧,這裏是基於root用戶登錄講解的。當然了你自己的雲服務器,肯定是用root用戶登錄的。
分配文件基本權限時核心原則:在最小權限情況下能實現要求即可。
區別:root
用戶登錄的是#
符號,普通用戶登錄的用戶是$
符號。
延伸閱讀
linux系統管理之系統資源查看
linux系統管理之系統定時任務
正文
一、首先看一下awk
命令記錄黑名單
cat /var/log/secure | awk '/Failed/{print $(NF-3)}' | sort|uniq -c
| awk '{print $2"="$1;}' > /opt/black_ip/black.list
二、編輯腳本通過for循環過濾出登錄錯誤超過指定次數的ip
編輯你的腳本:vim /usr/local/bin/secure_ssh.sh
#! /bin/bash
cat /var/log/secure | awk '/Failed/{print $(NF-3)}' | sort|uniq -c
| awk '{print $2"="$1;}' > /opt/black_ip/black.list
# DEFINE=1,代表你設置的允許嘗試登錄次數爲1次,根據自己的需求設置
DEFINE="1"
for i in `cat /opt/black_ip/black.list`
do
IP=`echo $i|awk -F= '{print $1}'` # 過濾的ip地址
NUM=`echo $i|awk -F= '{print $2}'` # 過濾的ip嘗試登錄的次數
if [[ ${NUM} -gt ${DEFINE} ]]; then
grep $IP /etc/hosts.deny > /dev/null
if [ $? -gt 0 ];then
# 你可以把你常用的ip放入host.allow文件白名單,hosts.deny對應的就是黑名單
echo "sshd:$IP:deny" >> /etc/hosts.deny
fi
fi
done
思來想去還是加上一些註釋,便於理解。
三、賦予執行權限
權限目錄的作用
- r:查詢目錄下的文件(
ls
目命令) - w:修改目錄的權限。例如:新建,刪除,重命名,剪切,複製文件和目錄(
touch,rm,mv,cp
) - x:進入目錄(
cd
)
chmod
777(慎重賦予最高權限) 【文件】,這裏就不詳細講基本權限了,後續會出相關的文章。
每一位對應的含義
- 第1個7代表所有者
- 第2個7代表所屬組
- 第3個7代表other
使用chmod 755 secure_ssh.sh
命令賦予讀與執行的權限。
對文件來講:最高權限爲x
(執行);對目錄來講:最高權限爲w
(寫)。
這裏再囉嗦一遍,分配文件基本權限時核心原則:在最小權限情況下能實現要求即可。
四、循環執行腳本
先看看*
代表的意義
* * * * *
執行的任務 ," * "
的含義如下表所示:
內容 | 含義 | 範圍 |
---|---|---|
第一個“ * ”號 | 一小時當中的第幾分鐘 | 0-59 |
第二個“ * ”號 | 一天當中的第幾小時 | 0-23 |
第三個“ * ”號 | 一個月當中的第幾天 | 1-31 |
第四個“ * ”號 | 一年當中的第幾個月 | 1-12 |
第五個“ * ”號 | 一週當中的星期幾 | 0-7(0和7都代表星期日) |
再看看一些符號代表的含義
- “ * ” :代表任意時間 例如:第一個“ * ” 每分鐘執行一次命令
- “ , ”: 代表不連續的時間 例如:“ 0 9,12,15 * * * 命令” 每天的9:00,12:00,15:00都執行一次命令
- “ - ": 代表連續的時間範圍 例如:“0 8 * * 1-6 命令” 每週一到週六的上午8點執行命令
- “ * /n ”:代表每隔多久執行一次 例如:“*/7 * * * *命令” 每隔7分鐘執行一遍命令
設置每分鐘執行一次:
*/1 * * * * /usr/local/bin/secure_ssh.sh
第一種方式:使用crontab -e
設置循環執行腳本
crontab -e
,設置每隔1分鐘執行一次
*/1 * * * * /usr/local/bin/secure_ssh.sh
第二種方式:編輯rc.local
,將命令寫入:
vim /etc/rc.local
*/1 * * * * /usr/local/bin/secure_ssh.sh
尾聲
上面的方法雖然可行的,但是不推薦第一種方式。建議使用第二種方式將命令放入rc.local
文件裏面,隨着服務器的啓動命令跟着執行。好了,到此爲止就是此篇文章的全部內容了,能看到這的都是帥哥靚妹啊!!!祝在座的各位客官們鼠年大吉,“鼠”不盡的快樂!“鼠”不盡的收穫!“鼠”不盡的鈔票!“鼠”不盡的笑容!“鼠”不盡的幸福!“鼠”不盡的甜蜜!“鼠”不盡的激情!“鼠”不盡的活力!“鼠”不盡的健康!“鼠”不盡的帥哥!“鼠”不盡的美女!