apache deny ip設定

系統技術/FreeBSD/Linux 2009/03/16 12:26
views: 42396 times
想要將 apache 的站台, 拒絕讓某個(某群ip)存取的方式, 有幾個方法, 其中最單純最俱體的方式就是直接利用 <Directory></Directory> 這個 tag 中的限制存取來操作最為單純方便 (當然, 虛擬主機可不行, 可以直接利用 .htaccess 設定該層目錄的存取權限)

一般來設, 設定如下:

<Directory "/usr/home/website1">
    order deny,allow
</Directory>

這樣即可. 就是判斷 deny , 預設為 allow 的條件, 也就是所謂公開站台的設定, 若有要限制某些 ip 存取, 可以這樣下:

<Directory "/usr/home/website1">
   order deny,allow
    deny from 1.2.3.4
    deny from 11.22.33.
</Directory>

其中的 deny from 1.2.3.4 是限制某個單一 ip, 而 deny from 11.22.33. 是指 11.22.33.* 都是拒絕存取的, 如此一來, 便能有效管理不想讓某些 ip (例如爬蟲類或是一些吃資源的 ip, 又或是攻擊的 ip)訪問做好限制.

不過發生了一個有趣的狀況, 也就是之前設了, 發現沒有用, 在多次交叉比對檢查後, 發現是這個原因, 就是在 <VirtualHost> 內的 DocumentRoot 指定為 /home/website1 而在 <Directory> 內的目錄指向是 /usr/home/website1 , 這樣一來, apache 在存取該 website1 的檔案時, 是走 /home/website1 下的檔案, 雖然和 /usr/home/website1 一樣, 不過對 apache 來說卻是不同, 這個要特別注意才行, 否則可能會有設定好的 <Directory> 的限制 ip, 但實際上沒有作用, 原因就有可能發生在這裡了.

又或反過來說, 設定的路徑一定要一致, 而且儘量用完整路徑, 不要用簡化的 link 路徑指向檔案, 也比較容易除錯一些. 所以原則上是這樣的:

<VirtualHost *:80>
    ServerName test.diary.tw
    Document /usr/home/www/test
    .....
</VirtualHost>

<Directory "/usr/home/www/test">
    order deny,allow
    deny from 1.2.3.4
</Directory>

這樣就 ok 啦, 千萬要注意紅字部分要一致的這件事, 否則可能設了沒有作用, 原因就在這裡了..

另外補充一下, 若是這種方式限制存取的話, client 會拿到 403 的存取失敗代碼.

top

ssh登入緩慢問題

系統技術/FreeBSD/Linux 2008/07/30 01:57
views: 55356 times
最近的一次更新, 讓 FreeBSD 主機在登入時, 速度變得很慢, 這對操作上有蠻大的影響, 於是問了同事, 也著手進行查詢相關的可能, 原來是 OpenSSH 的名稱反查問題, 簡單處理方式如下:

修改 /etc/ssh/sshd_config 檔內的一個 UseDNS 參數, 設為 no 即可.

官方說明連結: http://www.openssh.org/faq.html#3.3

3.3 - ssh(1) takes a long time to connect or log in

Large delays (more that 10 seconds) are typically caused a problem with name resolution:

  • Some versions of glibc (notably glibc 2.1 shipped with Red Hat 6.1) can take a long time to resolve "IPv6 or IPv4" addresses from domain names. This can be worked around with by specifying AddressFamily inet option in ssh_config.
  • There may be a DNS lookup problem, either at the client or server. You can use the nslookup command to check this on both client and server by looking up the other end's name and IP address. In addition, on the server look up the name returned by the client's IP-name lookup. You can disable most of the server-side lookups by setting UseDNS no in sshd_config.
    下面還有如何判定是 "slow"
    CPUTime (SSHv1)[1] Time (SSHv2)
    170MHz SPARC/sun4m0.74 sec1.25 sec
    236MHz HPPA/8200[2]0.44 sec 0.79 sec
    375MHz PowerPC/604e0.38 sec0.51 sec
    933MHz VIA Ezra0.34 sec0.44 sec
    2.1GHz Athlon XP 2600+0.14 sec0.22 sec

    參考看看吧!



    top

    找指定檔案內容的語法

    系統技術/FreeBSD/Linux 2008/07/15 19:57
    views: 52896 times
    在 Linux, FreeBSD 下若要指定目錄以下的檔案內容查詢的指令, 可以利用 find 配合 -exec 參數, 再配合 grep 指令即可達到目的.

    使用方式如下:

    find . -name "*.log" -exec grep Virtual {} \;


    這個方式就以 . 目錄以下, 找出所有 .log 的檔案, 內容有含 "Virtual" 的行內容, 但要注意最後方的 semicolon (分號) 要以反斜線開頭, 才會被 -exec 認識.
    top








    【預購】林志玲2012年桌曆 SAPIDO傻多  N速Gigabit 多網型無線寬頻分享器 (GR-1733) SanDisk 16GB Mobile Ultra microSDHC 附轉卡(平輸) (繁中版)Panasonic GF3+14mm F2.5+14-42mm 雙鏡組 人因 Ergotech Tablet  多媒體娛樂機 ★FujiXerox DocuPrint P205b S-LED雷射印表機(粉紅機) (繁中版)Panasonic GF3+14mm F2.5+14-42mm 雙鏡組 飛利浦免油健康氣炸鍋(HD9220) 華擎平台【龍神傳說】四核SSD獨顯電玩機 美國VIZIO 47吋Full HD液晶顯示器+視訊盒 E470VL-TW(M) JSmax Android MID-1023 10.1吋平板電腦(全新升級版) lenovo ideapad G575雙核心15吋筆電【含微軟Windows 7】315301 Lenovo ideapad G570 59-309037 新雙核B950 15.6吋筆電 美國西屋42吋FHD液晶顯示器+視訊盒(LC-42E300A) 【快】Toshiba 新禾公司貨 V5 1TB 黑靚潮行動硬碟 OCZ Solid 3 120GB 2.5吋 SATA3 固態硬碟 SanDisk 16GB microSDHC (Class 4) 記憶卡 HP LaserJet Pro CP1025nw 無線迷你彩色雷射印表機 D-Link DHP-501AV 500Mbps電力線網路橋接器(雙包裝) IBT-1073VOD 雲端劇院 Brinno Garden Watch Cam 生活記錄器 SAPIDO N速 3.5G易享機 支援BT (GR-1222) 35合1掌上型麻將機2代 三洋 SANYO 日本原廠 18650 全新高效能高容 2600mAh 鋰電池充電組 華擎H61平台【迷你戰將】雙核19型效能液晶電腦


     Waiting...