Linux 安全工具

Linux 安全工具

主機(jī)|端口掃描

nmap

https://nmap.org/

主要功能:

  1. 主機(jī)發(fā)現(xiàn)
  2. 端口掃描
  3. 版本檢測
  4. OS猜測

主機(jī)發(fā)現(xiàn)

類似于ping,發(fā)送探測包到指定主機(jī),如果得到回復(fù)則說明主機(jī)在線

nmap -sn IP|CIDR

原理:

  • 內(nèi)網(wǎng)

    • 發(fā)送arp廣播
      Address Resolution Protocol 地址解析協(xié)議
  • 外網(wǎng)

    • 發(fā)送ICMP echo request

    • 發(fā)送tcpSYN443

    • 發(fā)送tcpACK80
      Why ACK to 80 and SYN to 443?
      提供SYN和ACK兩種ping探測的原因是使通過防火墻的機(jī)會(huì)盡可能大挺智。

    • 許多管理員會(huì)配置他們的路由器或者其它簡單的防火墻來封鎖SYN報(bào)文猴蹂,除非 連接目標(biāo)是那些公開的服務(wù)器像公司網(wǎng)站或者郵件服務(wù)器瓶摆。 這可以阻止其它進(jìn)入組織的連接榆鼠,同時(shí)也允許用戶訪問互聯(lián)網(wǎng)遥昧。 這種無狀態(tài)的方法幾乎不占用防火墻/路由器的資源易桃,因而被硬件和軟件過濾器 廣泛支持褥琐。當(dāng)這樣的無狀態(tài)防火墻規(guī)則存在時(shí),發(fā)送到關(guān)閉目標(biāo)端口的SYN ping探測 (-PS) 很可能被封鎖晤郑。這種情況下踩衩,ACK探測格外有閃光點(diǎn),因?yàn)樗美昧诉@樣的規(guī)則贩汉。

      另外一種常用的防火墻用有狀態(tài)的規(guī)則來封鎖非預(yù)期的報(bào)文驱富。 這一特性已開始只存在于高端防火墻,但是這些年類它越來越普遍了匹舞。 SYN探測更有可能用于這樣的系統(tǒng)褐鸥,由于沒頭沒腦的ACK報(bào)文 通常會(huì)被識(shí)別成偽造的而丟棄。解決這個(gè)兩難的方法是通過即指定 -PS又指定-PA來即發(fā)送SYN又發(fā)送ACK赐稽。

    • 發(fā)送ICMP timestamp request

只要獲取到一個(gè)回應(yīng)包叫榕,就認(rèn)為此主機(jī)在線

端口掃描

nmap -sS -SU IP|CIDR -p T:TCP-PORT,U:UDP-PORT
image

原理:

  • TCP SYN 掃描 (-sS):TCP半開放掃描浑侥,不建立完整的TCP連接。向目標(biāo)端口發(fā)送SYN晰绎,如果收到SYNACK回復(fù)寓落,認(rèn)為端口開放(open);如果收到RST荞下,認(rèn)為端口關(guān)閉(closed)伶选;如果無回應(yīng),認(rèn)為端口被防火墻屏蔽(filtered)尖昏。
  • UDP掃描(-sU):向目標(biāo)端口發(fā)送探測包仰税,如果收到ICMP port unreachable,則說明端口未開放抽诉;如果無回應(yīng)陨簇,則端口可能開放或被攔截(open|filtered)。

-p PORT-RANGE

--top-ports NUM

版本檢測

nmap -sV IP|CIDR -p PORT 

OS猜測

不同OS對tcp/IP協(xié)議的實(shí)現(xiàn)方式可能有些許差異迹淌,nmap就利用這一點(diǎn)河绽,向目標(biāo)主機(jī)發(fā)送精心設(shè)計(jì)的TCP/UDP/ICMP數(shù)據(jù)包,根據(jù)返回的數(shù)據(jù)包生成一份系統(tǒng)指紋唉窃。

而nmap有一個(gè)常見OS指紋特征數(shù)據(jù)庫葵姥,將獲取到的指紋進(jìn)行對比,如果匹配就直接返回OS信息句携,如果無匹配就會(huì)進(jìn)行猜測榔幸。

當(dāng)目標(biāo)主機(jī)至少存在一個(gè)開放端口和一個(gè)關(guān)閉端口時(shí),OS猜測才能正常進(jìn)行矮嫉。

nmap -O IP|CIDR

防火墻

iptables

CentOS 7及之后默認(rèn)安裝了firewalld替代iptables作為防火墻工具削咆。

個(gè)人習(xí)慣換回iptables:

systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld

yum -y install iptables-services
systemctl enable iptables
systemctl restart iptables

Linux系統(tǒng)中真正實(shí)現(xiàn)防火墻功能的是系統(tǒng)的netfilter框架,而不論是firewalld還是iptables-services都只是一個(gè)類似于用戶代理的身份蠢笋,方便用戶使用它向內(nèi)核管理規(guī)則拨齐。

table

根據(jù)規(guī)則功能的不同可分為四表:

  1. raw:控制數(shù)據(jù)包是否被追蹤
  2. mangle:修改數(shù)據(jù)包的類型、TTL等
  3. nat:網(wǎng)絡(luò)地址轉(zhuǎn)換
  4. filter:過濾數(shù)據(jù)包

CHAIN

默認(rèn)有5個(gè)Chain:INPUT昨寞、OUTPUT瞻惋、FORWARDPREROUTINGPOSTROUTING

match

  • 基本:源ip地址(source ip援岩,-s)歼狼、目標(biāo)ip地址(destination ip,-d)
  • 擴(kuò)展:源端口(--sport)享怀、目標(biāo)端口(--sport)
  • 協(xié)議:-p {tcp|udp|all|icmp ...}

TARGET

  1. ACCEPT:放行

  2. DROP:丟棄

  3. REJECT:拒絕

    ...

iptables命令

iptables OPTIONS [CHAIN_NAME]查看(某個(gè)chain)的規(guī)則

-L 顯示規(guī)則列表羽峰,如果后面接CHAIN_NAME則表示只查看某個(gè)chain的

-n 禁用域名解析

--line或--line-numbers 顯示序號(hào)

-v 顯示更多信息

-t 查看某個(gè)表,默認(rèn)filter

iptables {-I|-A} [number] [-s|-d ipaddress] [-p {tcp|udp|all}] [--dport|sport port] -j {ACCEPT|DROP...}

在每條Chain中,遵循從上到下的順序進(jìn)行匹配梅屉,因此順序是非常重要的

iptables -D {rule_details | number}

使用iptables進(jìn)行的規(guī)則操作都是臨時(shí)的值纱,重啟或reload都會(huì)丟失當(dāng)前配置的規(guī)則。要永久生效需要保存規(guī)則到/etc/sysconfig/iptables

iptables-save打印配置到屏幕坯汤,配合重定向>即可保存到文件

口令破解

John the Ripper

破解加密密碼

Linux下用戶和密碼存儲(chǔ)在/etc/shadow/etc/passwd下虐唠,采用SHA-512加密,同時(shí)采用了salt鹽值惰聂,保證相同的密碼其加密后的字符串也不同疆偿。

john --single

john --wordlist=password.lst

hydra

[圖片上傳失敗...(image-9de074-1584971513588)]

密碼爆破工具。

  • 可對多種服務(wù)的賬號(hào)及密碼進(jìn)行爆破庶近,如web登錄翁脆、SSH眷蚓、數(shù)據(jù)庫鼻种、FTP、RDP(Windwos遠(yuǎn)程桌面)等等沙热。
  • 支持多線程叉钥。

SSH安全

[圖片上傳失敗...(image-e162f9-1584971513588)]

fail2ban

介紹

基于認(rèn)證日志工作,通過掃描日志中的關(guān)鍵字篙贸,來更新防火墻規(guī)則投队,從而在指定時(shí)間內(nèi)拒絕某ip的連接。

配置

配置目錄/etc/fail2ban/

主配置文件/etc/fail2ban/jail.conf

自定義配置文件目錄/etc/fail2ban/jail.d/

jail.conf可能會(huì)隨著版本更新被覆蓋爵川。
因此建議把自定義的配置放置在jail.d下敷鸦,而不是直接修改jail.conf。
jail.d下的配置(*.local或*.conf)會(huì)覆蓋jail.conf的相關(guān)配置寝贡。

過濾器目錄/etc/fail2ban/filter.d

動(dòng)作配置文件目錄/etc/fail2ban/action.d

fail2ban日志/var/log/fail2ban.log

fail2ban能夠降低暴力破解的速度扒披,但不能減弱弱口令的風(fēng)險(xiǎn)。

在SSH上的應(yīng)用

自定義配置文件/etc/fail2ban/jail.d/sshd.local

[sshd]
enabled = true
port = 22
findtime = 60
maxretry = 10
bantime = 120
filter = sshd
banaction = iptables-allports
ignoreip = 127.0.0.1/8 192.168.0.0/16
logpath = /var/log/secure

使用systemctl restart fail2ban 運(yùn)行fail2ban服務(wù)

修改配置后圃泡,使用systemctl reload fail2ban 重載配置

fail2ban通過向iptables內(nèi)添加規(guī)則來達(dá)到效果碟案,如果重啟了iptables,fail2ban添加的規(guī)則會(huì)消失(因?yàn)檫@些規(guī)則并未持久化到iptables規(guī)則文件中)颇蜡,fail2ban便會(huì)失效价说,因此重啟iptables后也需要重啟fail2ban服務(wù)

fail2ban-client命令

fail2ban-client status 當(dāng)前運(yùn)行的jail

fail2ban-client reload

fail2ban-client status JAIL_NAME 某個(gè)jail的狀態(tài)

會(huì)顯示當(dāng)前時(shí)間段內(nèi)失敗的次數(shù),以及被ban掉的ip

fail2ban-client set JAIL_NAME banip IPADDR 手動(dòng)ban掉某個(gè)ip

fail2ban-client set JAIL_NAME unbanip IPADDR 手動(dòng)unban某個(gè)ip

fail2ban-client set JAIL_NAME addignoreip IPADDR 將某個(gè)ip加到白名單內(nèi)(重啟失效)

fail2ban-client set JAIL_NAME delignoreip IPADDR 從白名單內(nèi)刪除某個(gè)ip

fail2ban-client get JAIL_NAME ignoreip 查看白名單

在nginx上的應(yīng)用

一個(gè)非常簡單的示例:限制某個(gè)ip在單位時(shí)間內(nèi)的請求次數(shù)风秤,防止某些攻擊

  1. 新建過濾器 /etc/fail2ban/filter.d/nginx-test-limit.conf

    [Definition]
    failregex = <HOST>.*HTTP/1.1
    

    使用正則表達(dá)式來匹配

  2. 新建jail /etc/fail2ban/jail.d/nginx-test-limit.local

    [nginx-test-limit]
    enabled = true
    port = http,https
    findtime = 60
    maxretry = 10
    bantime = 20
    logpath = /data/log/nginx_access.log
    banaction = iptables-allports
    

    jail名需要與過濾器文件名相同

沙箱

firejail

介紹

https://firejail.wordpress.com/

firejail為不受信任的應(yīng)用程序提供有限的運(yùn)行環(huán)境和資源鳖目。

安裝

wget https://phoenixnap.dl.sourceforge.net/project/firejail/firejail/firejail-0.9.60-1.x86_64.rpm && yum localinstall firejail-0.9.60-1.x86_64.rpm

使用

  • firejail 啟動(dòng)一個(gè)bash沙箱

  • firejail COMMAND 在沙箱里運(yùn)行指定的命令

  • firejail [OPTIONS] COMMAND

    --help                    https://firejail.wordpress.com/features-3/man-firejail/
    
    --blacklist=filename  將某文件/路徑加到黑名單,使沙箱程序不能訪問
    --whitelist=filename  將某文件/路徑加到白名單(只有程序指定的路徑能被加到白名單)
    --env=name=value      配置環(huán)境變量
    --private                 禁止沙箱讀取home下的文件缤弦,創(chuàng)建一個(gè)新的空的home目錄疑苔,家目錄中的文件會(huì)在沙箱退出后被刪除
    --get=name|pid filename   從沙箱中提取某個(gè)文件
    --put=name|pid src-filename dest-filename
                          向沙箱里發(fā)送文件
    --name=name               命名
    --list
    --join=name|pid           連接到沙箱       
    --net=none                禁止此沙箱聯(lián)網(wǎng)
    --shutdown=name|pid       關(guān)閉某個(gè)沙箱
    

配置

目錄 /etc/firejail下有很多(約800+)配置文件,對應(yīng)不同的命令沙箱配置

配置文件man頁面

漏洞掃描

nessus

官網(wǎng): http://www.nessus.org/

免費(fèi)版:最多掃描16個(gè)ip

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市惦费,隨后出現(xiàn)的幾起案子兵迅,更是在濱河造成了極大的恐慌,老刑警劉巖薪贫,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恍箭,死亡現(xiàn)場離奇詭異,居然都是意外死亡瞧省,警方通過查閱死者的電腦和手機(jī)扯夭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鞍匾,“玉大人交洗,你說我怎么就攤上這事∠鹗纾” “怎么了构拳?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長梁棠。 經(jīng)常有香客問我置森,道長,這世上最難降的妖魔是什么符糊? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任凫海,我火速辦了婚禮,結(jié)果婚禮上男娄,老公的妹妹穿的比我還像新娘行贪。我一直安慰自己,他們只是感情好模闲,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布建瘫。 她就那樣靜靜地躺著,像睡著了一般围橡。 火紅的嫁衣襯著肌膚如雪暖混。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天翁授,我揣著相機(jī)與錄音拣播,去河邊找鬼。 笑死收擦,一個(gè)胖子當(dāng)著我的面吹牛贮配,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播塞赂,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼泪勒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起圆存,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對情侶失蹤叼旋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后沦辙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體夫植,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年油讯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了详民。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡陌兑,死狀恐怖沈跨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情兔综,我是刑警寧澤饿凛,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站邻奠,受9級(jí)特大地震影響笤喳,放射性物質(zhì)發(fā)生泄漏为居。R本人自食惡果不足惜碌宴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蒙畴。 院中可真熱鬧贰镣,春花似錦、人聲如沸膳凝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蹬音。三九已至上煤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間著淆,已是汗流浹背劫狠。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留永部,地道東北人独泞。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像苔埋,于是被迫代替她去往敵國和親懦砂。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

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

  • 防火墻的概念iptables的簡介iptables命令網(wǎng)絡(luò)防火墻NATfirewalld服務(wù) 一、防火墻的概念 (...
    哈嘍別樣閱讀 1,813評(píng)論 0 1
  • 目前市面上比較常見的有3荞膘、4層的防火墻罚随,叫網(wǎng)絡(luò)層的防火墻,還有7層的防火墻羽资,其實(shí)是代理層的網(wǎng)關(guān)毫炉。 三層的防火墻會(huì)在...
    輝耀輝耀閱讀 2,633評(píng)論 0 2
  • 一.防火墻概念 (一)安全技術(shù)介紹 (1) 入侵檢測與管理系統(tǒng)(Intrusion Detection Syste...
    楠人幫閱讀 1,481評(píng)論 0 3
  • 1.安全技術(shù) (1)入侵檢測與管理系統(tǒng)(Intrusion Detection Systems): 特點(diǎn)是不阻斷任...
    尛尛大尹閱讀 2,461評(píng)論 0 2
  • 玉米士乒強(qiáng)又壯,排排有序齊聲唱削罩。 勤勞智慧奔康莊瞄勾,農(nóng)業(yè)前途共開創(chuàng)。 (新韻弥激,十唐(仄)
    涂糊蟲閱讀 555評(píng)論 6 14