Archive

2011年2月 的Archive

Apache Porxy 代理強化安全性

2011年2月18日 尚無評論

又一案例客戶主機變慢了,經查apache log出現了很多怪log

82.146.62.95 – – [23/Feb/2011:13:58:09 +0800] “GET http://zevsmail1.joinvps.com/test_url/dump.php HTTP/1.0” 404 282
82.146.62.95 – – [23/Feb/2011:13:58:09 +0800] “CONNECT 74.125.232.49:443 HTTP/1.1” 400 378
187.158.158.47 – – [23/Feb/2011:13:58:09 +0800] “GET http://www.larednoticias.com/ HTTP/1.1” 200 335
68.169.86.222 – – [23/Feb/2011:13:58:09 +0800] “POST http://www.navanakorn.co.th/reply.php HTTP/1.1” 404 286

82.146.62.95 – – [23/Feb/2011:13:58:09 +0800] “GET http://zevsmail1.joinvps.com/test_url/dump.php HTTP/1.0” 404 28282.146.62.95 – – [23/Feb/2011:13:58:09 +0800] “CONNECT 74.125.232.49:443 HTTP/1.1” 400 378187.158.158.47 – – [23/Feb/2011:13:58:09 +0800] “GET http://www.larednoticias.com/ HTTP/1.1” 200 33568.169.86.222 – – [23/Feb/2011:13:58:09 +0800] “POST http://www.navanakorn.co.th/reply.php HTTP/1.1” 404 286

看來好像變成了代理伺服器,經瞭解,原來他的apache開了mod_proxy, 上網查了一下~~這個東東可不能亂用~@@,但客戶又有系統上的需求,非開不可,所以只好看看有什麼可以防治,以下是防範的作法,與大家分享:

1.似乎網路上有人建議如果是只需要domain 的網站,那該IP封起來不要給連即可!!  這是不錯的方法~可惜客戶連IP都要用@@

2.在IP那個預設的Directory 裡,將 ProxyRequests Off (不過怪了~似乎其它Virtual Host 有使用好像就關不起來,不過還是加上去保平安)

3.為了增加apache的安全性,所以只限GET POST OPTIONS 才能使用

<Directory “/var/www/html/root”>
AllowOverride none
Options FllowSymLinks
# 先允許能夠進行 GET, POST 與 OPTIONS 啦!
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>

# 再規定除了這三個動作之外,其他的動作通通不允許啦!
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

經這樣使用後,系統運行後就正常多了,只是原本要找代理的請求都轉變成找不到檔案的error 佔滿了error log,原本是想看能不能將連至本網站但 GET 其它網站連結 都擋掉,想連log都看不到,不過查了一下~看來沒法子!!    只好等這個IP從Free代理主機名單中自行消失。

參考資料:

Tomcat監控執行效能

2011年2月16日 尚無評論
Tomcat是一個不錯的Java Web Appaction,本身也有提供監控執行的東東,雖然陽春,但對於系統效能調校,這些數據是非常有用的。
1.首先,預設這個監控是沒有開啟的,要打開Tomcat的status頁面,要先至Tomcat的conf目錄下的tomcat-users.xml裡面增加使用者資料及權限,調整如下:
<tomcat-users>
<role rolename=”manager”/>
<user username=”youradmin” password=”yourpassword” roles=”manager”/>
</tomcat-users>

這裡的password和username請自行修改,之後重啟tomcat,連結至http://localhost:8080/manager/status再輸入其帳號密碼即可看到現行運行的status(畫面如下)

如果你是要拿這些數據去做一些統計分析圖表,可執行http://localhost:8080/manager/status?XML=true 這樣即可以XML的方式產出(下方參考連結中有一個是在教如何用其它工具做圖表,有興趣請自行延伸閱讀)

當然,這個status頁面所提供的數據是做何用的,我想有些人看到這麼多數據就很頭大,所以以下是參考別人的網站再轉譯,應該有所幫助:

  • ThreadInfo: Tomcat中執行序資訊
  • Max threads:     執行序最大可以產生的數量
  • MinSpareThreads: 執行序最小空閒的數量
  • MaxSpareThreads: 執行序最大空閒的數量
  • Current thread count: 現行執行中的Thread數量
  • Current thread busy:  現行處於busy狀態的執行序數
  • RequestInfo: 請求的統計資訊
  • Max processing time: 單一個請求的最大處理時間
  • Processing time: 請求的處理時間
  • Bytes received: 收到的Bytes數
  • Bytes sent: 發送的Bytes數
  • Request count: 總請求數
  • Error count: 發生錯誤的請求數
  • Stage Time B Sent B Recv Client VHost Request
  • 這些就是你訪問伺服器這個時間點,伺服器正在處理的連接的一些資訊。
  • ThreadInfo: Tomcat中執行序資訊 Max threads:     執行序最大可以產生的數量 MinSpareThreads: 執行序最小空閒的數量 MaxSpareThreads: 執行序最大空閒的數量 Current thread count: 現行執行中的Thread數量 Current thread busy:  現行處於busy狀態的執行序數
  • RequestInfo: 請求的統計資訊 Max processing time: 單一個請求的最大處理時間 Processing time: 請求的處理時間 Bytes received: 收到的Bytes數 Bytes sent: 發送的Bytes數 Request count: 總請求數 Error count: 發生錯誤的請求數
  • Stage Time B Sent B Recv Client VHost Request 這些就是你訪問伺服器這個時間點,伺服器正在處理的連接的一些資訊。

參考資料:

http://www.javaeye.com/problems/36777

http://bbs.51testing.com/thread-113013-1-1.html(有人透過在Linux透過其它製圖工具繪製Tomcat Status圖表,有興趣可參考此連結)

Categories: JAVA, 系統設定 Tags: ,