|
|
|||||||
Apache WebServer เป็นโปรแกรมที่ใช้รองรับการให้บริการที่เรียกว่า World Wide Web (WWW) ซึ่งผู้ใช้งานอินเทอร์เน็ตโดยทั่วไปรู้จักคุ้นเคยกันเป็นอย่างดี ทั้งยังเป็นบริการหนึ่งที่มีผู้ใช้งานสูงสุดบนเครือข่ายอินเทอร์เน็ตอีกด้วย ผู้ใช้ทั่วไปนิยมใช้บริการ WWW นี้เพื่อค้นหา หรือเลือกดูข้อมูลที่สนใจ และดึงเอาข้อมูลที่ต้องการมาใช้งาน ส่วนองค์กรต่างๆ นิยมใช้เพื่อการประชาสัมพันธ์ข้อมูล หรือใช้เป็นช่องทางการติดต่อสื่อสารกับผู้ใช้งานอีกทางหนึ่ง ให้ประโยชน์ในการส่งผ่านข้อมูลทั่วไป หรือใช้ในการทำธุรกรรมพาณิชย์อิเล็กทรอนิกส์ ทั้งนี้เนื่องมาจากการติดตั้งเว็บเซิร์ฟเวอร์ขึ้นมาเพื่อใช้งานนั้นสามารถทำได้โดยไม่ยุ่งยาก และเสียค่าใช้จ่ายไม่มากนัก
อย่างไรก็ตาม การรักษาความปลอดภัยให้กับเครื่องเว็บเซิร์ฟเวอร์ถือเป็นสิ่งจำเป็นซึ่งผู้ดูแลระบบไม่ควรมองข้าม เพราะเว็บเพจของแต่ละองค์กรก็เปรียบเสมือนหน้าตาขององค์กร หากถูกผู้ไม่ประสงค์ดีบุกรุกโจมตีก็จะเป็นการทำลายชื่อเสียงหรือความน่าเชื่อถือขององค์กรไปด้วย
บทความนี้เป็นการรวมรวมข้อควรปฏิบัติต่างๆ ที่ผู้ดูแลระบบซึ่งทำหน้าที่ดูแลเครื่องเว็บเซิร์ฟเวอร์ที่ใช้งานโปรแกรม Apache ควรนำไปปฏิบัติเพื่อเพิ่มความปลอดภัยให้กับเครื่องเว็บเซิร์ฟเวอร์ในองค์กรของตน โดยจัดทำขึ้นให้มีความสอดคล้องกับเนื้อหาเรื่อง Hardening Dedicated Server: Apache Web Server ซึ่งทีมงาน ThaiCERT ได้จัดบรรยายให้แก่ผู้สนใจในงาน Thai IT Security 2002 เมื่อวันที่ 18 กันยายน 2545 ที่ผ่านมา
Checklist
คำอธิบายเพิ่มเติม
| USER | conf | tools (bin) | log | CGI | content |
| webmaster | Read/Write | Read | Read | Read/Write | Read/Write |
| web developer | - | - | - | Read/Write | Read/Write |
| web author | - | - | - | Read | Read/Write |
| nobody | - | - | - | Read | Read |
# patch -p0 < (/path/to/patch_file)
# define |
SERVER_BASEVENDOR |
"Apache Group" | |
| # define | SERVER_BASEPRODUCT | "Apache" | |
| # define | SERVER_BASEREVISION | "1.3.26" |
# define |
SERVER_BASEVENDOR |
"Apache Group" | |
| # define | SERVER_BASEPRODUCT | "My Server" | |
| # define | SERVER_BASEREVISION | "4.0" |
| DIRECTIVE |
VALUE | ความหมาย/ คำแนะนำ |
| ServerType | [standalone | inetd] | เลือกตามชนิดของเซิร์ฟเวอร์ที่ต้องการใช้ |
| HostnameLookups | [On | Off] | กำหนดว่า ต้องการให้เว็บเซิร์ฟเวอร์สามารถ resolve ชื่อเครื่องที่ได้รับ เป็นค่าไอพีแอดเดรสได้หรือไม่ (On: ได้ Off: ไม่ได้) |
| User | [username] | กำหนดเป็นชื่อ user ที่เตรียมไว้ให้เข้ามาใช้งานเว็บเพจ เช่น nobody |
| Group | [groupname] | กำหนดเป็นชื่อ group ที่เตรียมไว้ให้เข้ามาใช้งานเว็บเพจ เช่น nobody |
| Port | [port number] | กำหนดหมายเลขพอร์ตที่ต้องการใช้งานในการเข้าชมเว็บเพจ เช่น 80 (ตาม RFC 1326) |
| ServerAdmin | [e-mail address] | กำหนดอี-เมล์แอดเดรสของผู้ดูแลเว็บเพจที่แสดงแก่ผู้ใช้ |
| ServerRoot | [path/to/apache_program] | กำหนดไดเรกทอรีที่เก็บไดเรกทอรีของไฟล์กำหนดค่าการทำงานและไฟล์ล็อกของโปรแกรม Apache |
| ServerName | [server_name] | กำหนดชื่อเซิร์ฟเวอร์ที่ต้องการแสดง เช่น www.hostname.com |
| DIRECTIVE |
VALUE | ความหมาย/ คำแนะนำ |
| LogLevel | [debug|info|notice|warn| error|crit|alert|emerg] |
กำหนด priority ในการเก็บบันทึกล็อกความผิดพลาดที่เกิดขึ้นกับโปรแกรม Apache แนะนำให้แก้ไขเป็น notice |
| ErrorLog | [path/to/ apache_error_log] |
กำหนดไฟล์ที่เก็บบันทึกล็อกของความผิดพลาดทั้งหมดที่เกิดขึ้นกับโปรแกรม Apache |
| CustomLog | [path/to/ apache_access_log] |
กำหนดไฟล์ที่เก็บบันทึกล็อกการเข้าใช้งานเว็บเพจผ่านโปรแกรม Apache |
| <Directory> | [full_path/to/directory] | กำหนดค่าการเข้าใช้งานแต่ละไดเรกทอรีตามที่ผู้ดูแลระบบต้องการ ทำงานโดยอาศัย directive อื่นๆ ร่วมด้วย เช่น Options, AllowOverride, Order เป็นต้น |
| Options | [None|All|AllowOverride| ExecCGI|FollowSymLinks| Includes|IncludesNoExec| Indexes|MultiViews| SymlinksIfOwnerMatch] |
ควบคุมรูปแบบการเปิดให้ใช้งานแต่ละไดเรกทอรี (ตามที่กำหนดใน
directive ชื่อ Directory) ผ่านเว็บเซิร์ฟเวอร์
สามารถกำหนดได้หลากหลายตามที่ต้องการ ผู้ดูแลระบบจะต้องพิจารณาว่าไดเรกทอรีใดต้องเปิดให้ใช้รูปแบบการทำงานพิเศษใดบ้าง
ตัวอย่างเช่น |
| Order | [deny,allow|allow,deny] | กำหนดลำดับความสำคัญของการอนุญาตหรือไม่อนุญาตให้เครื่องคอมพิวเตอร์ของผู้ใช้เข้าใช้งานไดเรกทอรีที่กำหนด deny,allow: ให้พิจารณาจาก allow ก่อน allow,deny: ให้พิจารณาจาก deny ก่อน |
| Allow from/ Deny from | [host1 host2 host3|All] | Allow from:
กำหนดว่าจะอนุญาตให้เครื่องคอมพิวเตอร์เครื่องใดเข้าใช้งานไดเรกทอรีที่กำหนดบ้าง
Deny from: กำหนดว่าจะไม่อนุญาตให้เครื่องคอมพิวเตอร์เครื่องใดเข้าใช้งานไดเรกทอรีที่กำหนดบ้าง All: อนุญาต/ไม่อนุญาตให้ทุกเครื่องเข้าใช้งาน |
| ServerSignature | [On|Off|Email] | กำหนดข้อความที่จะให้แสดงตรงส่วนท้ายของหน้าเว็บเพจแต่ละหน้า
On: แสดงชื่อและเวอร์ชันของโปรแกรม Apache ชื่อเครื่องที่ใช์และพอร์ตที่เปิดให้ใช้งาน Off: ไม่แสดงค่าใดๆ เลย Email: แสดงอี-เมล์แอดเดรสของผู้ดูแลเว็บเซิร์ฟเวอร์ (ServerAdmin) |
| ServerTokens | [Full|OS|Min|Prod] | กำหนดว่าจะอนุญาตให้ส่งข้อมูลที่เกี่ยวข้องกับการให้บริการเว็บเซิร์ฟเวอร์รวมไปกับการส่งข้อความ
header ของเซิร์ฟเวอร์เมื่อได้รับการร้องขอหรือไม่ Full: (หรือไม่มีการเรียกใช้ directive นี้) ผู้ใช้ที่ขอข้อมูล header จะได้รับข้อมูลทั้งหมด OS: แสดงเฉพาะรายละเอียดของโปรแกรม Apache และชนิดของระบบปฏิบัติการที่ใช้ Min(imal): แสดงเฉพาะรายละเอียดของโปรแกรม Apache เท่านั้น Prod(uctOnly): ให้แสดงเฉพาะชื่อโปรแกรม Apache เท่านั้น |
| CoreDumpDirectory | [path/to/directory] | กำหนดว่าจะให้ระบบบันทึกสิ่งที่เกิดขึ้นลงในไดเรกทอรีใด หากเครื่องเว็บเซิร์ฟเวอร์เกิดการขัดข้อง (core dump) เพื่อนำไปใช้วิเคราะห์เหตุการณ์ที่เกิดขึ้น เช่น /logs |
| <LimitExcept> | [GET|POST|PUT|DELETE| CONNECT|OPTIONS] |
จำกัดการทำงานของเว็บเซิร์ฟเวอร์ โดยควบคุมวิธีการขอใช้งาน HTTP จากเครื่องผู้ใช้ โดยปกติแล้ววิธีการที่จำเป็นต้องใช้งานคือ GET และ POST |
สำหรับ Error 401 และ Error 403 นั้นเป็นความผิดพลาดจากการที่ผู้ใช้พยายามเข้าใช้งานส่วนใดๆ ของเว็บไซต์โดยไม่ได้รับอนุญาต หากผู้ดูแลระบบคนใดให้ความสำคัญกับความปลอดภัยของเว็บไซต์อาจจะเก็บบันทึกข้อมูลที่เกิดขึ้นนี้ไว้เป็นหลักฐานได้ อย่างไรก็ตาม ข้อด้อยอย่างหนึ่งของโพรดตคอล HTTP (HyperText Transfer Protocol) คือจะไม่มีการเก็บค่าการติดต่อที่ไม่สำเร็จ ดังนั้นผู้ดูแลระบบจำเป็นต้องนำเอาสคริปต์ CGI มาแทนที่หน้าเว็บเพจที่จะใช้แสดงหากเกิด Error 401 และ 403 การกำหนดว่า Error ชนิดใดให้แสดงด้วยเว็บเพจหรือสคริปต์ใดทำได้ดังนี้
| ErrorDocument |
<Error_Code
Number> |
/path/to/script_or_webpage |
| ErrorDocument |
401 |
/path/to/apache/cgi-bin/401.cgi | |
| ErrorDocument | 404 | errors/404.html |
ค่า Error หมายเลขต่างๆ ของโปรแกรม Apache แสดงไว้ในตารางที่ 4 ด้านล่าง
| Successful Client Requests | |
| 200 | OK |
| 201 | Created |
| 202 | Accepted |
| 203 | Non-Authorative Information |
| 204 | No Content |
| 205 | Reset Content |
| 206 | Partial Content |
| Client Request Redirected | |
| 300 | Multiple Choices |
| 301 | Moved Permanently |
| 302 | Moved Temporarily |
| 303 | See Other |
| 304 | Not Modified |
| 305 | Use Proxy |
| Client Request Errors | |
| 400 | Bad Request |
| 401 | Authorization Required |
| 402 | Payment required (not used yet) |
| 403 | Forbidden |
| 404 | Not Found |
| 405 | Method Not Allowed |
| 406 | Not Acceptable (encoding) |
| 407 | Proxy Authentication Required |
| 408 | Request Time Out |
| 409 | Conflicting Request |
| 410 | Gone |
| 411 | Content Length Required |
| 412 | Precondition Failed |
| 413 | Request Entity Too Long |
| 414 | Request URL Too Long |
| 415 | Unsupported Media Type |
| Server Errors | |
| 500 | Internal Server Error |
| 501 | Not Implemented |
| 502 | Bad Gateway |
| 503 | Service Unavailable |
| 504 | Gateway Timeout |
| 505 | HTTP Version Not Supported |

รูปที่ 1 แสดงขั้นตอนการตรวจสอบผู้ใช้แบบ Host-based authentication
รูปที่ 2 แสดงขั้นตอนการตรวจสอบผู้ใช้แบบ HTTP-specified basic authentication
ผู้ดูแลระบบควรกำหนดค่าการเข้าถึงเหล่านี้ให้เหมาะสม มิฉะนั้นผู้ใช้งานอาจจะสามารถเข้าถึงข้อมูลผ่านเว็บเกินกว่าที่ได้รับอนุญาตได้ สามารถอ่านรายละเอียดเพิ่มเติมเกี่ยวกับการกำหนดค่าได้จากบทความ Hardening Apache Web Server
ผู้โจมตีมักจะส่งการร้องขอ HTTP เข้ามาเพื่อโจมตีเว็บเซิร์ฟเวอร์โดยใช้การส่งอักขระพิเศษ ซึ่งสคริปต์ CGI บางอันสามารถรองรับการร้องขอ HTTP ที่เป็นตัวอักษร ตัวเลขหรือเครื่องหมายบางอย่างเท่านั้น เมื่อได้รับการร้องขอโดยใช้อักขระอื่นนอกเหนือจากที่กำหนดจะทำให้การทำงานเกิดความผิดพลาดได้ อักขระที่นิยมนำมาใช้ในการโจมตีด้วยรูปแบบนี้ได้แก่RewriteEngine On
RewriteLog /usr/local/apache/logs/ids.log
RewriteLogLevel 9
RewriteRule \.\.|\.\.\.|\s|\'|\"|\+|\/\/|\[|\]|\;|\~|\#|\%|\^|\&|\(|\)
|\{|\}|\:|\?|\,|<|<<||\||\!|\`|>|>>|\@|\$|\* - [F]
RewriteRule /\.[a-z0-9]
|/bin|/sbin|/etc|httpd.conf|access_log|error_log - [F]
RewriteRule /robots\.txt$ /cgi-bin/robots.cgi [L,T=application/x-httpd-cgi]
ไฟล์ robots.txt เป็นไฟล์ที่ผู้ดูแลระบบใช้เพื่อตรวจสอบว่าเว็บเพจของตนไม่ถูกทำ mirror หรือถูกค้นหาโดยโปรแกรมจำพวก spider เช่น wget หรือ TeleportPro ใช้ในการค้นหาเว็บไซต์ที่ต้องการจากเว็บไซต์ต่างๆ ทั่วโลก การกำหนดค่าดังกล่าวจะทำให้เกิดการส่งต่อการร้องขอไฟล์ "robots.txt" ไปยังไฟล์สคริปต์ CGI ชื่อ "robots.cgi" ซึ่งสคริปต์ดังกล่าวนี้จะตรวจสอบจากฟิลด์ของ User-Agent ที่มาจากเครื่องที่ร้องขอ แล้วสร้างไฟล์ robots.txt ที่เหมาะสมเพื่อส่งกลับไป เนื่องจากการโจมตีเว็บเซิร์ฟเวอร์โดยทั่วไปมีจุดเริ่มต้นจากการเข้าชมเพื่อสำรวจหาช่องโหว่ของเว็บ หากข้อมูลที่เผยแพร่ผ่านเว็บไม่ถูกจำกัดให้เหมาะสมแล้ว ข้อมูลดังกล่าวจะถูกนำไปใช้เพื่อโจมตีเว็บคล้ายกับการโจมตีโดยวิธีการ "Social Engineer" ซึ่งผู้โจมตีนิยมนำสคริปต์หรือแอพพลิเคชันมาใช้เพื่อดาวน์โหลดข้อมูลทั้งหมดในเว็บไปตรวจหาช่องโหว่ที่อาจมีอยู่จากไฟล์ ไดเรกทอรีหรือโค้ดต่างๆ ที่ได้ดาวน์โหลดไป ดังนั้นผู้ดูแลเว็บเซิร์ฟเวอร์ควรเก็บข้อมูลนี้ไว้เป็นหลักฐานสำคัญ เพื่อตรวจสอบอ้างอิงในอนาคต อย่างไรก็ตาม การร้องขอไฟล์ "robots.txt" ไม่จำเป็นต้องเป็นผลจากการพยายามโจมตีระบบเสมอไป
สำหรับการป้องกันการเข้าถึงไฟล์ทำได้โดยการกำหนดค่า directive ชื่อ FilesMatch ภายใต้ directive ชื่อ Directory ที่กำหนดไดเรกทอรีที่เก็บไฟล์สคริปต์ CGI เช่น /usr/local/apache/cgi-bin ดังนี้<DirectoryMatch (scripts|cgi-local|htbin|cgibin|cgis|cgi|win-cgi|cgi-win|bin)>
order allow, deny
deny from all</DirectoryMatch>
<Directory "/usr/local/apache/cgi-bin">
<FilesMatch (perl\.exe|guestbook\.cgi|files\.pl|count\.cgi|rwwwshell\.cgi|.\.exe)>order allow, deny
deny from all</FilesMatch>
</Directory>
| DIRECTIVE |
VALUE |
ความหมาย/ คำแนะนำ |
| Timeout | 60 | เป็นการกำหนดให้เครื่องเว็บเซิร์ฟเวอร์ตัดขาดการติดต่อหากเครื่องปลายทางไม่มีการติดต่อใดๆ เข้ามาเกิน 60 วินาที |
| KeepAlive | [On|Off] | ควรกำหนดค่าเป็น On เพื่อเพิ่มประสิทธิภาพของเครื่องเว็บเซิร์ฟเวอร์ โดยอนุญาตให้การให้บริการ HTTP หลายๆ การร้องขอทำงานผ่านการเชื่อมต่อเพียงการเชื่อมต่อเดียวได้ |
| KeepAliveTimeout | 15 | กำหนดเวลาที่เครื่องเว็บเซิร์ฟเวอร์จะรอการติดต่อแบบ KeepAlive ในที่นี้คือ 15 วินาที |
| StartServers | 5-10 | กำหนดจำนวนโพรเซสของ Apache ที่จะรอรับการติดต่อเมื่อเริ่มเปิดใช้งานเซอร์วิส เช่น 5 โพรเซส |
| MinSpareServers/ MaxSpareServers |
10/20 | กำหนดค่าว่าจะสำรองระบบไว้รอรับการร้องขอการใช้งานเว็บเท่าไร หากพบว่าจำนวนที่มีอยู่น้อยกว่าค่า MinSpareServers จะทำการเพิ่มจำนวน และหากพบว่าจำนวนที่มีอยู่มากกว่าค่า MaxSpareServers จะทำการลดจำนวนลง เพื่อชะลอการเกิด denial of service |
| DIRECTIVE |
VALUE |
ความหมาย/ คำแนะนำ |
| LimitRequestBody | 10240 | กำหนดขนาดของ body ในการร้องขอ HTTP ที่ส่งมายังเครื่องเว็บเซิร์ฟเวอร์ เมื่อมีการ PUT และ POST เช่น การส่งข้อมูลมาให้สคริปต์ CGI เพื่อให้มีขนาดไม่เกิน 100 K (แก้ไขได้ตามขนาดของฟอร์มที่ต้องการใช้งาน) |
| LimitRequestFields | 40 | กำหนดจำนวน header ที่ส่งจากเครื่องปลายทางมายังเครื่องเว็บเซิร์ฟเวอร์เพื่อร้องขอ HTTP โดยทั่วไปจะมีค่าประมาณ 20 |
| LimitRequestFieldsize | 100 | กำหนดความยาวสูงสุดของ header ของ HTTP รวมถึงค่าเริ่มต้น (initial) แต่ละครั้งที่ส่งจากเครื่องปลายทางมายังเครื่องเว็บเซิร์ฟเวอร์ ค่าดีฟอลต์คือ 8190 ตัวอักษร |
| LimitRequestline | 500 | กำหนดความยาวสูงสุดของตัว HTTP ที่ร้องขอ รวมถึงวิธีการ, URL และโพรโตคอลที่เรียกใช้ ค่าดีฟอลต์คือ 8190 ตัวอักษร |
| เจ้าของไดเรกทอรี
(owner) |
root |
|
| กลุ่ม (group) |
webmaster
|
|
| สิทธิ์การใช้งาน |
-
เจ้าของไดเรกทอรี (owner) |
RWX
|
| - กลุ่ม (group) |
RWX
|
|
| - อื่นๆ (other) |
-
|
|
| เจ้าของไดเรกทอรี
(owner) |
root,webmaster |
|
| กลุ่ม (group) |
webmaster,webdev
|
|
| สิทธิ์การใช้งาน |
-
เจ้าของไดเรกทอรี (owner) |
RWX
|
| - กลุ่ม (group) |
RWX
|
|
| - อื่นๆ (other) |
RX
|
|
| เจ้าของไดเรกทอรี
(owner) |
root,webmaster |
|
| กลุ่ม (group) |
webmaster,webdev
|
|
| สิทธิ์การใช้งาน |
-
เจ้าของไดเรกทอรี (owner) |
RWX
|
| - กลุ่ม (group) |
RWX
|
|
| - อื่นๆ (other) |
RX,X
|
|
| เจ้าของไดเรกทอรี
(owner) |
root |
|
| กลุ่ม (group) |
webmaster
|
|
| สิทธิ์การใช้งาน |
-
เจ้าของไดเรกทอรี (owner) |
RWX
|
| - กลุ่ม (group) |
R
|
|
| - อื่นๆ (other) |
-
|
|
| เจ้าของไดเรกทอรี
(owner) |
root |
|
| กลุ่ม (group) |
webmaster
|
|
| สิทธิ์การใช้งาน |
-
เจ้าของไดเรกทอรี (owner) |
RWX
|
| - กลุ่ม (group) |
RWX
|
|
| - อื่นๆ (other) |
-
|
|
apache_pb.gif index.html.ca index.html.cz index.html.de index.html.dk index.html.ee index.html.el index.html.en index.html.es index.html.fr |
index.html.he.iso8859-8 index.html.it index.html.ja.jis index.html.kr.iso-kr index.html.lu index.html.nl index.html.no index.html.po.iso-pl index.html.pt index.html.pt-br |
index.html.ru.cp-1251 index.html.ru.cp866 index.html.ru.iso-ru index.html.ru.koi8-r index.html.ru.ucs2 index.html.ru.ucs4 index.html.ru.utf8 index.html.se index.html.zh.Big5 manual/ |
<IfModule mod_dir.c>
DirectoryIndex newname.html
</IfModule>
ส่งผลให้ผู้ที่ละเมิดเข้ามาในเครื่องได้สำเร็จแต่ไม่ทราบว่าไฟล์หน้า index คือไฟล์ใด ไม่สามารถแทนที่ไฟล์หน้า index ได้ หรือต้องใช้เวลาในการค้นหาว่าไฟล์ดังกล่าวคือไฟล์ใด<IfModule mod_dir.c>
DirectoryIndex "newname.html "
</IfModule>
http://www.targethost.com/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd
ในกรณีนี้ หากเครื่อง www.targerhost.com มีค่า configuration ที่ไม่เหมาะสม จะทำให้เกิดการเรียกใช้งานคำสั่ง cat เพื่อแสดงไฟล์ /etc/passwd ของเครื่องให้ผู้บุกรุกทราบ วิธีการป้องกันปัญหานี้ทำได้โดยการปรับแต่งการทำงานของเว็บเซิร์ฟเวอร์ให้ทำงานโดยอาศัยฟังก์ชัน chroot ของระบบยูนิกซ์ ซึ่งจะส่งผลให้ผู้ใช้งานเว็บไม่สามารถเข้าถึงไดเรกทอรีใดๆ ของระบบปฏิบัติการที่อยู่ภายนอกขอบเขตที่ CHROOT กำหนด แสดงขอบเขตการทำงานของ chroot ได้ตามรูปด้านล่าง สามารถศึกษาข้อมูลเพิ่มเติมได้จาก WWW Security FAQ: Running a Secure Server

รูปที่ 3 แสดงขอบเขตที่สามารถเรียกใช้งานระบบเมื่อเรียกใช้ฟังก์ชัน chroot
กับโปรแกรม Apache
| ซอฟต์แวร์ |
ชนิด | เว็บไซต์ |
| Apache-SSL | Free | Apache-SSL |
| mod_ssl | Free | mod_ssl: The Apache Interface to OpenSSL |
| Raven SSL module | Commercial | Raven SSL Module for Apache |
| Stronghold Web Server | Commercial | Stronghold Reference Site |
สรุป
จะเห็นได้ว่า World Wide Web (WWW) ถือเป็นสื่อกลางในการส่งข้อมูลข่าวสารที่ให้ประโยชน์แก่โลกอินเทอร์เน็ตเป็นอย่างมาก เว็บไซต์แต่ละแห่งมีลักษณะการใช้งานและข้อมูลที่นำเสนอแตกต่างกันออกไปตามความต้องการของเจ้าของเว็บไซต์ ในขณะเดียวกันมีคนกลุ่มหนึ่งที่พยายามโจมตีหรือทำลายเว็บไซต์ ดังนั้นหน้าที่หลักสำคัญของผู้ดูแลเว็บเซิร์ฟเวอร์ก็คือการสร้างความปลอดภัยให้กับเครื่องเซิร์ฟเวอร์ใดๆ ก็ตามที่ตนเองเกี่ยวข้อง
อย่างไรก็ตาม ไม่มีระบบใดที่จะปลอดภัยแบบ 100% ไม่ว่าผู้ดูแลระบบจะพยายามสร้างความปลอดภัยให้กับเว็บไซต์ในระดับใด ตามคำกล่าวที่ว่า "ระบบเพียงระบบเดียวที่ปลอดภัยอย่างสมบูรณ์คือระบบที่ถูกเก็บล็อคไว้ในตู้ และไม่ได้รับการเชื่อมต่อเข้าสู่เครือข่าย"
เป้าหมายของผู้ดูแลระบบในการดูแลเครื่องเว็บเซิร์ฟเวอร์จึงเป็นการลดความเสี่ยงที่เกี่ยวข้องซึ่งเกิดขึ้นจากการเปิดให้บริการเป็นเว็บเซิร์ฟเวอร์ และเนื่องจากระบบไม่สามารถทำให้เกิดความปลอดภัยอย่างสมบูรณ์ได้ ผู้ดูแลระบบจำเป็นต้องวางแผนในการป้องกันและลดผลกระทบที่อาจเกิดขึ้นหากเว็บไซต์ถูกโจมตีหรือแก้ไข รวมถึงการเตรียมพร้อมรับมือกับเหตุการณ์ความพยายามบุกรุกที่อาจเกิดขึ้น
เอกสารอ้างอิง
[1] Welcome! - The Apache HTTP Server Project
http://httpd.apache.org
[2] SANS Gold Standard Security Benchmark Training ~ CIS Apache Benchmark
- LIVE!
http://www.sans.org/Gold/apache.php
[3] Preventing Web Site Defacements: Don't Become Attrition's "Site of
the Day"
http://www.sans.org/rr/securitybasics/deface.php
[4] WWW Security FAQ
http://www.w3.org/Security/Faq/
| Home
|| เอกสารเผยแพร่ || Unix & Linux
ThaiCERT Disclaimer | Copyright © 2001 ThaiCERT(NECTEC). All rights reserved. |