系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux極客需掌握的技巧

Linux極客需要掌握的技巧合集(7)

時(shí)間:2015-01-04 15:30:05 作者:qipeng 來源:系統(tǒng)之家 1. 掃描二維碼隨時(shí)看資訊 2. 請(qǐng)使用手機(jī)瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20150104/33930.html 手機(jī)查看 評(píng)論

  49:當(dāng)?shù)浅龅臅r(shí)候清理KDE

  難度:簡(jiǎn)單

  應(yīng)用程序:bash

  在Windows中有很多程序會(huì)做一些清除網(wǎng)絡(luò)緩存,移除臨時(shí)文件事情。Linux上如果也可以這樣是不是很cool呢?使用KDE,你甚至不需要安裝任何新的軟件,startkde腳本將會(huì)自動(dòng)的執(zhí)行你放在特殊地方的腳本。

  首先,你需要在你的.kde目錄下創(chuàng)建一個(gè)命令shutdown的目錄:

  mkdir /home/username/.kde/shutdown

  現(xiàn)在創(chuàng)建一個(gè)腳本,用來在關(guān)機(jī)時(shí)執(zhí)行一些你想要的事情。這里是一個(gè)例子:

  #!/bin/bash#clear up temp folderrm -rf ~/tmp/*#clear out cachesrm -rf ~/.ee/minis/*rm -rf ~/.kde/share/cache/http/*# delete konqueror form completionsrm ~/.kde/share/apps/khtml/formcompletions

  現(xiàn)在確保你設(shè)置了正確的權(quán)限:

  chmod ug+x ~/.kde/shutdown/cleanup.sh

 。ɑ蛘唠S便你叫它什么)?梢郧宄舾形募部梢酝ㄟ^將腳本放在你的默認(rèn)KDE文件夾中有一個(gè)名為shutdown的子文件夾里,給所有用戶一個(gè)全局的關(guān)機(jī)腳本。找出你的默認(rèn)KDE目錄在哪里,試一下:

  kde-config --path exe

  50:無密碼的ssh

  難度:中等

  應(yīng)用程序:ssh

  厭煩了每次登陸你的服務(wù)器時(shí)都要輸入密碼?ssh也支持密鑰,所以當(dāng)你登陸桌面時(shí)你只能輸入你的密碼。在你的桌面機(jī)器上生成一個(gè)密鑰對(duì):

  ssh-keygen -t dsa -C your.email@ddress

  為你的密鑰輸入一個(gè)口令。這會(huì)將密鑰放到 ~/.ssh/id_dsa and the public key in ~/.ssh/id_dsa.pub中,F(xiàn)在看看你是否有了一個(gè)正在運(yùn)行的ssh-agent。

  echo $SSH_AGENT_PID

  如果安裝了ssh-agent,大部分窗口管理器都會(huì)自動(dòng)運(yùn)行它。如果沒有安裝,開啟一個(gè):

  eval $(ssh-agent)

  現(xiàn)在,告訴這個(gè)代理你的密鑰:

  ssh-add

  然后輸入你的口令。你需要在每次登陸時(shí)都輸入口令,如果你是使用X,嘗試添加:

  SSH_ASKPASS=ssh-askpass ssh-add

  到你的.xsession文件。(你可能需要安裝ssh-askpass)現(xiàn)在為每個(gè)你需要登入的服務(wù)器都創(chuàng)建這個(gè)目錄 ~/.ssh,然后復(fù)制這個(gè)文件~/.ssh/id_dsa.pub into it as ~/.ssh/authorized_keys 。如果你是手動(dòng)開啟ssh-agent,當(dāng)你登出時(shí),使用如下代碼終止它:

  ssh-agent -k

  51:通過ssh使用rsync

  難度:中等

  應(yīng)用程序:Shell

  rsync使大型目錄結(jié)構(gòu)保持同步。通過SSH使用tar遠(yuǎn)程復(fù)制一個(gè)文件系統(tǒng)的一部分是非常理想的,sync甚至更適合保持兩臺(tái)機(jī)器之間的文件系統(tǒng)的同步。為了使用SSH運(yùn)行一個(gè)rsyns,傳遞給它一個(gè)-e轉(zhuǎn)換:

  rsync -ave ssh greendome:/home/ftp/pub/ /home/ftp/pub/

  注意從源端(在greendome上)來的文件說明后面的 / ,在源說明中,一個(gè)尾部的 / 告訴rsync這個(gè)目錄的內(nèi)容,但不是目錄本身。為了將目錄放入正在復(fù)制的內(nèi)容的最高等級(jí)丟掉這個(gè) /:

  rsync -ave ssh bcnu:/home/six 。

  這將在 ~/six/目錄下保持一個(gè)與bcnu:/home/six/上的任何東西同步的復(fù)制品。rsync默認(rèn)只拷貝文件和目錄,但是當(dāng)源端移除了文件時(shí)并不會(huì)在目的端移除它們的拷貝。為了保持復(fù)制的精確性,包含–delete這個(gè)標(biāo)志:

  rsync -ave ssh--delete greendome:~one/reports 。

  現(xiàn)在當(dāng)老的報(bào)表從greendome上的~one/reports/中移除了,在同步版本中,每次這個(gè)命令運(yùn)行時(shí),它們也將會(huì)從~six/public_html/reports/中移除。如果你在corn中像這樣運(yùn)行一條命令,記得丟掉v。這將會(huì)使輸出穩(wěn)定(除非rsync在運(yùn)行中出現(xiàn)問題,在這種情況下你將會(huì)收到一封有錯(cuò)誤輸出的郵件)。使用SSH作為你的rsync運(yùn)輸方式,這樣做的好處是使數(shù)據(jù)在網(wǎng)絡(luò)傳輸過程中加密,并可以方便使用任何你已經(jīng)用SSH客戶端密鑰建立的信任關(guān)系。

  52:資源掃描

  難度:中等

  應(yīng)用程序:nmap

  例如,簡(jiǎn)單的TCP連接掃描可以在不需要root特權(quán)時(shí)進(jìn)行:

  一般來說,當(dāng)人們想到nmap時(shí),都假設(shè)nmap是用來進(jìn)行一些違法的網(wǎng)絡(luò)偵查,并為惡意攻擊做準(zhǔn)備的。但是作為一個(gè)強(qiáng)大的工具,nmap可以成為一個(gè)白帽子,做一些比入侵網(wǎng)絡(luò)有意義得多的事。

  nmap rigel

  nmap也可以通過指定范圍或者CIDR符號(hào)來掃描IP地址:

  nmap 192.168.0.1-254nmap 192.168.0.0/24

  nmap如果以root身份運(yùn)行,可以提供更多的信息。當(dāng)它以root身份運(yùn)行時(shí),通過使用-O標(biāo)志,它可以使用特殊的數(shù)據(jù)包來決定遠(yuǎn)程機(jī)器的操作系統(tǒng)。此外,你可以通過使用-sS標(biāo)志來實(shí)現(xiàn)半開的TCP掃描。nmap將會(huì)發(fā)送一個(gè)SYN數(shù)據(jù)包到遠(yuǎn)程的主機(jī),然后等待接收它回應(yīng)的ACK。如果nmap收到一個(gè)ACK,它就知道這個(gè)端口是開放的。

  這不同于普通的TCP三次握手,客戶端會(huì)發(fā)送一個(gè)SYN包,如果它收到了初始的服務(wù)器ACK,客戶端隨后會(huì)將一個(gè)ACK送回服務(wù)器。攻擊者們時(shí)常使用這個(gè)選項(xiàng)來避免使他們的掃描登陸到遠(yuǎn)程機(jī)器上。

  nmap -sS -O rigel

  Starting nmap V. 3.00 ( www.insecure.org/nmap/ )Interesting ports on rigel.nnc (192.168.0.61):(The 1578 ports scanned but not shown below are in state: filtered)Port State Service7/tcpopen echo 9/tcpopen discard 13/tcp open daytime 19/tcp open chargen 21/tcp open ftp 22/tcp open ssh 23/tcp open telnet 25/tcp open smtp 37/tcp open time 79/tcp open finger 111/tcpopen sunrpc 512/tcpopen exec 513/tcpopen login 514/tcpopen shell 587/tcpopen submission 7100/tcp open font-service 32771/tcpopen sometimes-rpc5 32772/tcpopen sometimes-rpc7 32773/tcpopen sometimes-rpc9 32774/tcpopen sometimes-rpc11 32777/tcpopen sometimes-rpc17 Remote operating system guess: Solaris 9 Beta through Release on SPARCUptime 44.051 days (since Sat Nov1 16:41:50 2003)Nmap run completed -- 1 IP address (1 host up) scanned in 166 seconds

  伴隨著OS探測(cè)的激活,nmap可以確認(rèn)OS是Solaris,但是現(xiàn)在你還可以知道,它可能是運(yùn)行在SPARC處理器上的Version 9。

  一個(gè)強(qiáng)大的功能是可以被用于和你的nmap的XML輸出性能保持聯(lián)系。使用-oX命令行轉(zhuǎn)換而激活,就像這樣:

  nmap -sS -O -oX scandata.xml rigel

  這在掃描IP地址范圍或者你全部的網(wǎng)絡(luò)時(shí)是特別有用的,你可以將所有通過掃描收集起來的信息放到一個(gè)XML文件里,并經(jīng)過解析后插入到數(shù)據(jù)庫中。這里是一個(gè)開放的端口的XML入口:

  《port protocol=“tcp” portid=“22”》《state state=“open” /》《service name=“ssh” method=“table” conf=“3” /》《/port》

  nmap是一個(gè)強(qiáng)大的工具。通過使用它的XML輸出性能,一點(diǎn)點(diǎn)的腳本,還有一個(gè)數(shù)據(jù)庫,你可以創(chuàng)造一個(gè)更強(qiáng)大的可以在你的網(wǎng)絡(luò)上監(jiān)測(cè)未授權(quán)的服務(wù)和機(jī)器的工具。

  53:備份你的bootsector(引導(dǎo)扇區(qū))

  難度:高級(jí)

  應(yīng)用程序:Shell

  妨礙引導(dǎo)裝入,雙啟動(dòng)和很多其他下熱鬧的程序會(huì)留給你一個(gè)混亂的引導(dǎo)扇區(qū)。為什么不在你可以備份的時(shí)候給它創(chuàng)建一個(gè)備份呢:

  引導(dǎo)裝載器混亂、雙啟動(dòng)及許多其他的可怕的進(jìn)程可能造成亂七八糟的啟動(dòng)區(qū)。

  dd if=/dev/hda of=bootsector.img bs=512 count=1

  很顯然,你應(yīng)該改變這個(gè)裝置來顯示你的boot驅(qū)動(dòng)(有可能是SCSI的sda)。還要非常小心,別把事情搞砸——你可能會(huì)輕而易舉地毀掉你的驅(qū)動(dòng)!恢復(fù)時(shí)使用:

  dd if=bootsector.img of=/dev/hda

  54:保護(hù)日志文件

  難度:高級(jí)

  應(yīng)用程序:很多

  在一個(gè)入侵過程中,一個(gè)入侵者將會(huì)很可能在很多系統(tǒng)日志中留下能反映他行為的跡象:一個(gè)有價(jià)值的審計(jì)追蹤應(yīng)該被保護(hù)。沒有可靠的日志,就很難發(fā)現(xiàn)攻擊者是如何侵入,或者是從哪里來的攻擊。這個(gè)信息在分析事件、聯(lián)系相關(guān)方面并給予反饋上,是很關(guān)鍵的。但是,如果入侵成功,什么才能阻止他來移除他的這些錯(cuò)誤行為的痕跡呢?

  這就是文件屬性能發(fā)揮作用、挽回?cái)【值牡胤剑ɑ蛘咧辽偈故虑闆]那么糟)。Linux和BSD都有給文件和目錄分配額外的屬性這個(gè)功能。這不同于標(biāo)準(zhǔn)的Unix權(quán)限方案中,系統(tǒng)為所有的用戶提供的普遍的屬性設(shè)置,而且它們比文件權(quán)限或者ACL都要更深層次影響文件訪問。

  在Linux中,你可以看到并且通過lsattr和chattr命令分別修改一個(gè)給出文件的設(shè)置。在寫這篇文章時(shí),Linux的文件屬性只能在你使用ext2和ext3時(shí)獲得。這還有些XFS和ReiserFS的關(guān)于獲得屬性支持的內(nèi)核補(bǔ)丁。一個(gè)保護(hù)日志文件的有用的屬性是append-only。當(dāng)這個(gè)屬性被設(shè)置后,文件不能被刪除,而且寫操作只能被允許在文件的最后追加。

  在Linux下要設(shè)置append-only標(biāo)志,運(yùn)行這條命令:

  chattr +afilename

  看看+a屬性是如何工作的:創(chuàng)建一個(gè)文件然后設(shè)置它的append-only屬性:

  touch /var/log/logfileecho “append-only not set” 》 /var/log/logfilechattr +a /var/log/logfileecho “append-only set” 》 /var/log/logfilebash: /var/log/logfile: Operation not permitted

  企圖第二次寫文件失敗,因?yàn)樗鼘⒏采w這個(gè)文件。然而,在文件的末尾追加仍然是被允許的:

  echo “appending to file” 》》 /var/log/logfilecat /var/log/logfileappend-only not setappending to file

  顯而易見,一個(gè)獲得root特權(quán)的侵入者能意識(shí)到使用了文件屬性,并且可以通過運(yùn)行chattr -a來移除append-only標(biāo)志。為了防止這種情況,我們需要禁用移除append-only屬性的性能,在Linux下使用功能機(jī)制完成這個(gè)。

  Linux功能模型分割特權(quán)給全能的root賬戶,并且允許你有選擇的禁用它們。為了防止一個(gè)用戶移除一個(gè)文件的append-only屬性,我們需要移除CAP_LINUX_IMMUTABLE功能。當(dāng)體現(xiàn)在當(dāng)前運(yùn)行系統(tǒng)中時(shí),這個(gè)功能允許append-only屬性被修改。為了當(dāng)前系統(tǒng)中獲得修改這個(gè)功能的設(shè)置,我們將簡(jiǎn)單有效地調(diào)用lcap.

  為了解壓和編譯這個(gè)工具,運(yùn)行這條命令:

  tar xvfj lcap-0.0.3.tar.bz2 && cd lcap-0.0.3 && make

  然后,不允許修改append-only標(biāo)志,運(yùn)行:

  。/lcap CAP_LINUX_IMMUTABLE./lcap CAP_SYS_RAWIO

  第一條命令移除了改變append-only標(biāo)志的功能,然后第二條移除了原始I/O的功能。這是很有必要的,因?yàn)檫@樣就能保護(hù)文件不被訪問塊設(shè)備時(shí)駐留在其上的東西修改。這阻止了訪問/dev/mem和/dev/kmem,有可能給入侵者提供恢復(fù)CAP_LINUX_IMMUTABLE功能的漏洞。為了在boot上移除這項(xiàng)功能,添加之前的兩條命令到你的系統(tǒng)啟動(dòng)腳本中(例如/etc/rc.local)。你應(yīng)該確保這個(gè)功能在boot命令中被移除了,防止其他啟動(dòng)腳本出問題。一旦lcap移除了內(nèi)核功能,就只能通過重啟系統(tǒng)來恢復(fù)了。

  在做這些之前,你應(yīng)該明白,給你的日志文件添加append-only標(biāo)志,將會(huì)造成日志循環(huán)腳本失敗。然而,做這件事將會(huì)極大的提升你的審計(jì)追蹤的安全性。安全性的提升在突發(fā)事件中會(huì)被證明是很有用的。

發(fā)表評(píng)論

0

沒有更多評(píng)論了

評(píng)論就這些咯,讓大家也知道你的獨(dú)特見解

立即評(píng)論

以上留言僅代表用戶個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場(chǎng)

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

官方交流群 軟件收錄