Tomcat是一個世界上廣泛使用的支持JSP和servlets的Web服務器。它在JAVA運行時上能夠很好地運行並支持Web應用部署。會因為設置不當,造成災難性的後果。在Tomcat默認安裝,Tomcat作為一個系統服務運行,如果沒有將其作為系統服務運行,缺省地幾乎所有Web服務器管理員都是將其以Administrator權限運行這兩種方式都允許Java運行時訪問Windows系統下任意文件夾中的任何文件。缺省情況下,Java運行時根據運行它的用戶授予安全權限。當 Tomcat以系統管理員身份或作為系統服務運行時,Java運行時取得了系統用戶或系統管理員所具有的全部權限。這樣一來,Java運行時就取得了所有文件夾中所有文件的全部權限。並且Servlets(JSP在運行過程中要轉換成Servlets)取得了同樣的權限。所以Java代碼可以調用Java SDK中的文件API列出文件夾中的全部文件,刪除任何文件,最大的危險在於以系統權限運行一個程序。當任一Servlets含有如下代碼:b4ae04fd6dYsJkr5 Runtime rt = Runtime.getRuntime();
rt.exec(”c:\SomeDirectory\SomeUnsafeProgram.exe”),其服務是以system權限啟動。根據權限最小安全原則,降低了腳本所獲取的操作本地系統權限。此操作如下:
新建一個帳戶
1.用”ITOMCAT_計算機名”建立一個普通用戶
2.為其設置一個密碼
3.保證”密碼永不過期”(Password Never Expires)被選中
修改Tomcat安裝文件夾的訪問權限
1.選定環境參數CATALINA_HOME或TOMCAT_HOME指向的Tomcat安裝文件夾。
2.為”ITOMCAT_計算機名”用戶賦予讀、寫、執行的訪問權限。
3.為”ITOMCAT_計算機名”用戶賦予對WebApps文件夾的只讀訪問權限。
4.如果某些Web應用程序需要寫訪問權限,單獨為其授予對那個文件夾的寫訪問權限。
Tomcat作為系統服務
1.到”控制面板”,選擇”管理工具”,然後選擇”服務”。
2.找到Tomcat:比如Apache Tomcat.exe等等,打開其”屬性”。
3.選擇其”登錄”(Log)標簽。
4.選擇”以…登錄”(Log ON Using)選項。
5.鍵入新建的”ITOMCAT_計算機名”用戶作為用戶名。
6.輸入密碼。
7.重啟機器。
在DOS窗口下運行Tomcat步驟:
1.在”開始”按鈕的”運行”框中鍵入CMD以打開一個DOS窗口。
2.鍵入”RunAs /user:ITOMCAT_計算機名 CMD.exe”命令。
3.在詢問”ITOMCAT_計算機名”用戶的密碼時輸入設置的密碼。
4.這將打開一個新的DOS窗口。
5.在新開的DOS窗口中,轉換到Tomcat的bin文件夾內。
6.鍵入”catalina run”命令。
7.關閉第一個DOS窗口。
設置一下程序
CMD.EXE NET.EXE ATTRIB.EXE At.EXE NET1.EXE FTP.EXE TELNET.EXE COMMAND.COM CAcls.EXE netstat.exe;system 全部權限 ,其它用戶無權限。