如何防止別人暴力破解你的密碼环鲤!

Fail2ban阻止暴力破解

簡介:

Fail2ban能夠監(jiān)控系統(tǒng)日志,匹配日志中的錯誤信息(使用正則表達(dá)式)憎兽,執(zhí)行相應(yīng)的屏蔽動作(支持多種冷离,一般為調(diào)用 iptables ),是一款很實用纯命、強(qiáng)大的軟件西剥。

如:攻擊者不斷嘗試窮舉SSH、SMTP 亿汞、FTP 密碼等瞭空,只要達(dá)到預(yù)設(shè)值,fail2ban 就會調(diào)用防火墻屏蔽此 IP 疗我,并且可以發(fā)送郵件通知系統(tǒng)管理員咆畏。

功能、特性:

1吴裤、支持大量服務(wù):sshd 旧找、apache 、qmail 等2麦牺、支持多作動作:iptables 钮蛛、tcp-wrapper 、shorewall 剖膳、mail notifications 等3魏颓、logpath 選項中支持通配符4、需要 Gamin 支持(Gamin 用于監(jiān)控文件和目錄是否更改)5潮秘、如果需要郵件通知琼开,則系統(tǒng)事先要確保能夠正常發(fā)送郵件

1、fail2ban 安裝

2枕荞、fail2ban 結(jié)構(gòu)

/etc/fail2ban ? ? ? ? ? ? ? ? ?## fail2ban服務(wù)配置目錄/etc/fail2ban/action.d ? ? ## iptables、mail 等動作文件目錄/etc/fail2ban/filter.d ? ? ? ##條件匹配文件目錄搞动,過濾日志關(guān)鍵內(nèi)容/etc/fail2ban/jail.conf ? ? ## fail2ban防護(hù)配置文件/etc/fail2ban/fail2ban.conf ? ## fail2ban配置文件躏精,定義日志級別、日志鹦肿、sock 文件位置等

3矗烛、fail2ban.conf 配置


shell > grep -v ^# /etc/fail2ban/fail2ban.conf


[Definition]


loglevel = 3 ##定義日志級別,默認(rèn)


logtarget = /var/log/fail2ban.log ##定義 fail2ban 日志文件


socket = /var/run/fail2ban/fail2ban.sock ## sock文件存放位置,默認(rèn)


pidfile = /var/run/fail2ban/fail2ban.pid ## pid文件存放位置瞭吃,默認(rèn)


4碌嘀、jail.conf 防護(hù)配置

shell > grep -v ^# /etc/fail2ban/jail.conf


[DEFAULT] ##全局設(shè)置,優(yōu)先級最小


ignoreip = 127.0.0.1/8 ##不受限制的 IP 歪架,多組用空格分割


bantime = 600 ##非法 IP 被屏蔽時間(秒)股冗,-1 代表永遠(yuǎn)封鎖


findtime = 600 ##設(shè)置多長時間(秒)內(nèi)超過 maxretry 限制次數(shù)即被封鎖


maxretry = 3 ##最大嘗試次數(shù)


backend = auto ##日志修改檢測機(jī)制(gamin 、polling 和蚪、auto 三種)


usedns = warn


[ssh-iptables] ##分類設(shè)置(基于 SSHD 服務(wù)的防護(hù))


enabled = true ##是否開啟防護(hù)止状,false 為關(guān)閉


filter = sshd ##過濾規(guī)則 filter 名稱,對應(yīng) filter.d 目錄下的 sshd.conf



action = iptables[name=SSH, port=ssh, protocol=tcp] ##動作參數(shù)


sendmail-whois[name=SSH, dest=you@example.com, sender=fail2ban@example.com, sendername="Fail2Ban"] ##郵件通知參數(shù)

##收件人地址 ??????????## 發(fā)件人地址


logpath = /var/log/secure ##檢測系統(tǒng)登陸日志文件


maxretry = 5 ##最大嘗試次數(shù)



##默認(rèn)此配置文件中還有大量的服務(wù)防護(hù)配置攒霹,只不過默認(rèn)都是關(guān)閉(false)狀態(tài)怯疤,不用理會。


5催束、fail2ban 啟動集峦、測試 SSHD 防護(hù)

shell > service fail2ban start ##如果重啟 iptables ,必須重啟 fail2ban


shell > fail2ban-client status ##可以看到有一個實例已經(jīng)開始監(jiān)控

Status

|- Number of jail: 1

`- Jail list: ssh-iptables


shell > iptables -nL ## iptables也加入了一條規(guī)則


fail2ban-SSH tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22

##這時客戶端嘗試登陸本機(jī)抠刺,故意輸入五次密碼塔淤,就會看到如下日志:

shell > tail?-1?/var/log/fail2ban.log

2015-06-05?17:39:19,647?fail2ban.actions[1313]: WARNING [ssh-iptables] Ban 192.168.214.1

##可以看到:192.168.214.1 被 Ban 掉了。

shell > cat /var/log/secure ##系統(tǒng)登陸日志


Jun 5 17:39:01 localhost sshd[1341]: Failed password for root from 192.168.214.1 port 2444 ssh2

Jun 5 17:39:06 localhost sshd[1341]: Failed password for root from 192.168.214.1 port 2444 ssh2

Jun 5 17:39:11 localhost sshd[1341]: Failed password for root from 192.168.214.1 port 2444 ssh2

Jun 5 17:39:14 localhost sshd[1341]: Failed password for root from 192.168.214.1 port 2444 ssh2

Jun 5 17:39:18 localhost sshd[1341]: Failed password for root from 192.168.214.1 port 2444 ssh2

Jun 5 17:41:39 localhost login: pam_unix(login:session): session opened for user root by LOGIN(uid=0)

6矫付、加入 Nginx 防護(hù)( httpd 代替 )

##目的是把規(guī)定時間內(nèi)達(dá)到限定訪問次數(shù)的 IP 封鎖(例如凯沪,一分鐘內(nèi)有幾百次請求)

shell > vim /etc/fail2ban/jail.conf


[nginx] ## nginx防護(hù)


enabled = true

filter = nginx ?##訪問規(guī)則定義文件,位置在 /etc/fail2ban/filter.d/nginx.conf

action = iptables[name=nginx, port=http, protocol=tcp]

sendmail-whois[name=nginx, dest=1355*******@139.com, sender=fail2ban@aoath.com, sendername="Fail2Ban"]


logpath = /var/log/httpd/access_log ## nginx訪問日志


bantime = 86400 ##符合規(guī)則的屏蔽一天买优,如果參數(shù)值與全局有沖突妨马,優(yōu)先級大于全局配置

findtime = 600 ?## 10分鐘內(nèi)訪問超過 maxretry 次數(shù)的封鎖 IP

maxretry = 1000 ##最大嘗試次數(shù)


shell > vim /etc/fail2ban/filter.d/nginx.conf


[Definition]

failregex =.*-.*-.*$ ## 表示訪問 IP ,其余的其實是最簡單匹配了杀赢。因為這里沒有要匹配精確的 URL 烘跺,只是限制訪問次數(shù)

ignoreregex =


shell > fail2ban-regex /var/log/httpd/access_log /etc/fail2ban/filter.d/nginx.conf ##可以測試條件規(guī)則是否可用


shell > service fail2ban restart ##重啟服務(wù)


shell > fail2ban-client status ##可以看到有兩個實例在監(jiān)控中

Status

|- Number of jail: 2

`- Jail list: nginx, ssh-iptables


##開始測試,通過腳本或者不管刷新頁面測試 Nginx 防護(hù)( 便于測試脂崔,可以將 maxretry 的值調(diào)為 10 )

shell > fail2ban-client status nginx ##可以看到被 Ban 掉的 IP

Status for the jail: nginx

|- filter

| |- File list: /var/log/httpd/access_log

| |- Currently failed: 1

| `- Total failed: 39

`- action

|- Currently banned: 1

| `- IP list: 192.168.214.1

`- Total banned: 1


Linux下使用extundelete實現(xiàn)文件/文件夾數(shù)據(jù)恢復(fù)

注意事項

恢復(fù)文件的時候一定要卸載磁盤分區(qū)

1.首先關(guān)閉防火墻和SELINUX


2.在虛擬機(jī)上創(chuàng)建一個2G的磁盤

# fdisk /dev/sdb

n+p+1+回車+回車+w

4.使分區(qū)無需重啟就能生效

# partx -a /dev/sdb

5.格式化為ext4分區(qū)并掛載

# mkfs.ext4 /dev/sdb1

# mkdir /data

# mount /dev/sdb1 /data

注: 在實際線上恢復(fù)過程中滤淳,切勿將extundelete安裝到你誤刪的文件所在硬盤,這樣會有一定幾率將需要恢復(fù)的數(shù)據(jù)徹底覆蓋砌左。

建議加裝一塊硬盤將extundelete安裝到此硬盤脖咐,再做以下操作。

二.extundelete安裝

1.安裝依賴包


2.下載并安裝extundelete

# wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2


# tar -jxvf extundelete-0.2.4.tar.bz2


# cd extundelete-0.2.4


# ./configure --prefix=/usr/local/extundelete


# make && make install


3.驗證是否安裝成功

# cd /usr/local/extundelete/bin


# ./extundelete -v


4.設(shè)置環(huán)境變量

# echo "PATH=/usr/local/extundelete/bin:$PATH" >> /etc/profile


# echo "export PATH" >> /etc/profile


# source /etc/profile


5.上傳一些圖片汇歹,安裝包等文件到/data目錄

# cd /data

# yum install lrzsz -y

# rz

-------------

本地文件.....

-------------

# ls

------------------

lost+found ?mysql-5.6.10.tar.gz ?nginx.conf ?pic.jpg

------------------


6.全部刪除

# rm -rf *


7.查看被刪除文件

1).查看前需卸載該磁盤分區(qū)

# cd ~

# umount /dev/sdb1


2).查看文件

注:一般一個分區(qū)掛載到一個目錄下時屁擅,這個”根”目錄的inode值為2

我們?yōu)榱瞬榭锤夸浰形募圆榭捶謪^(qū)inode為2的這個部分

# extundelete /dev/sdb1 --inode 2

--------------------------------

.....


File name ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | Inode number | Deleted status

. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2

.. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2

lost+found ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?11 ? ? ? ? ? ? Deleted

mysql-5.6.10.tar.gz ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 12 ? ? ? ? ? ? Deleted

nginx.conf ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?13 ? ? ? ? ? ? Deleted

pic.jpg ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 14 ? ? ? ? ? ? Deleted

--------------------------------

注:標(biāo)記為”Deleted”的文件則是被刪除的文件


8.恢復(fù)指定的文件

注: 默認(rèn)被刪文件會恢復(fù)到當(dāng)前目錄下的RECOVERED_FILES目錄中去

# extundelete --restore-file pic.jpg /dev/sdb1 ?

# cd RECOVERED_FILES/

# ll

----------------

-rw-r--r-- 1 root root 52592 8月 ?13 07:18 pic.jpg

----------------


9.完全恢復(fù)設(shè)備上文件

# extundelete --restore-all /dev/sdb1

# ll

-----------------------------------

總用量34464

-rw-r--r-- 1 root root 35174149 8月 ?13 07:24 mysql-5.6.10.tar.gz

-rw-r--r-- 1 root root ? ? 4551 8月 ?13 07:24 nginx.conf

-rw-r--r-- 1 root root ? ?52592 8月 ?13 07:18 pic.jpg

-rw-r--r-- 1 root root ? ?52592 8月 ?13 07:24 pic.jpg.v1

-----------------------------------

注:這里完全恢復(fù)并不會把之前恢復(fù)的pic.jpg文件覆蓋掉产弹,而是重命名為pic.jpg.v1


10.恢復(fù)指定的時間點后被刪文件

1).指定一個時間點

# date -d "Sep 4 03:09:13 2013" +%s

------------------

1378235353

------------------

2).恢復(fù)這個時間點后的文件

# extundelete --restore-all --after “1378235353” /dev/sdb1

--------------------

..........

--------------------

注:如果要恢之前的就用before參數(shù)派歌。extundelete命令與after結(jié)合使用,在進(jìn)行恢復(fù)時非常有用,可以過濾掉那太舊的文件胶果,減小恢復(fù)壓力匾嘱。


11.檢驗是否恢復(fù)成功

# md5sum RECOVERED_FILES/mysql-5.6.10.tar.gz

------------------------------------

9dcee911fb4bc7e977a6b63f4d3ffa63??RECOVERED_FILES/mysql-5.6.10.tar.gz

------------------------------------

上傳剛才誤刪的mysql安裝包

# rz

...

# md5sum mysql-5.6.10.tar.gz

---------------------------------

9dcee911fb4bc7e977a6b63f4d3ffa63??mysql-5.6.10.tar.gz

---------------------------------

MD5值相同,恢復(fù)成功早抠。霎烙。。


-----------大功告成-------------




5.寫出你認(rèn)為的運(yùn)維是什么

保證代碼上線后贝或,你的服務(wù)正常能夠被用戶訪問吼过。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市咪奖,隨后出現(xiàn)的幾起案子盗忱,更是在濱河造成了極大的恐慌,老刑警劉巖羊赵,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件趟佃,死亡現(xiàn)場離奇詭異,居然都是意外死亡昧捷,警方通過查閱死者的電腦和手機(jī)闲昭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來靡挥,“玉大人序矩,你說我怎么就攤上這事“掀疲” “怎么了簸淀?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長毒返。 經(jīng)常有香客問我租幕,道長,這世上最難降的妖魔是什么拧簸? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任劲绪,我火速辦了婚禮,結(jié)果婚禮上盆赤,老公的妹妹穿的比我還像新娘贾富。我一直安慰自己,他們只是感情好牺六,可當(dāng)我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布祷安。 她就那樣靜靜地躺著,像睡著了一般兔乞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天庸追,我揣著相機(jī)與錄音霍骄,去河邊找鬼。 笑死淡溯,一個胖子當(dāng)著我的面吹牛读整,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播咱娶,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼米间,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了膘侮?” 一聲冷哼從身側(cè)響起屈糊,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎琼了,沒想到半個月后逻锐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡雕薪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年昧诱,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片所袁。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡盏档,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出燥爷,到底是詐尸還是另有隱情蜈亩,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布局劲,位于F島的核電站勺拣,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏鱼填。R本人自食惡果不足惜药有,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望苹丸。 院中可真熱鬧愤惰,春花似錦、人聲如沸赘理。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽商模。三九已至奠旺,卻和暖如春蜘澜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背响疚。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工鄙信, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人忿晕。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓装诡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親践盼。 傳聞我的和親對象是個殘疾皇子鸦采,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載:https://blog.csdn.net/u013181216/article/details/83069...
    SkTj閱讀 1,134評論 0 6
  • 1、密碼足夠復(fù)雜: 密碼的長度要大于8位最好大于14位咕幻。密碼的復(fù)雜度是密碼要盡可能有數(shù)字渔伯、大小寫字母和特殊符號混合...
    平凡拒絕平庸閱讀 675評論 1 5
  • Linux啟動過程 1.開機(jī)自檢BIOS 2.MBR引導(dǎo) 3.GRUB菜單 4.加載內(nèi)核 5.運(yùn)行init進(jìn)程 6...
    康樂_SH閱讀 399評論 0 0
  • 通知一定要看仔細(xì)咱旱,所有信息都要掌握清楚,這樣做起事來才能完備無缺绷耍。 開會要早點到吐限。不管什么會議,如果遲到了褂始,丟的不...
    當(dāng)?shù)?/span>閱讀 648評論 0 0
  • 你好呀诸典,我是C 蒙,來自有世界硒都之稱崎苗,地處武漢和重慶兩大"火爐"之間的城市恩施狐粱。 2018年,我加入剽悍讀書營胆数,...
    O_蒙先生閱讀 178評論 0 0