PortSentry 保護(hù)云主機(jī)禁止被惡意掃描

注:本文采用的操作系統(tǒng)為 ubuntu14.04

簡介PortSentry is part of SentryTools. This daemon will watch unused ports for activity and depending on how it is configured take action upon excessive access to watched ports.wiki

portsentry 采取的措施:

  • 將流量引到一個(gè)虛假的路由疼进,一個(gè)不存在的主機(jī)

  • 自動對服務(wù)器端口掃描的主機(jī)加到 /etc/hosts.deny 文件中去

  • 利用 Netfiliter 機(jī)制,用包過濾的機(jī)制,例如 iptables 和 ipchain 等,把非法的數(shù)據(jù)包(來自對主機(jī)進(jìn)行端口掃描的主機(jī))都過濾掉狗唉;

  • 通過 syslog() 函數(shù)給出一個(gè)日志消息荒吏,或者一段警告信息

portsentry 安裝下載地址


http://sourceforge.net/projects/sentrytools/   

解壓


tar zxvf portsentry-1.2.tar.gz```不能直接編譯,這里有點(diǎn)特殊蚪腋,解壓完的包中耸棒,`portsentry.c`這個(gè)文件中在`1584`行有一處錯誤朵夏,將其改成一行```printf ("Copyright 1997-2003 Craig H. Rowland\n");

portsentry
portsentry

然后進(jìn)行編譯


make linux& make install

成功安裝,安裝的路勁為/usr/local/psionic/portsentry

portsentry 配置

修改配置文件 portsentry.conf

通過 portsentry 進(jìn)行入侵檢測榆纽,如下段落為需要監(jiān)視的端口清單,和相應(yīng)的阻止措施捏肢。啟動之后奈籽,后開進(jìn)程開啟監(jiān)控這些端口,發(fā)現(xiàn)有人掃描鸵赫,就啟動相應(yīng)的對策進(jìn)行阻攔衣屏。

NO.1 Port Configurations

這一端列出了默認(rèn)的監(jiān)視的端口,可以通過去掉#號來執(zhí)行默認(rèn)的配置辩棒,可以自行修改


# Port Configurations

# Un-comment these if you are really anal:

#TCP_PORTS="1,7,9,11,15,70,79,80,109,110,111,119,138,139,143,512,513,514,515,540,635,1080,1524,2000,2001,4000,4001,5742,6000,6001,6667,12345,12346,20034,27665,30303,32771,32772,32773,32774,31337,40421,40425,49724,54320"

#UDP_PORTS="1,7,9,66,67,68,69,111,137,138,161,162,474,513,517,518,635,640,641,666,700,2049,31335,27444,34555,32770,32771,32772,32773,32774,31337,54321"

#

# Use these if you just want to be aware:

TCP_PORTS="1,11,15,79,111,119,143,540,635,1080,1524,2000,5742,6667,12345,12346,20034,27665,31337,32771,32772,32773,32774,40421,49724,54320,51010"

UDP_PORTS="1,7,9,69,161,162,513,635,640,641,700,37444,34555,31335,32770,32771,32772,32773,32774,31337,54321"

#

# Use these for just bare-bones

#TCP_PORTS="1,11,15,110,111,143,540,635,1080,1524,2000,12345,12346,20034,32771,32772,32773,32774,49724,54320"

#UDP_PORTS="1,7,9,69,161,162,513,640,700,32770,32771,32772,32773,32774,31337,54321"

NO.2 Advanced Stealth Scan Detection Options


# Advanced Stealth Scan Detection Options

ADVANCED_PORTS_TCP="1024"

ADVANCED_PORTS_UDP="1024"

# Default TCP ident and NetBIOS service

ADVANCED_EXCLUDE_TCP="113,139"

# Default UDP route (RIP), NetBIOS, bootp broadcasts.

ADVANCED_EXCLUDE_UDP="520,138,137,67"

NO.3 Configuration Files狼忱;portsentry.conf 相關(guān)的配置文件


# Configuration Files

# Hosts to ignore

#( 此文件記錄允許合法掃描服務(wù)的主機(jī)地址 )

IGNORE_FILE="/usr/local/psionic/portsentry/portsentry.ignore"

# Hosts that have been denied (running history)

#( 此文件中保留入侵主機(jī)的 IP 地址 )

HISTORY_FILE="/usr/local/psionic/portsentry/portsentry.history"

# Hosts that have been denied this session only (temporary until next restart)

# ( 此文件中是已經(jīng)被阻止連接的主機(jī) IP 記錄 )

BLOCKED_FILE="/usr/local/psionic/portsentry/portsentry.blocked"

NO.4 Dropping Routes

丟棄規(guī)則,也就是路由重定向一睁,設(shè)置一條虛擬的路由記錄钻弄,把數(shù)據(jù)包重定向到一個(gè)不存在的主機(jī)

根據(jù)不同的操作系統(tǒng),選擇不同的命令


# Dropping Routes

# Generic

#KILL_ROUTE="/sbin/route add $TARGET$ 333.444.555.666"

# Generic Linux

KILL_ROUTE="/sbin/route add -host $TARGET$ gw 333.444.555.666"

# Newer versions of Linux support the reject flag now. This

# is cleaner than the above option.

#KILL_ROUTE="/sbin/route add -host $TARGET$ reject"

# Generic BSD (BSDI, OpenBSD, NetBSD, FreeBSD)

#KILL_ROUTE="/sbin/route add $TARGET$ 333.444.555.666"

# Generic Sun

#KILL_ROUTE="/usr/sbin/route add $TARGET$ 333.444.555.666 1"

# NEXTSTEP

#KILL_ROUTE="/usr/etc/route add $TARGET$ 127.0.0.1 1"

# FreeBSD

#KILL_ROUTE="route add -net $TARGET$ -netmask 255.255.255.255 127.0.0.1 -blackhole"

# Digital UNIX 4.0D (OSF/1 / Compaq Tru64 UNIX)

#KILL_ROUTE="/sbin/route add -host -blackhole $TARGET$ 127.0.0.1"

# Generic HP-UX

#KILL_ROUTE="/usr/sbin/route add net $TARGET$ netmask 255.255.255.0 127.0.0.1"

NO.5 根據(jù)配置文件記錄下的 IP者吁,使用 iptables 阻塞掉窘俺,切斷與其連接


##

# Using a packet filter is the PREFERRED. The below lines

# work well on many OS's. Remember, you can only uncomment *one*

# KILL_ROUTE option.

# ipfwadm support for Linux

#KILL_ROUTE="/sbin/ipfwadm -I -i deny -S $TARGET$ -o"

#

# ipfwadm support for Linux (no logging of denied packets)

#KILL_ROUTE="/sbin/ipfwadm -I -i deny -S $TARGET$"

#

# ipchain support for Linux

#KILL_ROUTE="/sbin/ipchains -I input -s $TARGET$ -j DENY -l"

#

# ipchain support for Linux (no logging of denied packets)

#KILL_ROUTE="/sbin/ipchains -I input -s $TARGET$ -j DENY"

#

# iptables support for Linux

#KILL_ROUTE="/usr/local/bin/iptables -I INPUT -s $TARGET$ -j DROP"

#

# For those of you running FreeBSD (and compatible) you can

# use their built in firewalling as well.

#

#KILL_ROUTE="/sbin/ipfw add 1 deny all from $TARGET$:255.255.255.255 to any"

#

# For those running ipfilt (OpenBSD, etc.)

# NOTE THAT YOU NEED TO CHANGE external_interface TO A VALID INTERFACE!!

#

#KILL_ROUTE="/bin/echo 'block in log on external_interface from $TARGET$/32 to any' | /sbin/ipf -f -"

NO.6 也可以把攻擊者的 IP 記錄到 /etc/hosts.deny 中,利用 TCP_Wrappers 機(jī)制防止被攻擊

TCP_Wrappers :Transmission Control Protocol (TCP) Wrappers 為由 inetd 生成的服務(wù)提供了增強(qiáng)的安全性复凳。TCP Wrappers 是一種對使用 /etc/inetd.sec 的替換方法瘤泪。TCP Wrappers 提供防止主機(jī)名和主機(jī)地址欺騙的保護(hù)。欺騙是一種偽裝成有效用戶或主機(jī)以獲得對系統(tǒng)進(jìn)行未經(jīng)授權(quán)的訪問的方法育八。


# TCP Wrappers

#

KILL_HOSTS_DENY="ALL: $TARGET$"

NO.7 定制警告信息对途,警告攻擊者


# Port Banner Section

#

#

# Enter text in here you want displayed to a person tripping the PortSentry.

# I *don't* recommend taunting the person as this will aggravate them.

# Leave this commented out to disable the feature

#

# Stealth scan detection modes don't use this feature

#

PORT_BANNER="** UNAUTHORIZED ACCESS PROHIBITED *** YOUR CONNECTION ATTEMPT HAS BEEN LOGGED. GO AWAY."

修改 portsentry.ignore 的配置文件

文件 /usr/local/psionic/portsentry/portsentry.ignore 配置上本地的 IP 和 常建立連接的主機(jī),允許合法掃描

配置好之后最好修改一下 /usr/local/psionic/portsentry/portsentry.conf/usr/local/psionic/portsentry/portsentry.ignore 的權(quán)限


chmod 600 /usr/local/psionic/portsentry/portsentry.conf

chmod 600 /usr/local/psionic/portsentry/portsentry.ignore

開啟監(jiān)測模式

PortSentry的啟動檢測模式髓棋。對應(yīng)TCP和UDF兩種協(xié)議方式实檀,PortSentry分別有三種啟動模式惶洲,即基本、秘密和高級秘密掃描檢測模式劲妙,合計(jì)6個(gè)模式湃鹊。

  • portsentry-tcp,TCP的基本端口綁定模式镣奋;

  • portsentry-udp币呵,UDP的基本端口綁定模式;

  • portsentry-stcp侨颈,TCP的秘密掃描檢測模式余赢;

  • portsentry-sudp,UDP的秘密掃描檢測模式哈垢;

  • portsentry-atcp妻柒,TCP的高級秘密掃描檢測模式;

  • portsentry-audp耘分,UDP的高級秘密掃描檢測模式举塔。

一般情況下,建議使用秘密掃描檢測模式或高級秘密掃描檢測模式求泰。

使用高級秘密掃描檢測模式(Advanced Stealth Scan Detection Mode)央渣,PortSentry會自動檢查服務(wù)器上正在運(yùn)行的端口, 然后把這些端口從配置文件中移去渴频, 只監(jiān)控其它的端口芽丹。這樣會加快對端口掃描的反應(yīng)速度,并且只占用很少的CPU時(shí)間卜朗,這種模式非常智能

啟動命令:


/usr/local/psionic/portsentry/portsentry -atcp

建議將這條命令寫入 /etc/rc.local 中拔第,這樣開機(jī)就自啟動了

測試

我的云主機(jī) A IP 假設(shè)為 XXX.XXX.XXX.XXX,云主機(jī) A 上配置并開啟了 portsentry

開啟一臺云主機(jī) B场钉,IP 地址為 115.231.183.78

ip
ip

使用 云主機(jī) B 掃描 云主機(jī) A 的端口

nmap
nmap

云主機(jī) A 監(jiān)測到了惡意掃描蚊俺,會將其加入 /etc/hosts.deny,并且在 /usr/local/psionic/portsentry/portsentry.blocked.atcp 會記錄 block 掉了

blockd
blockd

簡單處理一下,發(fā)現(xiàn)還有不是自己掃的逛万,無聊的人也是多- -春叫!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市泣港,隨后出現(xiàn)的幾起案子暂殖,更是在濱河造成了極大的恐慌,老刑警劉巖当纱,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呛每,死亡現(xiàn)場離奇詭異,居然都是意外死亡坡氯,警方通過查閱死者的電腦和手機(jī)晨横,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進(jìn)店門洋腮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人手形,你說我怎么就攤上這事啥供。” “怎么了库糠?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵伙狐,是天一觀的道長。 經(jīng)常有香客問我瞬欧,道長贷屎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任艘虎,我火速辦了婚禮唉侄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘野建。我一直安慰自己属划,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布候生。 她就那樣靜靜地躺著榴嗅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪陶舞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天绪励,我揣著相機(jī)與錄音肿孵,去河邊找鬼。 笑死疏魏,一個(gè)胖子當(dāng)著我的面吹牛停做,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播大莫,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼蛉腌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了只厘?” 一聲冷哼從身側(cè)響起烙丛,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎羔味,沒想到半個(gè)月后河咽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡赋元,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年忘蟹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了飒房。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,673評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡媚值,死狀恐怖狠毯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情褥芒,我是刑警寧澤嚼松,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站喂很,受9級特大地震影響惜颇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜少辣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一凌摄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧漓帅,春花似錦锨亏、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至捐迫,卻和暖如春乾翔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背施戴。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工反浓, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人赞哗。 一個(gè)月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓雷则,卻偏偏與公主長得像,于是被迫代替她去往敵國和親肪笋。 傳聞我的和親對象是個(gè)殘疾皇子月劈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評論 2 349

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)藤乙,斷路器猜揪,智...
    卡卡羅2017閱讀 134,633評論 18 139
  • nmap使用指南(終極版) 原創(chuàng)2017-09-09hl0rey信安之路 一、目標(biāo)指定 1.CIDR標(biāo)志位 192...
    用電熱毯烤豬閱讀 11,982評論 1 49
  • Nmap掃描原理與用法 1Nmap介紹 Nmap掃描原理與用法PDF:下載地址 Nmap是一款開源免費(fèi)的網(wǎng)絡(luò)發(fā)現(xiàn)(...
    y0ungta1a閱讀 5,377評論 0 50
  • 更改ip和dnsVi /etc/sysconfig/network-scripts/ifcfg-eth0vi /...
    Xwei_閱讀 1,804評論 0 3
  • 閱益討論日(10月5日)—分享你最近讀書中遇到的印象深刻的一兩句話坛梁,最好能談?wù)劄槭裁催@一兩句話讓你印象深刻湿右。 笑笑...
    慢慢樹閱讀 321評論 0 0