iptables使用

常用命令

最近在云主機(jī)的日志`/var/log/secure`里發(fā)現(xiàn)一些惡意嘗試登陸的IP继控,具體表現(xiàn)是不斷使用root用戶或其他用戶嘗試登陸失敗,盡管設(shè)置了強(qiáng)密碼吊输,但被這樣掃描還是不爽,所以考慮用iptables屏蔽它。如下:

```

...

Dec 15 03:16:42 vultr sshd[8242]: Failed password for root from 111.67.202.86 port 47456 ssh2

Dec 15 03:16:42 vultr sshd[8246]: Failed password for root from 61.177.172.128 port 37898 ssh2

Dec 15 03:16:42 vultr sshd[8248]: Failed password for root from 20.188.4.3 port 33470 ssh2

...

Dec 17 23:25:17 vultr sshd[26352]: Invalid user patrice from 92.50.249.166 port 58804

Dec 17 23:25:18 vultr sshd[26354]: Invalid user carlo from 115.94.204.156 port 59334

Dec 17 23:25:22 vultr sshd[26356]: Invalid user papakyriakou from 201.161.58.237 port 48404

Dec 17 23:25:32 vultr sshd[26360]: Invalid user passwd444 from 154.8.138.184 port 35270

Dec 17 23:27:13 vultr sshd[26370]: Invalid user debost from 193.109.123.210 port 56728

Dec 17 23:28:03 vultr sshd[26375]: Invalid user nw from 217.182.74.125 port 59100

Dec 17 23:28:22 vultr sshd[26378]: Invalid user dauchez from 104.248.117.234 port 60202

Dec 17 23:28:23 vultr sshd[26380]: Invalid user maimai from 182.61.28.191 port 35232

Dec 17 23:28:25 vultr sshd[26382]: Invalid user bouillon from 139.59.72.210 port 58025

Dec 17 23:28:30 vultr sshd[26384]: Invalid user it from 80.211.133.219 port 48879

...

```

先從`/var/log/secure`中篩選出待屏蔽的IP裁奇,比如xx.xx.xx.xx。

在linux中麦撵,使用iptables維護(hù)IP規(guī)則表刽肠,要封停或者解封IP免胃,其實(shí)就是在IP規(guī)則表中對(duì)入站部分的規(guī)則進(jìn)行添加操作音五。

要封停一個(gè)IP,可以使用以下命令:

```

iptables -I INPUT -s ... -j DROP

```

要解封一個(gè)IP羔沙,使用以下命令:

```

iptables -D INPUT -s ... -j DROP

```

參數(shù)-l表示Insert(添加)躺涝,-D表示Delete(刪除)。后面跟的是規(guī)則扼雏,INPUT表示入站坚嗜,...表示要封的IP,DROP表示放棄連接诗充。

例如苍蔬,想封掉`112.85.42.175`這個(gè)IP,可以使用:

```

iptables -I INPUT -s 112.85.42.175 -j DROP

```

封IP段的命令:

```

iptables -I INPUT -s 124.85.0.0/16 -j DROP

```

封整個(gè)段:

```

iptables -I INPUT -s 124.85.0.0/8 -j DROP

```

只封幾個(gè)段的80端口:

```

iptables -I INPUT -p tcp –dport 80 -s 124.115.0.0/24 -j DROP

```

禁止指定的端口:

```

iptables -A INPUT -p tcp --dport 80 -j DROP

```

開放指定的端口:

```

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

```

拒絕所有的端口:

```

iptables -A INPUT -j DROP

```

可以通過(guò)以下命令查看當(dāng)前的IP規(guī)則:

```

iptables -L/--list

```

如果想清空封掉的IP地址蝴蜓,可以輸入:

```

iptables -F/--flush

```

ipset

當(dāng)需要屏蔽的IP較多時(shí)碟绑,直接使用iptables就比較麻煩,這時(shí)候可以使用ipset。

ipset是iptables的擴(kuò)展蜈敢,也就是允許創(chuàng)建匹配地址的集合辜荠。與普通的iptables鏈只能單IP匹配不同,通過(guò)ipset創(chuàng)建的抓狭,ip集合存儲(chǔ)在帶索引的數(shù)據(jù)結(jié)構(gòu)中伯病,這種結(jié)構(gòu)在集合較大時(shí)也能進(jìn)行高效的查找。ipsets也具備一些新防火墻設(shè)計(jì)方法,并簡(jiǎn)化了配置.官網(wǎng):http://ipset.netfilter.org/

安裝與使用

yum 安裝:

```

[root@VM_0_12_centos ~]# yum install ipset

```

創(chuàng)建一個(gè)ipset:

```

[root@VM_0_12_centos ~]# ipset create allset hash:net? (也可以是hash:ip 否过,這指的是單個(gè)ip)

```

可以通過(guò)`ipset -h`查看能創(chuàng)建的ipset類型午笛。

查看創(chuàng)建的ipset:

```

[root@VM_0_12_centos ~]# ipset list

Name: allset

Type: hash:net

Revision: 3

Header: family inet hashsize 1024 maxelem 65536

Size in memory: 16784

References: 0

Members:

```

ipset默認(rèn)可以存儲(chǔ)65536個(gè)元素,使用maxelem指定數(shù)量:

```

[root@VM_0_12_centos ~]# ipset create openapi hash:net maxelem 1000000

[root@VM_0_12_centos ~]# ipset list

Name: allset

Type: hash:net

Revision: 3

Header: family inet hashsize 1024 maxelem 65536

Size in memory: 16784

References: 0

Members:

Name: openapi

Type: hash:net

Revision: 3

Header: family inet hashsize 1024 maxelem 1000000

Size in memory: 16784

References: 0

Members:

```

加入一個(gè)黑名單ip:

```

[root@VM_0_12_centos ~]# ipset add allset 112.85.42.175

```

創(chuàng)建防火墻規(guī)則苗桂,指定allset這個(gè)ip集合中的ip都無(wú)法訪問(wèn)80端口:

```

iptables -I INPUT -m set --match-set allset src -p tcp --destination-port 80 -j DROP

service iptables save

```

其中`-m set`表示使用擴(kuò)展模塊set的功能药磺,

>> 注意`-m tcp`表示使用`tcp`擴(kuò)展模塊的功能 (`tcp`擴(kuò)展模塊提供了 `--dport`, `--tcp-flags`, `--sync`等功能),`-p tcp` 和`-m tcp`是兩個(gè)不同層面的東西煤伟,一個(gè)是說(shuō)當(dāng)前規(guī)則作用于`tcp` 協(xié)議包癌佩,而后一是說(shuō)明要使用`iptables`的`tcp`模塊的功能 (`--dport`等)

去掉黑名單的IP:

```

ipset del allset 112.85.42.175

```

該地址就又能訪問(wèn)了

保存ipset規(guī)則到文件中:

```

ipset save allset -f allset.txt

```

導(dǎo)入ipset規(guī)則:

```

ipset restore -f allset.txt

```

刪除ipset:

```

ipset destroy allset

```

>> ipset的一個(gè)優(yōu)勢(shì)是集合可以動(dòng)態(tài)的修改,即使ipset的iptables規(guī)則目前已經(jīng)啟動(dòng)便锨,新加的入ipset的ip也生效

實(shí)例

例: 某服務(wù)器被CC攻擊围辙,經(jīng)過(guò)抓包或者一序列手段發(fā)現(xiàn)有一批IP是源攻擊ip,由于ip較多放案,如果用iptables一條一條加就麻煩些了姚建。

1. 確定IP

對(duì)TIME_WAIT的外部ip以及此對(duì)ip出現(xiàn)的次數(shù)經(jīng)行求重排序:

```

netstat -ptan | grep TIME_WAIT | awk '{print $5}' | awk -F: '{print $1}' |sort |uniq -c | sort -n -r

```

tcpdump 抓取100個(gè)包,訪問(wèn)本機(jī)80的ip進(jìn)行求重排序只顯示前20個(gè)吱殉,數(shù)量多的ip可能為攻擊源IP掸冤,我們需要封掉它:

```

tcpdump -tnn dst port 80 -c 100 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -n -r |head -20

```

2. 新建文件,加入這些ip

```

vim allset.txt

  add setname xxx.xxx.xxx.xxx

```

3. 導(dǎo)入文件到ipset集中

```

ipset restore -f allset.txt

```

4. 查看導(dǎo)入是否成功

```

ipset list

```

5. 建立iptables規(guī)則友雳,攔截這些攻擊ip訪問(wèn)服務(wù)器的80端口

```

iptables -I INPUT -m set --match-set allset src -p tcp --destination-port 80 -j DROP

```

回到剛開始的問(wèn)題稿湿,發(fā)現(xiàn)`/var/log/secure`中存在大量惡意嘗試登陸的IP,先篩選出這些IP:

```

cat /var/log/secure|grep "Failed password"| awk -F "from" '{print $2}' | awk -F "port" '{print $1}' | sort | uniq -c | sort -n -r |head -20

```

在將這些ip導(dǎo)入ipset中沥阱,建立屏蔽規(guī)則缎罢。如果惡意ip很頻繁,可以把以上步驟編寫為shell腳本加到crontab中考杉,定期屏蔽這些ip策精。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市崇棠,隨后出現(xiàn)的幾起案子咽袜,更是在濱河造成了極大的恐慌,老刑警劉巖枕稀,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件询刹,死亡現(xiàn)場(chǎng)離奇詭異谜嫉,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)凹联,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門沐兰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人蔽挠,你說(shuō)我怎么就攤上這事住闯。” “怎么了澳淑?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵比原,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我杠巡,道長(zhǎng)量窘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任氢拥,我火速辦了婚禮蚌铜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘嫩海。我一直安慰自己厘线,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布出革。 她就那樣靜靜地躺著,像睡著了一般渡讼。 火紅的嫁衣襯著肌膚如雪骂束。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天成箫,我揣著相機(jī)與錄音展箱,去河邊找鬼。 笑死蹬昌,一個(gè)胖子當(dāng)著我的面吹牛混驰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播皂贩,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼栖榨,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了明刷?” 一聲冷哼從身側(cè)響起婴栽,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎辈末,沒(méi)想到半個(gè)月后愚争,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體映皆,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年轰枝,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了捅彻。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鞍陨,死狀恐怖步淹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情湾戳,我是刑警寧澤贤旷,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站砾脑,受9級(jí)特大地震影響幼驶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜韧衣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一盅藻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧畅铭,春花似錦氏淑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至炉擅,卻和暖如春辉懒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背谍失。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工眶俩, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人快鱼。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓颠印,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親抹竹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子线罕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

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

  • Netfilter介紹 Netfilter是linux內(nèi)核提供對(duì)報(bào)文修改和過(guò)濾的框架, 可用于將某些鉤子函數(shù)作用于...
    imsilence閱讀 3,833評(píng)論 0 1
  • 原文 現(xiàn)代 Linux 內(nèi)核帶有一個(gè)叫 Netfilter 的數(shù)據(jù)包過(guò)濾框架。Netfilter 提供了允許窃判、丟棄...
    三也視界閱讀 666評(píng)論 0 2
  • 1.安全技術(shù) (1)入侵檢測(cè)與管理系統(tǒng)(Intrusion Detection Systems): 特點(diǎn)是不阻斷任...
    尛尛大尹閱讀 2,469評(píng)論 0 2
  • 1 概述 iptables命令中闻坚,需要根據(jù)匹配的條件作出相應(yīng)的動(dòng)作,本文將結(jié)合例子兢孝,講解匹配條件 匹配條件分為基本...
    ghbsunny閱讀 4,322評(píng)論 0 0
  • 你在學(xué)習(xí)中最常遇到的能力錯(cuò)覺(jué)是什么窿凤?在未來(lái)你有什么策略來(lái)避免再次陷入這種錯(cuò)覺(jué)之中仅偎? 談到能力錯(cuò)覺(jué),自己身上還是可以...
    陳紫玉閱讀 267評(píng)論 0 4