亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦安全 > 網(wǎng)絡(luò)安全知識(shí) > 明白你的Linux服務(wù)器

      明白你的Linux服務(wù)器

      時(shí)間: 林澤1002 分享

      明白你的Linux服務(wù)器

        系統(tǒng)管理員在管理Linux服務(wù)器時(shí)遇到的各種網(wǎng)絡(luò)問題。下面是學(xué)習(xí)啦小編跟大家分享的是明白你的Linux服務(wù)器,歡迎大家來閱讀學(xué)習(xí)。

        明白你的Linux服務(wù)器

        一、服務(wù)器的網(wǎng)絡(luò)配置

        在服務(wù)器的網(wǎng)絡(luò)配置時(shí),喜歡圖形的朋友可用setup或system-config-network來配置。

        網(wǎng)卡配置文件為/etc/sysconfig/network-scripts/ifcfg-eth0,設(shè)置完畢后直接用service network restart生效。

        1.[root@linpcl root]#cat /etc/sysconfig/networking/devices/ifcfg-rth0

        2.DEVICE=eth0

        3.ONBOOT=yes

        4.BOOTPROTO=static

        5.IPADDR=192.168.0.2

        6.NETMASK=255.255.255.0

        7.GATEWAY=192.168.0.1

        GATEWAY選項(xiàng)可以設(shè)置網(wǎng)關(guān)參數(shù),這里注意下ONBOOT選項(xiàng),它表示網(wǎng)卡是否隨系統(tǒng)啟動(dòng)而啟動(dòng),此項(xiàng)一定要設(shè)置成on。

        這里介紹二個(gè)不是太常用的參數(shù):

        USERCTL=no,即不允許普通用戶修改網(wǎng)卡

        PEERDNS=yes,它表示允許從DHCP獲得的DNS覆蓋本地的DNS

        查看本機(jī)所有的網(wǎng)卡情況ifconfig –a,更高級(jí)的網(wǎng)卡路由命令用ip addr,特別是你的服務(wù)器由keepalived綁定了虛擬VIP后用其查看很方便查看本機(jī)路由 netstat –rn或route

        增加一條本機(jī)網(wǎng)絡(luò)路由用命令route add -net 172.16.6.0 netmask 255.255.255.0 gw 172.16.2.25,即增加一條網(wǎng)絡(luò)172.16.6.0/24 經(jīng)過172.16.2.254 ,這個(gè)地址也可以理解為你的下一跳的地址。

        刪除路由用命令route del –net 172.16.86.0/24

        如果要永久的生效可用文件編輯的辦法:

        vim /etc/sysconfig/network-scripts/route-eth0

        172.16.6.0/24 via 172.16.2.25

        查看本機(jī)的DNS服務(wù)器 cat /etc/resolv.conf

        查看主機(jī)名hostname

        查看主機(jī)名對(duì)應(yīng)的IP地址 /etc/hosts

        它的執(zhí)行順序是優(yōu)于DNS的,現(xiàn)在多用于集群環(huán)境,比如Heartbeat;還有一個(gè)妙用,在沒用DNS的環(huán)境中做測(cè)試時(shí),直接改服務(wù)器的此文件,達(dá)到優(yōu)先解析的目的查看與本機(jī)直連的網(wǎng)絡(luò)設(shè)備用命令arp。

        這里跟大家介紹一個(gè)很有用的工具,mii-tool,判斷哪塊網(wǎng)卡連接了網(wǎng)線,同事們靠抽插網(wǎng)線來判斷哪個(gè)網(wǎng)卡連接了網(wǎng)線的辦法比較沒有效率

        1.[root@mail~]#mii-tool

        2.eth0: negotiated 100baseTx-FD flow-control, link ok

        3.SIOCGMIIPHY on 'eth1' failed: Resource temporarily unavailable

        大家看這段文字可能沒什么感覺,但到了機(jī)房就非常有用了,特別是那些網(wǎng)卡多的服務(wù)器,我見得最多的某臺(tái)Linux服務(wù)器上綁定了六塊網(wǎng)卡。

        二、查看你的服務(wù)器網(wǎng)絡(luò)連接狀態(tài)

        1.netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

        2.LAST_ACK 14

        3.SYN_RECV 348

        4.ESTABLISHED 70

        5.FIN_WAIT1 229

        6.FIN_WAIT2 30

        7.CLOSING 33

        8.TIME_WAIT 18122

        狀態(tài):描述

        CLOSED:無連接是活動(dòng)的或正在進(jìn)行

        LISTEN:服務(wù)器在等待進(jìn)入呼叫

        SYN_RECV:一個(gè)連接請(qǐng)求已經(jīng)到達(dá),等待確認(rèn)

        SYN_SENT:應(yīng)用已經(jīng)開始,打開一個(gè)連接

        ESTABLISHED:正常數(shù)據(jù)傳輸狀態(tài)

        FIN_WAIT1:應(yīng)用說它已經(jīng)完成

        FIN_WAIT2:另一邊已同意釋放

        ITMED_WAIT:等待所有分組死掉

        CLOSING:兩邊同時(shí)嘗試關(guān)閉

        TIME_WAIT:另一邊已初始化一個(gè)釋放

        LAST_ACK:等待所有分組死掉

        ESTABLISHED的值其實(shí)也是當(dāng)前的并發(fā)數(shù),這個(gè)可重點(diǎn)關(guān)注下;另外,可關(guān)注下TIME——WAIT這項(xiàng)的數(shù)值。Linux下高并發(fā)的Squid服務(wù)器,TCP TIME_WAIT套接字?jǐn)?shù)量經(jīng)常達(dá)到兩、三萬,服務(wù)器很容易被拖死。通過修改Linux內(nèi)核參數(shù),可以減少Squid服務(wù)器的TIME_WAIT套接字?jǐn)?shù)量。

        三、尋找惡意IP并用iptables禁止掉

        找出惡意連接你的服務(wù)器80端口的IP,直接用iptables來drop掉它;這里建議寫腳本來運(yùn)行。

        netstat -an| grep :80 | grep -v 127.0.0.1 |awk '{ print }' | sort|awk -F:'{print class="main">

      明白你的Linux服務(wù)器

      時(shí)間: 林澤1002 分享

      明白你的Linux服務(wù)器

      時(shí)間: 林澤1002 分享

      明白你的Linux服務(wù)器

      時(shí)間: 林澤1002 分享
      明白你的Linux服務(wù)器

        系統(tǒng)管理員在管理Linux服務(wù)器時(shí)遇到的各種網(wǎng)絡(luò)問題。下面是學(xué)習(xí)啦小編跟大家分享的是明白你的Linux服務(wù)器,歡迎大家來閱讀學(xué)習(xí)。

        明白你的Linux服務(wù)器

        一、服務(wù)器的網(wǎng)絡(luò)配置

        在服務(wù)器的網(wǎng)絡(luò)配置時(shí),喜歡圖形的朋友可用setup或system-config-network來配置。

        網(wǎng)卡配置文件為/etc/sysconfig/network-scripts/ifcfg-eth0,設(shè)置完畢后直接用service network restart生效。

        1.[root@linpcl root]#cat /etc/sysconfig/networking/devices/ifcfg-rth0

        2.DEVICE=eth0

        3.ONBOOT=yes

        4.BOOTPROTO=static

        5.IPADDR=192.168.0.2

        6.NETMASK=255.255.255.0

        7.GATEWAY=192.168.0.1

        GATEWAY選項(xiàng)可以設(shè)置網(wǎng)關(guān)參數(shù),這里注意下ONBOOT選項(xiàng),它表示網(wǎng)卡是否隨系統(tǒng)啟動(dòng)而啟動(dòng),此項(xiàng)一定要設(shè)置成on。

        這里介紹二個(gè)不是太常用的參數(shù):

        USERCTL=no,即不允許普通用戶修改網(wǎng)卡

        PEERDNS=yes,它表示允許從DHCP獲得的DNS覆蓋本地的DNS

        查看本機(jī)所有的網(wǎng)卡情況ifconfig –a,更高級(jí)的網(wǎng)卡路由命令用ip addr,特別是你的服務(wù)器由keepalived綁定了虛擬VIP后用其查看很方便查看本機(jī)路由 netstat –rn或route

        增加一條本機(jī)網(wǎng)絡(luò)路由用命令route add -net 172.16.6.0 netmask 255.255.255.0 gw 172.16.2.25,即增加一條網(wǎng)絡(luò)172.16.6.0/24 經(jīng)過172.16.2.254 ,這個(gè)地址也可以理解為你的下一跳的地址。

        刪除路由用命令route del –net 172.16.86.0/24

        如果要永久的生效可用文件編輯的辦法:

        vim /etc/sysconfig/network-scripts/route-eth0

        172.16.6.0/24 via 172.16.2.25

        查看本機(jī)的DNS服務(wù)器 cat /etc/resolv.conf

        查看主機(jī)名hostname

        查看主機(jī)名對(duì)應(yīng)的IP地址 /etc/hosts

        它的執(zhí)行順序是優(yōu)于DNS的,現(xiàn)在多用于集群環(huán)境,比如Heartbeat;還有一個(gè)妙用,在沒用DNS的環(huán)境中做測(cè)試時(shí),直接改服務(wù)器的此文件,達(dá)到優(yōu)先解析的目的查看與本機(jī)直連的網(wǎng)絡(luò)設(shè)備用命令arp。

        這里跟大家介紹一個(gè)很有用的工具,mii-tool,判斷哪塊網(wǎng)卡連接了網(wǎng)線,同事們靠抽插網(wǎng)線來判斷哪個(gè)網(wǎng)卡連接了網(wǎng)線的辦法比較沒有效率

        1.[root@mail~]#mii-tool

        2.eth0: negotiated 100baseTx-FD flow-control, link ok

        3.SIOCGMIIPHY on 'eth1' failed: Resource temporarily unavailable

        大家看這段文字可能沒什么感覺,但到了機(jī)房就非常有用了,特別是那些網(wǎng)卡多的服務(wù)器,我見得最多的某臺(tái)Linux服務(wù)器上綁定了六塊網(wǎng)卡。

        二、查看你的服務(wù)器網(wǎng)絡(luò)連接狀態(tài)

        1.netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

        2.LAST_ACK 14

        3.SYN_RECV 348

        4.ESTABLISHED 70

        5.FIN_WAIT1 229

        6.FIN_WAIT2 30

        7.CLOSING 33

        8.TIME_WAIT 18122

        狀態(tài):描述

        CLOSED:無連接是活動(dòng)的或正在進(jìn)行

        LISTEN:服務(wù)器在等待進(jìn)入呼叫

        SYN_RECV:一個(gè)連接請(qǐng)求已經(jīng)到達(dá),等待確認(rèn)

        SYN_SENT:應(yīng)用已經(jīng)開始,打開一個(gè)連接

        ESTABLISHED:正常數(shù)據(jù)傳輸狀態(tài)

        FIN_WAIT1:應(yīng)用說它已經(jīng)完成

        FIN_WAIT2:另一邊已同意釋放

        ITMED_WAIT:等待所有分組死掉

        CLOSING:兩邊同時(shí)嘗試關(guān)閉

        TIME_WAIT:另一邊已初始化一個(gè)釋放

        LAST_ACK:等待所有分組死掉

        ESTABLISHED的值其實(shí)也是當(dāng)前的并發(fā)數(shù),這個(gè)可重點(diǎn)關(guān)注下;另外,可關(guān)注下TIME——WAIT這項(xiàng)的數(shù)值。Linux下高并發(fā)的Squid服務(wù)器,TCP TIME_WAIT套接字?jǐn)?shù)量經(jīng)常達(dá)到兩、三萬,服務(wù)器很容易被拖死。通過修改Linux內(nèi)核參數(shù),可以減少Squid服務(wù)器的TIME_WAIT套接字?jǐn)?shù)量。

        三、尋找惡意IP并用iptables禁止掉

        找出惡意連接你的服務(wù)器80端口的IP,直接用iptables來drop掉它;這里建議寫腳本來運(yùn)行。

        netstat -an| grep :80 | grep -v 127.0.0.1 |awk '{ print $5 }' | sort|awk -F:'{print $1,$4}' | uniq -c | awk '$1 >50 {print $1,$2}'

        iptables腳本執(zhí)行完畢后,用iptables –nv –L 可查看其規(guī)則,下面的iptables語法比較詳細(xì),推薦記憶。

        iptables [-t表名] <-A| I |D |R > 鏈名[規(guī)則編號(hào)] [-i | o 網(wǎng)卡名稱] [-p 協(xié)議類型] [-s 源IP地址 | 源子網(wǎng)][--sport 源端口號(hào)] [-d 目標(biāo)IP地址 | 目標(biāo)子網(wǎng)][--dport 目標(biāo)端口號(hào)] <-j 動(dòng)作>

        四、SMTP會(huì)話處理方式

        捕獲一個(gè)SMTP會(huì)話,以下命令很管用,推薦下 ;不喜歡用命令的同學(xué)我推薦用wireshark

        tcpdump -vv –x –X –s 1500 `port 25`

        五、打印自動(dòng)運(yùn)行服務(wù)

        打印出自動(dòng)運(yùn)行的服務(wù),3、5級(jí)別的即可;當(dāng)然喜歡圖形的同學(xué)可用ntsysv工具。

        [root@ltos test]# chkconfig -list | grep 3:on | awk '{print $1,$5}'

        [root@ltos test]# chkconfig –list | grep 5:on | awk '{print $1,$7}'

        六、使用Netstat查看協(xié)議數(shù)據(jù)

        Netstat用于顯示與IP、TCP、UDP和ICMP協(xié)議相關(guān)的統(tǒng)計(jì)數(shù)據(jù),一般用于檢驗(yàn)本機(jī)各端口的網(wǎng)絡(luò)連接情況。

        1.NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]

        2.-a 顯示所有連接和監(jiān)聽端口。

        3.-b 顯示包含于創(chuàng)建每個(gè)連接或監(jiān)聽端口的可執(zhí)行組件。

        4.-e 顯示以太網(wǎng)統(tǒng)計(jì)信息。此選項(xiàng)可以與-s選項(xiàng)組合使用。

        5.-n 以數(shù)字形式顯示地址和端口號(hào)。

        6.-o 顯示與每個(gè)連接相關(guān)的所屬進(jìn)程 ID。

        7.-p proto 顯示 proto 指定的協(xié)議的連接。

        8.-r 顯示路由表。

        9.-s 顯示按協(xié)議統(tǒng)計(jì)信息。

        一般用得比較多的就是netstat -an與netstat –rn。

        七、使用lsof查看文件信息

        在unix里面,一切皆文件;而Linux秉承了這一特性,將unix下的工具lsof移植過來得很成功。lsof可以列出被進(jìn)程所打開的文件的信息。

        被打開的文件可以是:

        1.普通的文件

        2.目錄

        3.網(wǎng)絡(luò)文件系統(tǒng)的文件

        4.字符設(shè)備文件

        5.(函數(shù))共享庫

        6.管道,命名管道

        7.符號(hào)鏈接

        8.底層的socket字流。網(wǎng)絡(luò)socket,unix域名socket,用得比較多的用法是lsof -i:端口號(hào),列出誰在使用某個(gè)端口,例如:lsof -i :3306,我喜歡用此用法來判斷服務(wù)到底有沒有正常啟用。

        八、使用fuser查看和殺死相關(guān)進(jìn)程

        與lsof –i的用法相法,如果我想查找占用3306端口的程序,則用fuser –n tcp -v 8080,另外,fuser的其它功能也是很強(qiáng)大的,我常用的它的兩個(gè)功能:查看我需要的進(jìn)程和我要?dú)⑺牢也榈降倪M(jìn)程。

        比如當(dāng)你想umount光驅(qū)的時(shí)候,結(jié)果系統(tǒng)提示你設(shè)備正在使用或者正忙,可是你又找不到到底誰使用了他。這個(gè)時(shí)候fuser可派上用場(chǎng)了。

        1.[root@lancy sbin]# eject

        2.umount: /media/cdrom: device is busy

        3.umount: /media/cdrom: device is busy

        4.eject: unmount of `/media/cdrom' failed

        5.[root@lancy sbin]# fuser /mnt/cdrom

        /mnt/cdrom: 4561c 5382c

        6.[root@lancy sbin]# ps -ef |egrep '(4561|5382)' |grep -v grep

        7.root 4561 4227 0 20:13 pts/1 00:00:00 bash

        8.root 5382 4561 0 21:42 pts/1 00:00:00 vim Autorun.inf

        示例中,我想彈出光驅(qū),系統(tǒng)告訴我設(shè)備忙著,于是采用fuser命令,參數(shù)是你文件或scoket,fuser將查出那些使用了他。4561c,5382c表示目前用兩個(gè)進(jìn)程在占用著/mnt/cdrom,分別是4561,5382,進(jìn)程ID后的字母表示占用資源的方式。

        九、TCP_wrappers防火墻

        Linux上一種特殊的防火墻TCP_wrappers防火墻,TCP 封包會(huì)先經(jīng)過所謂的 IP 過濾機(jī)制(IP Filtering),這是 Linux 提供的第一層保護(hù),他可以將你不想要的來源 IP(經(jīng)由 TCP 封包的 Head 資料)先當(dāng)?shù)粼僬f!如果可以通過的話,在就是要通過TCP_wrappers過濾。如果上面兩個(gè)都通過了,再就根據(jù)每個(gè)服務(wù)訪問控制的設(shè)定決定客戶機(jī)能得到不同的權(quán)限和信息.TCP_wrappers防火墻主要涉及到兩個(gè)文件/etc/hosts.allow和/etc/hosts.deny,可作iptables的補(bǔ)充來保護(hù)你的Linux安全,比如只允許內(nèi)網(wǎng)IP訪問你的NFS服務(wù)器。

        這里說下Linux是怎么識(shí)別其順序的,這里好多朋友容易混淆了;當(dāng)某個(gè)ip想訪問你的Linux下的特定服務(wù)時(shí),系統(tǒng)首先會(huì)檢查/etc/hosts.alllow文件,如是有的話就放行,沒有的話繼續(xù)檢查/etc/hosts.deny文件,有的話拒絕,沒有的就放行,不過一般的做法就直接在/etc/hosts.allow里放允許通行的ip,/etc/hosts.deny里放不允許通行的ip。另外,這里跟大家分享一個(gè)經(jīng)驗(yàn)心得吧:Linux下的服務(wù)眾多,samba,nfs,rsync,tcp_wrapper,xinetd等,而每個(gè)又都有各自支持的寫法,這樣對(duì)于考試學(xué)習(xí)及工作記憶很不方便,其實(shí)它們都支持192.168.0.1/255.255.255.0這樣的點(diǎn)分十進(jìn)制寫法;另,iptables是不支持的,它只支持192.168.0.1/24比特建網(wǎng)制。

        十、推薦下Linux/unix中常用的掃描端口工具-Nmap

        下面是Nmap支持的四種最基本的掃描方式:

        1.TCP connect()端口掃描(-sT參數(shù),-sP是用于掃描整個(gè)局域網(wǎng)段)

        2.TCP同步(SYN)端口掃描(-sS參數(shù))

        3.UDP端口掃描(-sU參數(shù))

        4.TCP ACK掃描(-sA參數(shù))

        我這里以自己的線上郵件服務(wù)器為例說明下:

        1.[root@mail postfix]# nmap -P0 -sS 211.143.6.X

        2.Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2009-03-29 16:21 CST

        3.Interesting ports on 211.143.6.X:

        4.Not shown: 1668 closed ports

        5.PORT STATE SERVICE

        6.22/tcp open ssh

        7.25/tcp open smtp

        8.80/tcp open http

        9.110/tcp open pop3

        10.111/tcp open rpcbind

        11.143/tcp open imap

        12.443/tcp open https

        13.465/tcp open smtps

        14.587/tcp open submission

        15.993/tcp open imaps

        16.995/tcp open pop3s

        17.1014/tcp open unknown

        lsof -i:1014,發(fā)現(xiàn)又是rpc.statd,這東東,每次用的端口都不一樣啊;它不能正確處理SIGPID信號(hào),遠(yuǎn)程攻擊者可利用這個(gè)漏洞關(guān)閉進(jìn)程,進(jìn)行拒絕服務(wù)攻擊;發(fā)現(xiàn)rpc.statd是由服務(wù)nfslock開啟,關(guān)閉它即可。

        service nfslock stop;chkconfig nfslock off

        關(guān)于網(wǎng)站的安全,我這里也有一些自己的淺見,特與大家共享下:

        iptables最好寫成腳本形式,想開哪個(gè)端口開哪個(gè),想關(guān)哪個(gè)關(guān)哪個(gè),iptables服務(wù)都可關(guān)閉;可以用crontab每5分鐘自動(dòng)關(guān)閉一次iptables,注意別把自己SSH停掉了,畢竟公司離機(jī)房還是很遠(yuǎn)的!

        不定期掃描,發(fā)現(xiàn)可疑端口就關(guān)閉,實(shí)在不太懂就cat /etc/services或google下查找端口。

      }'

        iptables腳本執(zhí)行完畢后,用iptables –nv –L 可查看其規(guī)則,下面的iptables語法比較詳細(xì),推薦記憶。

        iptables [-t表名] <-A| I |D |R > 鏈名[規(guī)則編號(hào)] [-i | o 網(wǎng)卡名稱] [-p 協(xié)議類型] [-s 源IP地址 | 源子網(wǎng)][--sport 源端口號(hào)] [-d 目標(biāo)IP地址 | 目標(biāo)子網(wǎng)][--dport 目標(biāo)端口號(hào)] <-j 動(dòng)作>

        四、SMTP會(huì)話處理方式

        捕獲一個(gè)SMTP會(huì)話,以下命令很管用,推薦下 ;不喜歡用命令的同學(xué)我推薦用wireshark

        tcpdump -vv –x –X –s 1500 `port 25`

        五、打印自動(dòng)運(yùn)行服務(wù)

        打印出自動(dòng)運(yùn)行的服務(wù),3、5級(jí)別的即可;當(dāng)然喜歡圖形的同學(xué)可用ntsysv工具。

        [root@ltos test]# chkconfig -list | grep 3:on | awk '{print class="main">

      明白你的Linux服務(wù)器

      時(shí)間: 林澤1002 分享

        [root@ltos test]# chkconfig –list | grep 5:on | awk '{print class="main">

      明白你的Linux服務(wù)器

      時(shí)間: 林澤1002 分享

        六、使用Netstat查看協(xié)議數(shù)據(jù)

        Netstat用于顯示與IP、TCP、UDP和ICMP協(xié)議相關(guān)的統(tǒng)計(jì)數(shù)據(jù),一般用于檢驗(yàn)本機(jī)各端口的網(wǎng)絡(luò)連接情況。

        1.NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]

        2.-a 顯示所有連接和監(jiān)聽端口。

        3.-b 顯示包含于創(chuàng)建每個(gè)連接或監(jiān)聽端口的可執(zhí)行組件。

        4.-e 顯示以太網(wǎng)統(tǒng)計(jì)信息。此選項(xiàng)可以與-s選項(xiàng)組合使用。

        5.-n 以數(shù)字形式顯示地址和端口號(hào)。

        6.-o 顯示與每個(gè)連接相關(guān)的所屬進(jìn)程 ID。

        7.-p proto 顯示 proto 指定的協(xié)議的連接。

        8.-r 顯示路由表。

        9.-s 顯示按協(xié)議統(tǒng)計(jì)信息。

        一般用得比較多的就是netstat -an與netstat –rn。

        七、使用lsof查看文件信息

        在unix里面,一切皆文件;而Linux秉承了這一特性,將unix下的工具lsof移植過來得很成功。lsof可以列出被進(jìn)程所打開的文件的信息。

        被打開的文件可以是:

        1.普通的文件

        2.目錄

        3.網(wǎng)絡(luò)文件系統(tǒng)的文件

        4.字符設(shè)備文件

        5.(函數(shù))共享庫

        6.管道,命名管道

        7.符號(hào)鏈接

        8.底層的socket字流。網(wǎng)絡(luò)socket,unix域名socket,用得比較多的用法是lsof -i:端口號(hào),列出誰在使用某個(gè)端口,例如:lsof -i :3306,我喜歡用此用法來判斷服務(wù)到底有沒有正常啟用。

        八、使用fuser查看和殺死相關(guān)進(jìn)程

        與lsof –i的用法相法,如果我想查找占用3306端口的程序,則用fuser –n tcp -v 8080,另外,fuser的其它功能也是很強(qiáng)大的,我常用的它的兩個(gè)功能:查看我需要的進(jìn)程和我要?dú)⑺牢也榈降倪M(jìn)程。

        比如當(dāng)你想umount光驅(qū)的時(shí)候,結(jié)果系統(tǒng)提示你設(shè)備正在使用或者正忙,可是你又找不到到底誰使用了他。這個(gè)時(shí)候fuser可派上用場(chǎng)了。

        1.[root@lancy sbin]# eject

        2.umount: /media/cdrom: device is busy

        3.umount: /media/cdrom: device is busy

        4.eject: unmount of `/media/cdrom' failed

        5.[root@lancy sbin]# fuser /mnt/cdrom

        /mnt/cdrom: 4561c 5382c

        6.[root@lancy sbin]# ps -ef |egrep '(4561|5382)' |grep -v grep

        7.root 4561 4227 0 20:13 pts/1 00:00:00 bash

        8.root 5382 4561 0 21:42 pts/1 00:00:00 vim Autorun.inf

        示例中,我想彈出光驅(qū),系統(tǒng)告訴我設(shè)備忙著,于是采用fuser命令,參數(shù)是你文件或scoket,fuser將查出那些使用了他。4561c,5382c表示目前用兩個(gè)進(jìn)程在占用著/mnt/cdrom,分別是4561,5382,進(jìn)程ID后的字母表示占用資源的方式。

        九、TCP_wrappers防火墻

        Linux上一種特殊的防火墻TCP_wrappers防火墻,TCP 封包會(huì)先經(jīng)過所謂的 IP 過濾機(jī)制(IP Filtering),這是 Linux 提供的第一層保護(hù),他可以將你不想要的來源 IP(經(jīng)由 TCP 封包的 Head 資料)先當(dāng)?shù)粼僬f!如果可以通過的話,在就是要通過TCP_wrappers過濾。如果上面兩個(gè)都通過了,再就根據(jù)每個(gè)服務(wù)訪問控制的設(shè)定決定客戶機(jī)能得到不同的權(quán)限和信息.TCP_wrappers防火墻主要涉及到兩個(gè)文件/etc/hosts.allow和/etc/hosts.deny,可作iptables的補(bǔ)充來保護(hù)你的Linux安全,比如只允許內(nèi)網(wǎng)IP訪問你的NFS服務(wù)器。

        這里說下Linux是怎么識(shí)別其順序的,這里好多朋友容易混淆了;當(dāng)某個(gè)ip想訪問你的Linux下的特定服務(wù)時(shí),系統(tǒng)首先會(huì)檢查/etc/hosts.alllow文件,如是有的話就放行,沒有的話繼續(xù)檢查/etc/hosts.deny文件,有的話拒絕,沒有的就放行,不過一般的做法就直接在/etc/hosts.allow里放允許通行的ip,/etc/hosts.deny里放不允許通行的ip。另外,這里跟大家分享一個(gè)經(jīng)驗(yàn)心得吧:Linux下的服務(wù)眾多,samba,nfs,rsync,tcp_wrapper,xinetd等,而每個(gè)又都有各自支持的寫法,這樣對(duì)于考試學(xué)習(xí)及工作記憶很不方便,其實(shí)它們都支持192.168.0.1/255.255.255.0這樣的點(diǎn)分十進(jìn)制寫法;另,iptables是不支持的,它只支持192.168.0.1/24比特建網(wǎng)制。

        十、推薦下Linux/unix中常用的掃描端口工具-Nmap

        下面是Nmap支持的四種最基本的掃描方式:

        1.TCP connect()端口掃描(-sT參數(shù),-sP是用于掃描整個(gè)局域網(wǎng)段)

        2.TCP同步(SYN)端口掃描(-sS參數(shù))

        3.UDP端口掃描(-sU參數(shù))

        4.TCP ACK掃描(-sA參數(shù))

        我這里以自己的線上郵件服務(wù)器為例說明下:

        1.[root@mail postfix]# nmap -P0 -sS 211.143.6.X

        2.Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2009-03-29 16:21 CST

        3.Interesting ports on 211.143.6.X:

        4.Not shown: 1668 closed ports

        5.PORT STATE SERVICE

        6.22/tcp open ssh

        7.25/tcp open smtp

        8.80/tcp open http

        9.110/tcp open pop3

        10.111/tcp open rpcbind

        11.143/tcp open imap

        12.443/tcp open https

        13.465/tcp open smtps

        14.587/tcp open submission

        15.993/tcp open imaps

        16.995/tcp open pop3s

        17.1014/tcp open unknown

        lsof -i:1014,發(fā)現(xiàn)又是rpc.statd,這東東,每次用的端口都不一樣啊;它不能正確處理SIGPID信號(hào),遠(yuǎn)程攻擊者可利用這個(gè)漏洞關(guān)閉進(jìn)程,進(jìn)行拒絕服務(wù)攻擊;發(fā)現(xiàn)rpc.statd是由服務(wù)nfslock開啟,關(guān)閉它即可。

        service nfslock stop;chkconfig nfslock off

        關(guān)于網(wǎng)站的安全,我這里也有一些自己的淺見,特與大家共享下:

        iptables最好寫成腳本形式,想開哪個(gè)端口開哪個(gè),想關(guān)哪個(gè)關(guān)哪個(gè),iptables服務(wù)都可關(guān)閉;可以用crontab每5分鐘自動(dòng)關(guān)閉一次iptables,注意別把自己SSH停掉了,畢竟公司離機(jī)房還是很遠(yuǎn)的!

        不定期掃描,發(fā)現(xiàn)可疑端口就關(guān)閉,實(shí)在不太懂就cat /etc/services或google下查找端口。

      2751390