Published on Sake.in.th (https://sake.in.th)

หน้าแรก > Linux Gazette ภาษาไทย

Linux Gazette ฉบับแปลภาษาไทย

  • อ่าน 18358 ครั้ง

[1]
Linux Gazette (LG) เป็นนิตยสารรายเดือน เป็นสมาชิกของLinux Documentation Project ซึ่งเป็นแหล่งรวมเอกสารเกี่ยวกับ Linux ขนาดใหญ่ที่หนึ่ง

สำหรับ LG นั้น ได้ปัจจุบันได้มีการแปลออกเป็นภาษาต่าง ๆ หลายภาษาด้วยกัน ผมจึงได้มีความคิด ที่จะแปลเป็นภาษาไทย เพื่อเป็นแหล่งความรู้ของผู้ที่จะเข้ามาอ่าน และผู้แปลเองที่นอกจากจะได้อ่าน บทความดี ๆ เพิ่มความรู้แล้ว ยังได้ฝึกภาษาอังกฤษด้วย :P ทุกบทความ มีสัญญาอนุญาตแบบ Open Publication License v1.0 [2] ครับ

SiteTags: 
activity [3]
Linux Gazette [4]

Puppet ชั้นที่ 8 ของลินุกซ์ - ฉบับที่ 165 สิงหาคม 2009

โดย Lisa Kachold [5]

แปลโดย Sake [6]

Puppet - ระบบความปลอดภัยง่าย ๆ สำหรับผู้ใช้, นักพัฒนา, และผู้ดูแล

การดูแลรักษาการตรวจสอบด้านความปลอดถัยจำนวนมาก สามารถทำให้เกิดความกลัวได้บนพื้นฐานโดยทั่วไป.
ปัญหากับตัวตรวจสอบบันทึกเหตุการณ์ด้านความปลอดภัย แบบเสือใส่ในกระป๋อง และข้อมูลบันทึกเหตุการณ์รายวันอื่น
ที่ได้จากระบบไม่ได้จำเป็นที่จะเฉพาะเจาะจงถึงการใช้ระบบ. และ, เชื่อฉันเถอะ,
ฉันสงสัยว่า ผู้ใช้ใด ๆ, นักเขียนโค้ด, หรือผู้ดูแลระบบ ได้กำหนด "เวลาในการอ่านบันทึกเหตุการณ์" อย่างเพียงพอแล้ว
บนพื้นฐานว่า มีอะไร และ การเกิดคุกคาม. เพราะฉะนั้น, นโยบายที่ดีที่สุดคือ ปรับแต่งค่าคอนฟิกูเรชัน,
เว้นแต่การคอนฟิกมากกว่าหนึ่งระบบ อาจต้องใช้เวลาอันมีค่าไป. สำหรับกรณีนี้ เรามี Puppet และสูตรในการปรับแต่งค่าคอนฟิกูเรชัน.
เมื่อเรามีข้อมูลระบบโดยปกติ, ปรับแต่งค่าคอนฟิกูเรชันในแบบที่เราสามารถใช้งานมันได้,
เราสามารถใช้เวลาเป็นสัปดาห์ หรืออย่างงั้นการปรับแต่งค่าคอนฟิกูเรชันของตัวกรองอีเมล์ด้วยสคริป bash/cron หรือ ตัวกรอง Google
ที่จะ "แจ้งเตือนเราจริง ๆ" เมื่อสิ่งที่น่ากลัวได้เกิดขึ้น.

การแลกเปลี่ยนเล็กน้อยได้ถูกสร้างในการการดูแล, พัฒนา, และการใช้, ในการนั้น เรา
ปรับค่าคอนฟิกูเรชัน "เพียงทำให้น้อยที่สุด"เมื่อเราได้กำลังแข่งอยู่ตลอดกับเวลา สำหรับบริการใด ๆ ก็ตามที่ระบบลินุกซ์
ได้ถูกบีบรวมเข้าด้วยกัน. นี่อาจจะเป็น Twitter, YouTube, และ GMail,
Eclipse/Maven, หรือระบบเครื่องแม่ข่ายสำรองข้อมูล.
สิ่งเหล่านี้เป็นคำตอบแบบ s-hexy ที่จะอนุญาตให้ ผู้ดูแลระบบลินุกซ์ ดูแลมากกว่า 100 ระบบการการผลิต(GoDaddy.com, Dotster.com, Google.com) ในแบบที่ยังปลอดภัย,ประหยัดค่าใช้จ่าย,และมีประโยชน์.

ผู้ดูแลระบบก่อนหน้านี้ สร้างเครื่องแม่ข่ายทั้งหมดโดยที่ไม่มี NTP (และใช้เวลา UTC ที่ต่างกันในการเปรียบเทียบกับเวลาระบบ) รึเปล่า?
Puppet สามารถดึงสายตัวอักษรนี้ได้.

ยกตัวอย่างเช่น กับไฟล์ /etc/sudoers ของคุณ, ในระบบความปลอดภัยลินุกซ์ชั้นที่ 8,
การทำ "อย่างน้อยที่สุด" แบบง่าย ๆ ไม่ได้ดีพอ! ต่างกับความสามารถของ Puppet.

ส่วนประกอบทั้งหมดของ Puppet - ปลอดภัยในการใช้งานจริงหรือ?

เนื่องจากว่า Puppet จะทำการลงโดยมใช้ Ruby (และสามารถถูกขยายด้วย Ruby Gems),
มันไม่ได้รวมไบนารี SUID ใด ๆ มาด้วย. ดังนั้น, ผู้ดูแล Puppet ได้เพิ่มความเสี่ยงเล็กน้อย
ในสภาวะการใช้งานจริงทั้งหมด. Puppet ใช้ ใบรับรอง OpenSSL. ดังนั้น, เราสามารถแน่ใจได้ว่า
ข้อมูลต่าง ๆ มีความปลอดภัยตามการเข้ารหัสปัจจุบัน.

คำตอบการปรับแต่งค่าคอนฟิกูเรชันแบบรวดเร็ว

ตอนนี้, การมีความสามารถในการนำสูตรไปใช้จากเครื่องเครื่องแม่ข่ายเฉพาะเครื่องเดียว,
ปรับค่าคอนฟิกูเรชันทีเดียว และจัดเตรียม หรือใช้หลาย ๆ ครั้ง, เปลี่ยนรูปแบบที่ผู้ใช้, นักพัฒนา, และผู้ใช้ระบบอย่างจริงจัง.
สมมติว่า, CERT ได้ประกาศการการโจมตีไปยังบริการที่ถูกเปิดอยู่ในส่วนหนึ่งของระบบ DMZ ของคุณ,
ดังนั้น, แทนที่จะทำการสร้างรายการบรรทัดคำสั่งของ iptables แบบง่าย ๆ, คุณสามารถกำหนด
มาตรฐานการทำงานอย่างสมบูรณ์, ปรับค่าคอนฟิกูเรชันของตัว Shorewall 3.0 ได้อย่างเต็มที่.

/etc/ssh/sshd_config ได้ตั้งค่าอย่างถูกต้องหรือเปล่า? ทุก ๆ ผู้ดูแลระบบ รู้ว่าถึงปริมาณอย่างมากของงาน
ที่จำเป็นสำหรับการเปลี่ยนนโยบายง่าย ๆ, ตัวอย่างเช่น ปีก่อนนี้ ตามที่การบุกรุกโดยการใช้กุญแจบนพื้นฐานของ ssh มีการประกาศอย่างแพร่หลาย.
Puppet สามารถทำสิ่งนี้ระหว่างเครื่องแม่ข่ายในบ้านทั้งสองของคุณ ถ้าคุณต้องการที่จะสามารถ
เพ่งความสนใจในการพัฒนางานได้.

การจัดการกุญแจ เป็นงานที่ใหญ่ยิ่งสำหรับเครื่องแม่ข่ายหรือผู้ใช้ที่เกี่ยวข้องทั้งหมด เว้นแต่กับ Puppet.

Nagios เป็นเครื่องมือที่ดีเยี่ยมสำหรับการเฝ้าดูระบบ, แต่ทว่ามีการปรับค่าคอนฟิกูเรชันอันยาวเหยียดอย่างไม่น่าเชื่อ ตามเครื่อข่ายที่ใหญ่มาก ๆ,เว้นแต่กับ Puppet.

แทนที่จะใช้ freshclam ในการให้ปรับปรุง ClamAV ในระบบของคุณ,
ใช้ Puppet.

แล้วการจัดการรหัสผ่านล่ะ? เชื่อหรือไม่, ระบบที่ใช้งานจริงหลาย ๆ ระบบลบผู้ใช้ที่เข้าถึงโดย VPN แบบง่าย ๆ,
เมื่อความสัมพันธ์ในการทำงานได้ถูกให้บริการ.
ผู้ใช้ทั้งหมดจากการใช้งาน 5 ปีผ่านมา (เสียงครวญครางหรือยิ่งกว่านั้น)
ของประวัติของระบบทั้งหมดก็ยังอยู่ในไฟล์รหัสผ่าน? ดังนั้น
ท่อ SSH -L ขาออกจาดพอร์ต 80/443 จาก anacron/cron หรืองานพิเศษ ก็ยังทำงานอยู่อย่างสบายใจ.
Puppet สามารถจัดการ ผู้ใช้/รหัสผ่าน อย่างถูกต้องอย่างง่ายดาย.

ยังไม่ปรับแต่งคอนฟิกกูเรชันของที่เก็บ YUM อย่างถูกต้อง เนื่องจากความยากของงานในการเข้าไป หรือ
ระเบิดการปรับแต่ง และการทดสอบกว่า 30 เครื่องแม่ข่ายรึเปล่า? การสำรองข้อมูลเป็นสิ่งเล็กน้อยด้วย Puppet.

รายการเครื่องแม่ข่าย DNS ของคุณได้ถูกเปลี่ยนโดยการค้นการค้นพบจากการวนซ้ำ หรือ
การโจมตีแบบพลีชีพอื่นใดไปยัง BIND รึเปล่า? ไม่มีปัญหากับ Puppet; คุณสามารถเปลี่ยนสิ่งเหล่านี้ได้อย่างรวดเร็ว.

คุณใช้งาน Linux/Solaris รึเปล่า? Puppet จะทำการปรับแต่งคอนฟิกูเรชันเข้าระบบโดย CDE (Common Desktop Environment).

และ Puppet สามารถที่จะถูกปรับแต่งคอนฟิกูเรชันไปยังการตั้งค่าหลากหลายด้วยตัวมันเอง ไปยังระบบใหม่, เมื่อคุณได้ตั้งค่าการเชื่อมต่อของคุณ.

คุณต้องการที่จะเปลี่ยนรายการ /etc/motd เพื่อที่จะเพิ่มป้ายความปลอดภัยไปยังกว่า
100 เครื่องหรือเปล่า? คุณต้องการที่จะเปลี่ยนที่อยู่อีเมล์บน index.html หรือ ปรับปรุงไฟล์ .htaccess ใหม่บนกลุ่มเครื่องแม่ข่ายรึเปล่า?
คุณต้องการที่จะเปลี่ยนสคริป cron รึเปล่า? Puppet สามารถที่จะแก้ไฟล์ข้อความได้เช่นเดียวกัน.

จินตนาการถึงความเป็นไปได้สิ.

การติดตั้งแบบรวดเร็ว

การติดตั้งประกอบไปด้วย Facter [7] กัย Ruby, และที่จะใช้ Ruby Gems [8] ก็ได้.

แนะนำให้อ่าน : Install Puppet [9]

สูตร

OpenNTPD [10]
File Permission Check [11]
Sudo [12]
Centralized Sudoers [13]
Apt Keys [14]
Module Iptables [15]
Shorewall 3.0 [16]
SSHD Config [17]
Nagios [18]
Authorized Keys [19]
ClamAV [20]
User Home Recipes [21]
Password Management [22]
Firmware Password [23]
Yum Server Build [24]
ResolvConf DNS [25]
Solaris CDE Login [26]
Zabbix Agent [27]
Puppet Install [28]
Simple Text [29]

Puppet ยังใหม่อยู่, แต่แนวคิดรวบยอดไม่ใช่; cfengine และเครื่องมีอื่น ๆ นั้นก็ยังมีอยู่.
อย่างไรก็ตาม, Puppet ได้ง่ายที่สุด และมีความสามารถสูงอย่างชัดเจน สำหรับที่จะใช้ในระบบ
สภาวะแวดล้อมแบบ *nix แบบสมบูรณ์. คาดหวังสิ่งที่ดีเยี่ยม, อย่างที่เครื่องมือนี้มีให้..

"ทำทุกอย่างให้ง่ายเท่าที่เป็นไปได้, แต่ไม่ใช่แบบคนโง่. ( Make everything as simple as possible, but not simpler.)"
 - อัลเบิร์ต ไอน์สไตน์

หมายเหตุ: ถ้ารูปแบบการจัดการระบบของคุณเป็นแบบ Reactive, มีต้นกำเนิดจาก Trenches Dot Com University หรือ คอร์ส Crisis Junkie 101, และ/หรือ คุณกำลังที่จะถูกไล่ล่า เพียงแค่ "ทำมันเดี๋ยวนี้, และอย่างรวดเร็ว"( ความไม่ปลอดภัย จึงเรียกว่าแนวทางแบบ "แรงผลักจากผลประโยชน์"), จุดสนใจทั้งหมดของคุณ จะถูกเปลี่ยนโดยมูลฐาน. ที่ทำงานของคุณ จะมีเวลาอันมีความากขึ้น ในการที่จะทำสิ่งที่ดีกว่า. เมื่อคุณกำลังจะดึงสายอักขระออกมาจากระบบของคุณ.


บทความนี้ ถูกให้บริการแบบสองความรับผิดชอบ เป็นส่วนประกอบของการนำเสนอสำหรับ
Phoenix Linux Users Group August HackFest: August 8, 2009 ที่ The
Foundation for Blind Children, 10 AM - 1 PM.

อ้างอิง PLUG : http://plug.phoenix.az.us/node/659 [30] หรือเพียงแต่ใช้
http://plug.obnosis.com/ [31].

แล้วเจอกันที่นี่!

Talkback:
พูดคุยเรื่องบทความนี้กับ The Answer Gang [32]


[BIO]

Lisa Kachold เป็นผู้ดูแลระบบ/ความปลอดภัยบนลินุกซ์, ผู้ดูแลเว็บ,
inactive CCNA, และผู้เขียนโปรแกรม และกว่า 20 ปีกับประสบการณ์ในการใช้งานจริงกับลินุกซ์.
Lisa ผ่านการเป็นครูจาก FreeGeek.org, นักนำเสนอที่
DesertCodeCamp, ผู้ใช้ Wikipedia and สมาชิก LinuxChix.
เธอจัดการและประชาสัมพันธ์การศึกษาความปลอดภัยบนลินุกซ์ ไปยัง Phoenix Linux Users
Group HackFEST Series labs, ใช้สองเสาร์ของทุก ๆ เดือนที่ The
Foundation for Blind Children in Phoenix, Arizona. Obnosis.com, a play
on a words coined by LRHubbard, ลงทะเบียนใน in the 1990's, เป็น "word
hack" จาก the Church of Scientology, หลังจาก 6 ปีของผู้ดูแลข่าว UseNet.
ความภูมิใจที่สุดของคือคือการที่ได้นั้งกับ Linux Torvald's
ระหว่างการสัมภาษณ์ที่ OSDL.org ใน Oregon ในปี 2002.


สงวนลิขสิทธิ์ ปี 2009, Lisa Kachold. ออกวางภายใต้สัญญาอนุญาต Open Publication license [2] เว้นแต่บันทึกภายในบทความบอกเป็นอย่างอื่น. Linux Gazette ไม่ได้ถูกสร้างขึ้น, ได้รับการสนับสนุน, หรือได้รับการรับรอง จากผู้ให้ใช้โฮสต์, SSC, Inc.

ตีพิมพ์ในเล่มที่ 165 ของ of Linux Gazette, สิงหาคม 2009

  • อ่าน 5581 ครั้ง

กรณีการใช้งานจริง สำหรับ mod_rewrite ของ Apache - ฉบับที่ 165 สิงหาคม 2009

โดย Anderson Silva [33]

แปลโดย Sake [6]

เทคโนโลยีเป็นสิ่งที่น่าขบขัน. บางครั้ง คุณต้องการที่จะเขียนถึงมันเพียงบางส่วนโดยเฉพาะ.
บางครั้ง, คุณต้องการจะแบ่งปันความรู้กับบางคน, แต่ในการทำ, และทำให้ดี, คุณรู้สึกถึงความจำเป็น
ที่จะอธิบายเทคโนโลยีทั้งหมด ที่ต้องใช้ในการสร้างส่วนที่เฉพาะเจาจงนั้นให้สำเร็จ.

บทความนี้ ไม่ได้กล่าวถึงว่า mod_rewrite ทำงานจริง ๆ ได้อย่างไร.
ถ้าต้องการทราบ ผมอาจจะต้องเขียนเกี่ยวกับสิ่งต่าง ๆ อย่าง : โปรโตคอล HTTP [34], Apache [35] HTTP Server,
นิพจน์ปกติ (Regular Expression) [36], และอื่น ๆ อีกเล็กน้อย.

คน ๆ หนึ่งไม่ได้จำเป็นต้องทราบว่ารถยนต์ทำงานอย่างไร,
จากทฤษฎีของฟิสิกส์ทั้งหมดที่จะสร้างเครื่องยนต์กลไกมันขึ้นมา,
เพื่อที่จะสามารถขับขี่ได้, ถูกต้องใช่มั้ย?
เพราะฉะนั้น, บทความนี้จะไม่ไปยุ่งกับการทำงานข้างใต้ เมื่อทำการจัดการกับ mod_rewrite.
แต่จะแสดงเพียงว่าเปิดมันอย่างไร, และทำงานกับมันอย่างไร.

ถ้าอย่างนั้น, mod_rewrite ดีอย่างไร? มันทำงานรวดเร็ว, และยังยืดหยุ่น
พอสมควรและมัศักยภาพในเชิงซับซ้อน ที่จะจัดการกับ URL ในด้านเครื่องแม่ข่ายโดยการใช้กฎของนิพจน์ปกติ.
คุณสามารถจับความสัมพันธ์ของการร้องขอ HTTP ด้วยเงื่อนไขหลากหลาย อย่างตัวแปรเครื่องแม่ข่าย, ส่วนหัว HTTP และอื่น ๆ.

ผมไม่แน่ใจเกี่ยวกับตัวแจกจ่ายลินุกซ์อื่น, แต่บน Fedora ที่ผมเลือกใช้, Apache HTTP Server ถูกลงแยกจากเครื่อง พร้อมกับ mod_rewrite ทำงาน, แต่ถูกปิดไว้.

ในการเปิดใช้ เพียงแค่เพิ่ม:

RewriteEngine On

ใน httpd.conf ของคุณ, หรือถ้าคุณทำการใช้งานโฮสต์เสมือนบนเครื่องแม่ข่ายของคุณ, คุณสามารถเปิดใช้งาน mod_rewrite ในแต่ละโฮสต์เสมือนของคุณ.

ตอนนี้, ถ้าคุณใช้งานกับนิพจน์ปกติแล้ว, และคุณไม่ได้สะดวกสบายกับมัน,
มันง่ายมากที่จะถูกทำให้เป็นผู้พ่ายแพ้โดยมัน. ในการที่จะทำให้สิ่งต่าง ๆ ง่ายขึ้น,
mod_rewrite ได้สร้างตัวเก็บบันทึกระบบมาด้วย เพื่อที่จะช่วยผู้ดูแลในการแก้ปัญหากฎต่าง ๆ.

การเปิดใช้บันทึกการทำงาน mod_rewrite ของคุณ:

RewriteLog /var/log/httpd/rewrite.log
RewriteLogLevel 5

อย่างน้อย, นี่เป็นวิธีที่คุณจะเริ่มทำงานกับ และพร้อมที่จะแก้ปัญหากับมัน.

สี่ตัวอย่างในการใช้งานจริง:

1. บริษัทที่คุณทำงานให้ ส่งสิ่งตีพมพ์ด้านการตลาดบางอย่างออกไปข้างนอก, และบางคนตระหนักว่า
URL ที่พิมพ์บนปกของเอกสารผิด. มันถูกคาดหวังว่าจะต้องเป็น:
http://www.yourcompany.com/ask_me_how/ [37], แต่มันกลับถูกพิมพ์เป็น
http://www.yourcompany.com/ask-me-how/ [38] แทน. นี่อาจจะเป็นปัญหาที่พื้นฐานและดั้งเดิมมากที่สุดของ mod_rewrite: กำหนดให้ URL, เปลี่ยนทิศทางใหม่จากผู้ใช้ไปยังที่อื่น. นี่เป็นวิธีการที่จะแก้ไขมัน:

RewriteRule ^/ask-me-how/$ /ask_me_how/ [R,L]

2. เว็บไซต์บริษัทของคุณมีสองชื่อโดเมน: www.yourcompany.com [39]
และ www.yourcompany.net [40]. เจ้านายคุณแจ้งว่า ขณะที่ค้นหาด้วย Google นั้น ผลการค้นหาได้ถูกปฏิบัติให้เป็นสองไซต์ที่ต่างกัน. เขาต้องการที่จะค้นหา วิธีการ [41] ที่จะบอก Google ว่าทั้งสองโดเมนนั้น ควรจะถูกปฏิบัติให้เป็นไซต์เดียว.

ในการตั้งค่า Apache ของคุณ, เปิดใช้ mod_rewrite, และเปลี่ยนทิศทางใหม่ของการจราจรของคุณโดยการใช้ การเปลี่ยนทิศทางถาวร (Permanent Redirect) HTTP code 301. โดยมาตรฐาน, การเปลี่ยนทิศทางใหม่ของmod_rewrite
คือ 302 การเปลี่ยนทิศทางชั่วคราว (Temporary Redirects), และ Google search ยังคงจัดเรียงโดเมนเป็นแบบสองเอกลักษณ์ที่ต่างกัน.

RewriteCond %{HTTP_HOST} ^yourcompany.net$ [OR]
RewriteCond %{HTTP_HOST} ^www.yourcompany.net$
RewriteRule ^.*$ http://www.yourcompany.com/$1 [R=301,L]

3. สมมติว่า คุณมีเว็บไซต์ที่สนับสนุนทั้งการเชื่อมต่อมาตรฐานและแบบปลอดภัย (อย่างเช่น HTTP และ HTTPS), และเจ้านายของคุณต้องการให้คุณ, โดยปราศจากการบอกล่วงหน้า (หรืออย่างอื่น) ที่จะบังคับการจราจร http:// ทั้งหมดจะถูกเปลี่ยนทิศทางไปเป็น https:// . งั้น ถ้าคุณกำลังใช้งาน Apache และ
mod_rewrite ถูกเปิดใช้งาน, ที่คุณต้องการก็คือบรรทัดข้างล่างนี้:

RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}/$1 [R,L,NE]

4. จินตนาการถึงสถานการณ์ที่,มีเหตุผลหนึ่ง หรืออย่างอื่น, คุณต้องการที่จะหยุดการเชื่อม (link) ที่สร้างจากไซต์อื่น ๆ มายังไซต์ของคุณ. บางที ไซต์ที่ไม่ได้รับอนุญาตพบช่องโหว่ในการบุกรุกยังโปรแกรมประยุกต์ของคุณ และสร้างลิงค์ที่มีสำหรับผู้คน เพื่อดาวน์โหลดเอกสารที่มีลิขสิทธ์บางอย่าง. คุณสามารถใช้ mod_rewrite เพื่อที่จะหยุดการร้องขอใด ๆ ที่มาจากไซต์นั้น โดยการจับคู่
HTTP_REFERER ของการร้องขอที่เข้ามา. แม้ว่านี่อาจจะไม่ใช่คำตอบท้ายสุด, แต่ที่ผมคาดว่าบริษัทของคุณอาจต้องใช้เวลาที่จะปิดช่องโหว่นั้น, นี่อาจจะเป็นสิ่งที่มีในมือสำหรับคำตอบฉุกเฉินแบบรวดเร็ว.

RewriteCond %{HTTP_REFERER} http://www.hackersite.net [NC]
RewriteRule - [F]

อธิบายวากยสัมพันธ์(syntax)โดยย่อ:

RewriteCond - นี่เป็นคำสั่งที่อนุญาตให้คุณทดสอบสภาวะบางอย่างสำหรับกฎที่จะนำมาใช้.
คิดว่ามันเป็นถ้อยแถลง(statement) if ของภาษาในการเขียนโปรแกรมที่คุณใช้อยู่ทุกวัน,
สองสภาวะหรือมากกว่าสามารถถูกเขียนอย่างเป็นลำดับอย่างตรรกะ AND, หรือโดยการเพิ่ม [OR]
ที่ท้ายของบรรทัดสำหรับตรรกะ [OR]. คุณจะเห็นได้ว่า RewriteCond เป็นสิ่งที่ยืดหยุ่น และอนุญาตให้คุณที่จะเขียนการทดสอบสำหรับตัวแปรเครื่องแม่ข่ายอย่างส่วนหัว HTTP, การเชื่อมต่อและการร้องขอ, ส่วนภายในเครื่องแม่ข่าย, หรือแม้แต่ข้อมูลระบบ.

RewriteRule - เป็นคำสั่งที่สำคัญที่สุดที่คุณใช้.
มันเป็นสิ่งที่ตามเอกสารของ Apache เรียกใช้งานมัน, เป็น 'ม้างานในการเขียนใหม่จริง ๆ' ของโมดูล
mod_rewrite. มันมักจะใช้ 3 พารามิเตอร์: รูปแบบในการจับคู่, สายอักขระที่จะแทนที่, และรายการของเครื่องหมาย. นี่คือรายการของเครื่องหมายที่ผมเพิ่งใช้บนตัวอย่างข้างต้น:

R - บอก RewriteRule ว่าคุณกำลังทำการเปลี่ยนทิศทางใหม่, และ,
นอกจากคุณใส่รหัส 301, มันจะมีค่ามาตรฐานเป็น 302, ซึ่งหมายถึงย้ายชั่วคราว.

L - บอก RewriteRule ให้ออกจากสายโซ่ของกฎ และไม่ตามกฎใด ๆ หลังจาก RewriteRule ล่าสุด.

NC - ทำให้รูปแบบการจับคู่เป็นแบบอักขระเล็กใหญ่ไม่สำคัญ.

NE - บอก RewriteRule ไม่ต้องหลีก (escape) ผลของ URI กับสิ่งที่มีลักษณะคล้ายกับ %20 สำหรับที่ว่าง.

สรุปท้ายสุด

mod_rewrite ของ Apache เป็นเครื่องมือที่ความยืดหยุ่นอย่างไม่น่าเชื่อ
ในการอนุญาตให้ผู้ดูแลระบบ ที่จะทำงานอย่างรวดเร็ว ในการแก้ไขประเด็นปัญหากับเครื่องแม่ข่ายเว็บ.
การแก้ไขบ้งอย่างอาจจะเป็นแบบลักษณะชั่วคราวจนกว่าคำตอบถาวรที่เหมาะสมนำมาใช้, และ,
ถึงแม้ว่ามันอาจจะดีมากกว่ากว่าเมื่อ mod_rewrite อาจจะเป็นส่วนหนึงของการแก้ปัญหาถาวร,
อน่าใช้มันมากเกินไป, เพราะกฎของ mod_rewrite อาจสะสมอย่างรวดเร็ว และเป็นสิ่งที่ยากต่อการดูแลมัน.
คุณเคยที่ดูแลโค้ดภาษา Perl code ที่มี regexes อยู่ทุก ๆ ที่มั้ย? ถ้าเคย, คุณก็อาจจะรู้ว่าผมพูดอะไรอยู่.

ท้ายสุด, ถ้าคุณต้องการที่จะรู้มากกขึ้นว่า ข้างใต้ของ mod_rewrite มีอะไรอยู่,
ให้แน่ใจว่า คุณอ่าน เอกสารคู่มือ [42]ของ Apache แล้ว, และเมื่อสงสัย ใช้บันทำกการทำงานของ
mod_rewrite เพื่อช่วยคุณในการแก้ไขปัญหา.

แหล่งข้อมูลภายนอก

1. http://www.w3.org/Protocols/rfc2616/rfc2616.html [34]

2. http://httpd.apache.org [35]

3. http://en.wikipedia.org/wiki/Regular_expression [36]

4. http://groups.google.com/group/Google_Webmaster_Help/web/faqs-for-crawling-indexing-and-ranking-2?pli=1 [41]

5. http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html [42]


Talkback: สนทนาเกี่ยวกับบทความนี้กับ The Answer Gang [43]


[BIO]

แอนเดอสัน ซิลวา (Anderson Silva) ทำงานเป็นวิศวกรการออกวางจำหน่ายสารสนเทศที่ Red Hat, Inc.
เขาจบปริญญาตรีด้านวิทยาการคอมพิวเตอร์จากบมหาวิทยาลัยลิเบอร์ตี, ปริญญาโทด้ายระบบข้อมูลจากมหาวิทยาลัยมาอีน.
เขาเป็นวิศวกรรับรองของหมวกแดง (Red Hat Certified Engineer), และ และเป็นผู้เขียนบทความด้านลินุกซ์หลายแห่งเพื่อการเผยแพร่: Linux Gazette,
Revista do Linux, และ Red Hat Magazine. แอนเดอสันได้แต่งง่านกับหวานใจสมัยมัธยมปลายมาแล้ว 11 ปี, มีลูก 3 คน. เมื่อเขาไม่ได้ทำงานเขียน, เขามีความสุขกับการใช้เวลากับครอบครัว, ดูรถสูตร 1 และแข่งรถอิสระ, และพูดคุยเรื่องรถโกคาร์ทกับลูกชาย.


สงวนลิขสิทธิ์ ปี 2009, Anderson Silva. ออกวางภายใต้สัญญาอนุญาต Open Publication license เว้นแต่บันทึกภายในบทความบอกเป็นอย่างอื่น. Linux Gazette ไม่ได้ถูกสร้างขึ้น, ได้รับการสนับสนุน, หรือได้รับการรับรอง จากผู้ให้ใช้โฮสต์, SSC, Inc.

ตีพิมพ์ในเล่มที่ 16ถ ของ of Linux Gazette, สิงหาคม 2009

  • อ่าน 9054 ครั้ง

การประยุกต์ใช้งาน IPCop - ฉบับที่ 132 พฤศจิกายน 2006

  • อ่าน 11222 ครั้ง

การประยุกต์ใช้งาน IPCop

โดย Barrie Dempster และ James Eaton-Lee

IPCop คือไฟร์วอลล์สำหรับเครือข่ายสำนักงานขนาดเล็ก / สำนักงานที่บ้าน (SOHO), ซึ่งใช้งานง่ายสุด ๆ ทั้งยังให้คุณสมบัติพื้นฐานส่วนใหญ่ ที่คุณคาดว่าไฟร์วอลล์สมัยใหม่ต้องมี และ สิ่งที่สำคัญที่สุดก็ คือ มันได้ติดตั้งสิ่งเหล่านี้ให้กับคุณแบบอัตโนมัติ และง่ายดาย. มันง่ายมากที่จะทำให้ระบบ IPCop เริ่มต้นและทำงาน และใช้ได้ดีเกือบจะตลอดเวลา.

ความน่าเชื่อถือของความสัมพันธ์ระหว่างอินเตอร์เฟส

อินเตอร์เฟสเครือข่ายทั้งสี่ชนิด—สีเขียว, สีแดง, สีน้ำเงิน, และสีส้ม —ได้รับการสนับสนุนโดย IPCop ซึ่งระดับความน่าเชื่อถือของแต่ละแบบถูกกำหนดไว้. นี่เป็นเค้าโครงตารางอย่างง่ายแสดงการจราจรที่เข้าออกของแต่ละอินเตอร์เฟส. ตารางนี้และการเรียนรู้ภายใน จะเป็นหลักสำคัญในการวางแผนเมื่อพิจารณาว่ามีอินเตอร์เฟสอะไรที่ใช้ และใช้เพื่ออะไร นี่เป็นแผนภาพการไหลเวียนของการจราจรแบบพื้นฐานจาก การแนะนำการบริหารจัดการ IPCop [44].

อินเตอร์เฟสจาก อินเตอร์เฟสไปที่ สถานะ วิธีการเข้าถึง

สีแดง

สีแดง

สีแดง

สีแดง

ไฟร์วอลล์

สีส้ม

สีน้ำเงิน

สีเขียว

ถูกปิด

ถูกปิด

ถูกปิด

ถูกปิด

เข้าถึงจากภายนอก

การส่งต่อพอร์ต

การส่งต่อพอร์ต / VPN

การส่งต่อพอร์ต / VPN

สีส้ม

สีส้ม

สีส้ม

สีส้ม

ไฟร์วอลล์

สีแดง

สีน้ำเงิน

สีเขียว

ถูกปิด

เปิด

ถูกปิด

ถูกปิด

 

 

ช่องทาง DMZ

ช่องทาง DMZ

สีน้ำเงิน

สีน้ำเงิน

สีน้ำเงิน

สีน้ำเงิน

ไฟร์วอลล์

สีแดง

สีส้ม

สีเขียว

ถูกปิด

ถูกปิด

ถูกปิด

ถูกปิด

เข้าถึงแบบสีน้ำเงิน

เข้าถึงแบบสีน้ำเงิน

เข้าถึงแบบสีน้ำเงิน

ช่องทาง DMZ / VPN

สีเขียว

สีเขียว

สีเขียว

สีเขียว

ไฟร์วอลล์

สีแดง

สีส้ม

สีน้ำเงิน

เปิด

เปิด

เปิด

เปิด

 

เมื่อหลับตานึกถึงทางซึ่งการจราจรเข้าสู่ IPCop ไฟร์วอลล์ เราสามารถเห็นเป็นชนิดของชุมทางขนาดยักษ์กับการจราจรของ cop (ตัวย่อของ IP Cop นับจากนี้) ในใจกลางของมัน เมื่อรถ (ในแง่ของเครื่อข่ายคือแพ็กเก็ตของข้อมูล) มาถึงทางแยก cop จะตัดสินใจทางที่แพ็กเก็ตควรจะไป (ขึ้นกับตารางเส้นทางที่ IPCop ใช้) และส่งมันไปในทิศทางที่เหมาสม

ในกรณีที่ลูกข่ายสีเขียวเข้าถึงอินเตอร์เน็ต เราจะสามารถเห็นได้จากตารางที่ผ่านมา ว่าการเข้าถึงเปิดอยู่ ดังนั้น cop จะให้การจราจรผ่านไปได้ ในกรณีอื่น ถ้าลูกข่ายสีน้ำเงินพยายามที่จะเข้าถึงลูกข่ายในส่วนสีเขียว ยกตัวอย่างเช่น cop อาจอนุญาตให้การจราจรผ่าน ถ้ามันมาจาก VPN หรือมาจากช่อง DMZ แต่ถ้าหากลูกข่ายบนส่วนสีน้ำเงินไม่ได้เข้าข่ายการอนุญาต มันก็จะถูกหยุดไว้ รถจะถูกดึงออกไป

ควรจำไว้ว่า (โดยทั่วไป) เมื่อเราแสดงการตั้งค่าของ IPCop ตัวประสานสีแดงจะอยู่บนสุด (ทิศเหนือ), สีส้มจะอยู่ทางซ้าย (ทิศตะวันตก), สีน้ำเงินจะอยู่ทางขวา (ทิศตะวันออก) และสีเขียวจะอยู่ด้านล่าง (ทิศใต้)

การดัดแปลงคุณสมบัติของ IP Cop

จากคุณสมบัติที่มากมายของ IPCop ไฟร์วอลล์ มันเป็นไปได้ ที่จะดัดแปลงลักษณะการทำงานของกฎไฟร์วอลล์ ให้ ตรงกับโครงสร้างสีแดงเป็น ภายในสภาวะแวดล้อมของกฎไฟร์วอลล์ IPCop มีไฟล์ตั้งแต่ชุด 1.4 ออกมาก็ได้อนุญาตให้ผู้ใช้ สามารถเจาะจงกฎไฟร์วอลล์ได้ (/etc/rc.d/rc.firewall.local). ตั้งแต่เวอร์ชั่น 1.3 มีสายของ iptables CUSTOMINPUT,CUSTOMFORWARD, เป็นต้น อนุญาตให้เพิ่มกฎ iptables ด้วยมือ การเจาะจงโดยใช้ iptables อยู่นอกเหนือขอบเขตที่นี่ แต่เราแนะนำผู้อ่านที่สนใจให้อ่าน Linux iptables HOWTO [45].

โครงสร้างเครือข่ายที่หนึ่ง : NAT Firewall

โครงสร้างเครือข่ายแรกของเรา จะทำการแทนที่ NAT (Network Address Translation) ไฟร์วอลล์ที่มีและคุ้นเคยกันอยู่ในตลาดอยู่แล้ว ในสำนักงานขนาดเล็กและบ้าน วิธีการแก้ไขปัญหาอย่างเช่น NAT ไฟร์วอลล์ฝังตัวที่ขายโดย D-Link, Linksys และพันธมิตร มักจะถูกนำมาใช้เพื่อที่จะให้บริการเครือข่ายขนาดเล็ก เพื่อความคุ้มค่าของการเข้าถึงเครือข่ายอินเตอร์เน็ต วิธีการแก้ไขปัญหาอย่าง การแบ่งการเชื่อมต่ออินเตอร์เน็ต การรวมตัวกันของ NAT ไฟร์วอลล์, DNS Proxy, และเครื่องแม่ข่าย DHCP ถูกรวมเข้ากับ ฉบับของ Windows ตั้งแต่ Windows 98 เป็นต้นมา ก็สามารถที่จะอนุญาตให้ PC เครื่องหนึ่งที่ต่อกับโมเด็มหรือตัวประสานเครื่อข่าย ทำหน้าที่เป็นประตูสัญญาณสำหรับลูกข่ายอื่น ๆ สำหรับวัตถุประสงค์ของเรา เราจะมุ่งประเด็นไปที่ ICS (Internet Connection Sharing) ที่โครงสร้างการเชื่อมต่ออยู่เหนือการทำงานดังกล่าว ซึ่งจำเป็นต้องแทนที่อุปกรณ์กำหนดเส้นทางอย่างเช่น Linksys หรือ NETGEAR ตามรูปแบบข้างต้น การอพยพจากอุปกรณ์กำหนดเส้นทางหนึ่ง ๆ เหล่านี้สู่ IPCop ควรที่จะต้องบันทึกโดยตรง สำหรับการใช้งานจากซอฟท์แวร์ ICS ที่ทำงานอยู่ในเครื่องลูกข่าย ถ้าเราลบออกจากอุปกรณ์ค้นหาเส้นทาง ซึ่งเป็นการไม่จำเป็นและอุปกรณ์ค้นหาเส้นทางสามารถปล่อยให้การตั้งค่าให้เป็นอย่างที่เป็นอยู่ (และ/หรือเก็บเป็นข้อมูลสำรอง, หรือนำกลับมาใช้ภายหลัง)(ดู http://www.annoyances.org/exec/show/ics [46] สำหรับข้อมูลการนำไปใช้งาน (และเนื่องจากนั้น, การงานใช้จากสิ่งที่มีอยู่) ICS บนเวอร์ชั่นที่แตกต่างของ Windows ) การแก้ปัญหาแบบนั้น, ขณะที่ประหยัดและสะดวกสบาย แต่ก็มักจะไม่สามารถปรับขนาดได้ หรือ น่าเชื่อถือ และให้ความปลอดภัยที่ไม่ดี พวกเขามักจะเปิดเครื่องสถานีงานให้ทำงานบนความเสี่ยงที่ไม่จำเป็น, ให้ปริมาณงานต่ำ และมักไม่น่าเชื่อถือ มักจะต้องเริ่มเครื่องใหม่และปิดบ่อย ๆ

ด้วยซอฟท์แวร์ไฟร์วอลล์, ไฟร์วอลล์เครือข่ายถูกออกแบบมาเพื่อเป็นเกราะป้องกัน ระหว่างเครื่องสถานีงานและเครือข่ายอินเตอร์เน็ต ด้วยการเชื่อมต่อหนึ่งในเครื่องสถานีงาน โดยตรงกับอินเตอร์เน็ต และการใช้การแก้ปัญหาอย่าง ICS แม้ว่าคุณจะลดทรัพยากรที่จำเป็นในการแบ่งปันการเชื่อมต่ออินเตอร์เน็ต คุณจะเปิดเพยให้เครื่องสถานีงานนั้นเสี่ยงโดยไม่จำเป็น มันเป็นการบังคับให้ PC นั้นทำงานตลอดเวลา แต่เทียบกับเครื่อง PC ระดับล่าง ที่ไม่มีอุปกรณ์ที่ไม่จำเป็น และ PSU พลังต่ำที่รัน IPCop, นี่ก็อาจจะรบกวนกว่า และกินทรัพยากรมากกว่า

IPCop เสนอการแทนที่ที่คุ้มค่า ในสถานการณ์นั้น ให้ธุรกิจขนาดเล็กและผู้ใช้ระดับบ้านด้วยไฟร์วอลล์ที่มีประสิทธิภาพ โดยไม่จำเป็นต้องซับซ้อนมากเกินไป และการเพิ่มคุณสมบัติต่าง ที่ไม่มีในอุปกรณ์ฝังตัวหรือ ICS อย่างเช่น เครื่องแม่ข่าย DHCP ที่ปรับแต่งได้, การตรวจจับการบุกรุก, เครื่องแม่ข่าย Proxy และอื่น ๆ

โครงสร้างเครื่อข่ายตัวอย่างต้องมั่นใจว่า การทำไฟร์วอลล์เรียบร้อยก่อนที่ลูกข่ายจะนำข้อมูลไป การใช้ชุดที่ถูกออกแบบให้ทำหน้าที่เป็นไฟร์วอลล์ของเครือข่าย ช่วยเพิ่มคุณภาพของการบริการให้กับลูกข่ายได้เป็นอย่างดีเท่าที่ความปลอดภัยของเครือข่ายให้ ในสถานการณ์นี้ ชิ้นส่วนต่าง ๆ ของ IPCop ควรจะเป็น :

  • เขตสีเขียว/สีแดง
  • เครื่องแม่ข่าย DHCP
  • เครื่องแม่ข่าย DNS

ในสถานการณ์ดังกล่าว ผู้ดูแลเครือข่าย หรือผู้ให้คำปรึกษาอาจจะต้องเลือก ที่จะเปิดใช้ชิ้นส่วนต่าง ๆ ของคุณสมบัติที่จะเพิ่มคุณภาพของบริการให้กับเครือข่าย : I

  • ระบบตรวจจับการบุกรุก
  • IPSec เพื่ออนุญาตงานทางไกล หรือการสนับสนุนทางไกล
  • การส่งต่อพอร์ต เพื่ออนุญาตการเข้าถึงทางไกลสู่ VNCหรือ บริการเครื่องปลายทาง / หน้าจอทำงานระยะไกล เพื่อความง่าย ของการเข้าถึงสำหรับการสนับสนุนระยะไกล (สะดวกสบายกว่า IPsec แต่ปลอดภัยน้อยกว่า)

การใช้งานจากซอฟท์แวร์ ICS ที่ทำงานอยู่ดังที่สถานการณ์เป็นสิ่งที่ง่าย— เราเพียงแต่ปิดการทำงานของ ICS ดังที่แสดงเป็นภาพตัวอย่างด้านล่าง ( นำมาจากคุณสมบัติการเชื่อมต่อเครือข่ายภายนอก ตัวประสานเครือข่าย ICS ) การลบ ICS เป็นสิ่งที่ง่ายเพียงแค่ไม่เลือกทางเลือก 'Allow other network users to connect through this computer's Internet connection' หลังจากที่เราทำอย่างนี้ เราก็กด OK แล้วก็เริ่มคอมพิวเตอร์ใหม่ถ้ามีการถาม และเราก็อิสระที่จะเพิ่ม/ลบ ตัวประสานภายนอกบนเครื่องสถานีงาน (ปิดการทำงานถ้าเราต้องการปล่อยให้การ์ดเครือข่ายอันที่สองในเครื่อง หรือถ้ามีเครื่องสองเครื่องบนบอร์ด หรือเอาออกถ้าเรากำลังใช้โมเด็มภายนอก หรือชิ้นส่วนฮาร์ดแวร์ที่เราตั้งใจจะเอาออกหรือเพิ่มเข้าไปสำหรับ เครื่อง IPCop ของเรา)

Windows ICS dialog

กฎไฟร์วอลล์สำหรับโครงสร้างเครือข่ายนี้เป็นแบบง่าย โดยที่ส่วนสีเขียวจะอนุญาตในการเข้าถึงทรัพยากรบนตัวประสานสีแดงอย่างอัตโนมัติ ไม่มีการกำหนดโครงสร้างเฉพาะที่จำเป็น เพื่อที่จะติดตั้งให้ทำงาน ข้อดีอย่างอื่นสำหรับการนำ IPCop มาใช้งานกับสถานการณ์สำนักงานขนาดเล็กก็คือ กรณีที่ธุรกิจจำเป็นต้องเติบโตขึ้น หารแก้ปัญหาแบบนี้ก็ยังปรับขนาดได้ เช่นธุรกิจที่ทำงานด้วยสถานีงาน Windows ในกลุ่มงานหนึ่งอาจจะตัดสินว่า กลุ่มงานนั้นไม่เพียงพอต่อความต้องการ และต้องการการจัดการแบบรวมศูนย์, ตัวจัดเก็บไฟล์ และการปรับแต่ง.

IPCop, มีการปรับปรุงขั้นต้นสำหรับเหตุการณ์แบบนี้ ให้เป็นผลอย่างง่ายดาย เพราะว่ามันมีการเปิดทางให้ยกระดับรวมอยู่ด้วย ซึ่งไม่จำเป็นต้องมีการปรับปรุงฮาร์ดแวร์หรือซอฟท์แวร์สำหรับการปรับไปจาก NAT และ DHCP แบบง่าย ๆ ไปยังเครือข่ายที่ประกอบด้วยหลายส่วนย่อย, การส่งต่อพอร์ต และเครื่องแม่ข่ายพร็อกซี่ ถ้าเครื่องแม่ข่ายมีการ์ดประสานเครือข่ายอยู่หลายตัวอยู่แล้ว (และด้วยราคาในปัจจุบันนี้ มันไม่มีเหตุผลที่จะไม่มี ถ้าถูกคาดการขยายไว้ล่วงหน้าแล้ว) นี่สามารถทำได้โดยที่ไม่ขัดจังหวะ การทำงานของบริการเครื่องลูกข่ายที่มีอยู่ หรือเกิดเพียงเล็กน้อยเท่านั้น.

โครงสร้างเครือข่ายที่สอง : NAT Firewall ที่มี DMZ

ในสถาณการณ์สำนักงานขนาดเล็กที่มีการเติบโตของบริษัท ความจำเป็นที่ความจำเป็นสำหรับจดหมายอิเล็กทรอนิกส์ที่เข้ามา อาจจะถูกบังคับกระตุ้นให้ต้องมีการทำงานของเขตสีส้ม การนำไปใช้งาน และการติดตั้งของเครื่องแม่ข่ายจดหมายในส่วนนี้ ดังนั้นบริษัทอาจจะเลือกที่จะเก็บรักษาเครื่องทำงานและเครื่องแม่ข่ายพื้นฐานภายใน ให้อยู่ภายในเขตเครื่อข่ายสีเขียว และเอาเครื่องแม่ข่ายไว้ใน DMZ (DeMilitarized Zone) บนเครื่องสวิตช์หรือฮับ หรือเพียงติดรวมกับส่วนเชื่อมต่อสีส้มของ เครื่อง IPCop โดยใช้สายสลับ เช่นนั้น ระบบจถถูกปล่อยไปบนอินเตอร์เน็ต ส่วนนี้จะให้ประโยชน์ที่สำคัญ โดยการให้ "เส้นหยุด" ผ่านไป ซึ่งน่าจะยากกว่าสำหรับผู้บุกรุกที่จะขยายการเข้าถึงเขาหรือเธอสู่เครือข่าย เครื่องแม่ข่ายจดหมาย Microsoft's Exchange บางครั้งจะสนับสนุนพวกการตั้งค่าที่จะใช้ การแลกเปลี่ยนหน้าที่ "ส่วนหน้า" และ "ส่วนหลัง" (แม้ว่าหน้าที่เหล่านี้จะยูกยกเลิกในการออกจำหน่ายของ Exchange ในอนาคต) ด้วยการปรับแต่งค่าเครือข่ายที่แตกต่างกัน แม้ว่าอย่างเครื่องลูกข่ายลินุกซ์ จะใช้การจัดการระบบอย่างเช่น Novell's eDirectory หรือ RedHat's Directory Server (RHDS) หรือการกรองที่เป็นประโยชน์อื่น สิ่งที่ระบบเหมือนกันคือการใช้เครื่องแม่ข่ายที่มีส่วนติดต่อภายนอกแบบ SMTP (บางทีก็ทำงานด้วย MTA ที่เป็นโอเพ่นซอร์สอย่าง Exim) ก็จะมีเป็นประโยชน์เช่นเดียวกัน.

ในโครงสร้างนี้ เครื่องลูกข่ายต่างอิสระที่จะติดต่อกับเครื่องแม่ข่ายจดหมาย (อาจจะด้วย POP, IMAP, RPC, หรือ RPC บน HTTP) เพื่อให้เครื่องแม่ข่ายจดหมาย ที่มีอยู่เป็นส่วนหนึ่งของวงเครือข่ายเพื่อการรับรองกับเครื่องแม่ข่ายรายนาม เราก็จะเป็นที่จะต้องเปิดพอร์ตที่จำเป็น (ซึ่งอาจขึ้นกับผู้ให้บริการเครื่องแม่ข่ายรายนาม) เพื่อให้เครื่องแม่ข่ายรายนามใช้คุณสมบัติของช้องทาง DMZ.

เรามีการติดตั้งกฎการส่งต่อพอร์ตจากหมายเลขเครือข่ายภายนอก ของไฟร์วอลล์ IPCop ไปที่พอร์ต 25 ของเครื่องแม่ข่ายจดหมาย นี่จะอนุญาตให้เครื่องแม่ข่ายจดหมาย สามารถติดต่อกับแม่ข่ายจดหมายภายนอก เพื่อที่จะรับส่งจดหมายได้ สำหรับโครงสร้างนี้ สิ่งที่เป็นอันตรายเครื่องแม่ข่ายจดหมาย (ซึ่งการอยู่ในส่วนสีเขียวควรจะทำให้อยู่ในอันตรายตลอดเครือข่าย) ถูกควบคุม ตามระดับการป้องกันที่ไฟร์วอลล์มีให้.

ตามโรงสร้างเครือข่ายเช่นนี้, เราใช้ความสามารถข้างล่างนี้ของไฟร์วอลล์ IPCop :

  • เขตสีแดง, สีส้ม, สีเขียว
  • ช่องทาง DMZ
  • เครื่องแม่ข่าย DHCP
  • เครื่องแม่ข่าย DNS
  • การส่งต่อพอร์ตไปยังส่วนสีส้ม

เราอาจจะเลือกที่จะใช้ส่วนประกอบต่าง ๆ ของคุณสมบัติเหล่านี้ด้วยก็ได้ :

  • ระบบตรวจจับการบุกรุก
  • การส่งต่อพอร์ตไปสู่เครื่องแม่ข่ายเว็บบนเครื่องแม่ข่ายจดหมาย (สำหรับการเข้าถึงภายนอกของ IMAP หรือกล่องจดหมายของ Exchange ด้วยเว็บเมล์ อย่างเช่น Horde, SquirrelMail, หรือ Outlook Web Access) เครื่องแม่ข่ายพร็อกซี่ (สำหรับการเข้าถึงอินเตอร์เน็ตของเครื่องทำงาน)
  • IPSec สำหรับการเข้าถึงทางไกลสู่เครื่องแม่ข่ายในส่วนสีเขียว และ สีส้ม สำหรับการเข้าถึงภายนอก
  • เครื่องแม่ข่ายจดหมายส่วนหลัง ก้วยกล่องจดหมายในเขตสีเขียว โดยใช้เครื่องแม่ข่ายในส่วนสีส้มส่งต่อ ทำการค้นหา/กรองไวรัส หรือจดหมายขยะ

โครงสร้างเครือข่ายที่สาม: NAT Firewall ที่มี DMZ และ เครือข่ายไร้สาย

ในองค์กรณ์ขนาดใหญ่ หรือถ้าเครือข่ายที่พัฒนาขึ้นมาอีก เราอาจจะเลือกที่จะขยายโครงสร้างเครือข่ายของเราโดยใช้ไฟร์วอล์ตั้งแต่หนึ่งหรือมากกว่า.

หลายครั้งที่ไฟร์วอลล์ IPCop ถูกใช้เดี่ยว ๆ สำหรับแยกแต่ละที่ตั้ง หรือเพื่อที่จะแยก DMZ หนึ่ง ๆ หรือมากกว่าต่างหากจากไฟร์วอลล์ มันเป็นการพิจารณาที่คุ้มค่าที่ IPCop จะถูกออกแบบพื้นฐานสำหรับเครือข่าย ที่มีเพียงไฟร์วอลล์เครือข่าย ในธุรกิจขนาดเล็กและขนาดกลาง และตลาดบ้าน/สำนักงานที่บ้าน แม่ว่ามันสามารถที่จะตั้งค่าให้ IPCop ใน การใช้งานขนาดใหญ่ มันก็ไม่ถูกต้องซะทีเดียว และมีชุดชิ้นส่วนอื่น ๆ ที่ สนับสนุนและเหมาะสมกับการทำอย่างนั้น กรณีแบบนี้ บังคับให้ส่วนเครือข่ายของ IPCop เริ่มที่จะมีภาระมากกว่าที่เหมาะสม และจำนวนของการทำงาน ทำให้จำเป็นที่จะต้องปรับปรุง IPCop เพื่อตรงกับความต้องการขององค์กร ที่เกินกว่าการทำการติดตั้งชุดชิ้นส่วนอื่นที่เหมาะสมกับโครงสร้างเครือข่ายเดียวกัน.

ในตัวอย่างนี้ เราจะพิจารณาขอบเขตที่กว่างที่สุดที่เครื่อง IPCop หนึ่ง ๆ ควรจะนำไปใช้งาน การใช้ส่วนเชื่อมต่อเครื่อข่ายทั้งสี่เพื่อป้องกันเครือข่ายด้วยเครือข่ายภายใน (สีเขียว) อินเตอร์เน็ต หรือ การเชื่อมต่อ WAN (สีแดง) DMZ หนึ่งที่ประกอบด้วยเครื่องแม่ข่ายมากกว่าหนึ่ง (สีส้ม), และส่วนของเครือข่ายไร้สาย (สีน้ำเงิน) กับระบบ IPSec VPN. ในกรณีเข่นนี้ เราควรแน่ใจว่าเลือกที่จำใช้งานทั้งหมดของคุณสมบัติระดับสูงที่มีใน IPCop ซึ่งได้แก่ เครื่องแม่ข่ายพร็อกซี่ และระบบตรวจจับการบุกรุก.

ในสถานการณ์นี้ บริการที่เรากำลังให้บริการในแต่ละส่วนเชื่มอต่อเครือข่าย เป็นดังนี้ : ในส่วนเชื่อมต่อสีแดง , ซึ่งหมายถึงนโยบายมาตรฐาน, เราทำการเปอดคุณสมบัติส่งต่อพอร์ต เพื่ออนุญาตให้การเชื่อมต่อไปยังเครื่องแม่ข่ายจดหมาย ที่พอร์ต 25 ใน DMZ และไปที่พอร์ต 443 (https) บนเครื่องแม่ข่ายจดหมาย เพื่อให้การเชื่อมต่อสู่ระบบจดหมายเว็บธุรกิจ เราได้อนุญาต IPSec ที่เข้ามาจาก ไฟร์วอลล์ IPCop เพื่ออนุญาตการเข้าถึงทางไกลกับผู้ดูแลผู้ที่ทำงานทางไกล และให้การเชื่อมต่อทางไกลสำหรับการสนับสนุน สำหรับ IT Staff และซอฟท์แวร์กับฮาร์ดแวร์ของผู้ขายอื่น ๆ.

บนส่วนเชื่อมต่อสีน้ำเงิน, เราให้การเชื่อมต่อด้วย IPSec VPN สำหรับลูกข่าย เพื่อที่เขาสามารถเข้าถึงบริการที่ทำงานอยู่เครื่องแม่ข่ายภายในส่วนสีเขียว และส่วน DMZ คู่ค้าและผู้มาเยี่ยมก็ได้รับอนุญาตให้เข้าสู่ส่วนสีเขียวผ่านการใช้ WPA โดยใช้รูปแบบกุญแจที่ตั้งค่าที่จุดเชื่อมต่อเครือข่ายไร้สาย.

[ เมื่อใช้การเข้ากุญแจต้องแน่ใจว่า คุณใช้ความยาวมากที่สุดของกุญแจที่ประกอบมาจากต้นฉบับแบบสุ่มที่ดี เมื่อ WPA จะไม่สามารถป้องกันการเดารหัสแบบไล่สุ่มไปเรื่อย ๆ ของกุญแจที่บกพร่องได้ นี่ก็เป็นเหตุผลที่ดีสำหรับการเปลี่ยนกุญแจเป็นระยะ ๆ. -- René ]

WPA-PSK กับจุดเชื่อมต่อเดี่ยว ป้องกันการเข้าถึงส่วนเครือข่ายไร้สาย และอินเตอร์เน็ตโดยผู้ใช้งานที่ไม่ได้รับสิทธิ์ และนี่เป็นการแก้ปัญหาที่เพียงพอ สำหรับเครือข่ายขนาดเล็กและขนาดกลางส่วนมาก การใช้อันที่ใหม่กว่า อย่างคุณสมบัติ จุดเชื่อมต่อที่สามารถใช้ WPA2-PSK ช่วยเพิ่มความปลอดภัยมากขึ้น โดยที่ไม่ต้องมีจุดเชื่อมต่อหรือเครือข่ายพื้นฐานที่สนับสนุน RADIUS หรือ Certificate Services. นโยบายไฟร์วอลล์ และระบบ IPSec ทำให้แน่ใจว่า ผู้มาเยี่ยมและคู่ค้า จะสามารถเข้าถึงส่วนสีแดง (อินเตอร์เน็ต) และไม่สามารถเข้าถึงทรัพยากรใด ๆ ของเครือข่าย.

บนส่วนเชื่อมต่อสีส้ม, ช่องทางเชื่อมต่อของเราอนุญาตให้เครื่องแม่ข่าย DMZ เชื่อมต่อไปยังเครื่องอม่ข่ายรายนาม และ ตัวควบคุมขอบเขต Kerberos ในส่วน สีเขียว เพื่อรับรองผู้ใช้เข้าสู่สิ่งเหล่านั้น ด้วยระบบรายนาม นี่ทำให้มั่นใจว่านโยบายและการตั้งค่าสำหรับเครื่องแม่ข่ายเหล่านี้ ถูกจัดการจากส่วนกลาง และมีล็อกไฟล์เก็บอยู่ที่ส่วนกลางของสิ่งเหล่านั้น แต่ ความเสียหายที่เกิดจากส่วนบริการที่ติดต่อกับภายนอก จะถูกลดจนต่ำสุด และแน่ใจถึงความปลอดภัยของธุรกิจ และเป็นไปตามที่คาดหมายไว้

บนส่วนเชื่อมต่อสีเขียว เราอนุญาตให้เชื่อมต่อไปได้ทุกส่วนเชื่อมต่อ เครื่องสถานีงานและเครื่องแม่ข่ายภายในส่วนสีเขียวถูกจัดการบริการสถานีงาน ซึ่งผู้ใช้ไม่จำเป็นที่ต้องมีระดับการเข้าถึง ที่ทำให้เกิดอันตรายกับทรัพยากรที่พวกเขาเข้าถึง.

[ ม้าโทรจันกำลังเป็นที่นิยม นี่เป็นเหตุผลที่ดี ที่มีแนวคิดเกี่ยวกับการจำกัดเครื่องเขที่เข้าถึงเครือข่ายภายในเครือข่ายสีเขียว สู่อุปกรณ์พร็อกซี่ด้วยซอฟท์แวร์ระบบตรวจจับ/ป้องกันการบุกรุก. -- René ]

ในกรณีนี้, เราทำการใช้งานคุณสมบัติของ IPCop ดังนี้ :

  • เขตสีแดง, สีส้ม, สีเขียว, สีน้ำเงิน
  • ช่องทาง DMZ
  • เครื่องแม่ข่าย DHCP
  • เครื่องแม่ข่าย DNS
  • การส่งต่อพอร์ตไปยังเขตสีส้ม
  • IPSec สำหรับการเข้าถึงระยะไกลไปยังส่วน สีเขียว, สีส้ม, สีน้ำเงิน
  • IPSec สำหรับการเข้าถึงทรัพยากรภายใน โดยผู้ใช้สีน้ำเงิน
  • ระบบตรวจจับการบุกรุก
  • การส่งต่อพอร์ตไปยังเครื่องแม่ข่ายเว็บบนเครื่องแม่ข่ายจดหมายภายนอก
  • เครื่องแม่ข่ายพร็อกซี่ (สำหรับการเข้าถึงอินเตอร์เน็ตของเครื่องทำงาน)

ในองค์กรที่ใหญ่ขึ้น เราอาจจะเลือก IPSec เพื่อที่ใช้ IPSec แบบ site-to-site เพื่อจะเชื่อมต่อสำนักงานนี้กับสาขาอื่น ๆ ในกรณีนี้ ที่เป็นกรณีที่ทำหน้าที่เป็นไฟร์วอลล์เครือข่ายแบบเดี่ยว, IPCop เก่ง.


บทความนี้ดีดแปลงมาจากหนังสือ "Configuring IPCop Firewalls: Closing Borders with Open Source" โดย Packt Publishing [47].

สำหรับรายละเอียดอื่น ๆ กรุณาเยี่ยม http://www.packtpub.com/ipcop/book/ [48].

อภิปรายปัญหา: อภิปรายบทความนี้กับ The Answer Gang [49]

Barrie Dempster


[BIO]

Barrie Dempster ปัจจุบันเป็น Senior Security Consultant ของ NGS Software Ltd ผู้ให้คำปรึกษาที่มีชื่อเสียงของโลก ที่รู้จักกันดีกับการที่พวกเขามุ่งสนใจที่การวิจัยความอ่อนแอของซอฟท์แวร์ประยุกต์ และความปลอดภัยของฐานข้อมูลระดับองค์กร. เขามีพื้นฐานระดับล่าง และความปลอดภัยของข้อมูลในจำนวนของสภาวะแวดล้อมแบบพิเศษ เช่น บริการของสถาบันการเงิน, บริษัทโทรคมนาคม, ศูนย์บริการ, และองค์กรอื่นในหลายทวีป, Barrie มีประสบการณ์ในการรวมเครือข่ายระดับล่างและระบบโทรคมนาคม ที่จำเป็นต้องใช้การออกแบบ, ทดสอบ และการจัดการที่มีความปลอดภัยสูง เขามีส่วนในโครงการหลากหลายจากการออกแบบ และการพัฒนาระบบธนาคารอิเล็กทรอนิกส์ สำหรับการประชุมทางไกลขนาดใหญ่ และระบบโทรศัพท์ระดับล่าง พอ ๆ กับการทดสอบเจาะระบบ และประเมินความปลอดภัยของธุรกิจที่ล่อแหลมในระดับล่าง



James Eaton-Lee


[BIO]

James Eaton-Lee ทำงานเป็นผู้ให้คำปรึกษาเฉพาะความปลอดภัยระดับล่าง ผู้ซึ่งทำงานกับลูกค้าตั้งแต่ธุรกิจขนาดย่อมที่มีพนักงานที่ทำงานด้วยมือ ไปจนถึงธนาคารนานาชาติ เขามีพื้นฐานที่หลากหลาย รวมถึงประสบการณ์ที่ทำงาน IT กับ ISP ห้างหุ้นส่วนผู้ผลิตสินค้า, และศูนย์บริการ Jamesได้มีส่วนร่วมในการรวมระบบตั้งแต่ อนาล็อก และ ระบบโทรศัพท์ VOIP จนถึง NT และ วงเครือข่าย AD ในสภาวะแวดล้อมที่ฉุกเฉิน ที่มีเครื่องนับพัน ไม่ว่าจะเป็น UNIX & เครื่องแม่ LINUX servers ที่ทำหน้าที่ต่าง ๆ. James มีความแม่นยำในการเลือกที่จะใช้เทคโนโลยีที่เหมาะสม และเป็นเทคโนโลยีใกล้เคียงกับความต้องการและยืดหยุ่นที่สุด สำหรับธุรกิจทุกขนาด โดยเฉพาะอย่างยิ่ง ตลาด SME ที่เทคโนโลยีมักจะถูกลืมและถูกมองข้าม. James เป็นคนที่มีความเชื่อมั่นอย่างยิ่งในความสัมพัธ์และความข้อดีของ Open Source และ Free Software เป็นเวล่มาหลายปีแล้วจะประมาณไม่ได้ ที่ใช้มันสำหรับเขาเอง และลูกค้าของเขา การรวมมันในหลากหลายรูปแบบร่วมกับเทคโนโลยีอื่น ๆ .

สงวนลิขสิทธิ์ ปี 2006, René Pfeiffer and pooz. ออกวางภายใต้สัญญาอนุญาต Open Publication license [2] เว้นแต่บันทึกภายในบทความบอกเป็นอย่างอื่น. Linux Gazette ไม่ได้ถูกสร้างขึ้น, ได้รับการสนับสนุน, หรือได้รับการรับรอง จากผู้ให้ใช้โฮสต์, SSC, Inc.

ตีพิมพ์ในเล่มที่ 132 ของ Linux Gazette, พฤศจิกายน ปี 2006

Tux

SiteTags: 
Linux Gazette [4]
IPCop [50]

ความปลอดภัยลินุกซ์เลเยอร์ที่ 8: OPSEC สำหรับผู้ใช้ทั่วไป, นักพัฒนา และผู้ดูแลระบบ - ฉบับที่ 164 กรกฎาคม 2009

โดย Lisa Kachold [5]

แปลโดย Sake [6]

เมื่อผู้ใช้ของลินุกซ์แต่ละของเราอยู่ในตำแหน่งที่เฉพาะเจาะจงกับเครื่องมืออันทรงประสิทธิภาพ. การใช้เครื่องมือใดๆโดยไม่คำนึงถึงการรักษาความปลอดภัยเป็นสิ่งที่อันตราย. ในทำนองเดียวกันที่นักพัฒนาต้องพกพารับผิดชอบอันใหญ่ยิ่งในชุมชน เพื่อรักษาระบบที่มีให้ไปในทิศทางที่ปลอดภัย. ผู้ดูแลระบบมักได้รับตำแหน่งในบทบาทที่ไม่สบายนัก ในการที่ต้องควบคุมป้อมปราการระหว่างความไม่มั่นคงหรือการพยามยามเข้ามาครอบครอง และช่วงเวลาในการให้บริการ.

มาลองพิจารณากันถึงหนึ่งในวิธีการการรักษาความปลอดภัยมาตรฐานเทียบกับการใช้งานลินุกซ์เป็นเครื่องมือ : OPSEC.

ปฏิบัติการรักษาความปลอดภัย (OPSEC) เป็นกระบวนการที่ระบุข้อมูลสำคัญเพื่อตรวจสอบว่าเป็นกระทำที่เป็นมิตรสามารถถูกสังเกตโดยระบบข้าศึกอัจฉริยะ, บ่งชี้ว่าหากข้อมูลที่ได้จากข้าศึกอาจตีความเพื่อเป็นประโยชน์แก่พวกเขาแล้ว จากนั้นดำเนินการตรวจวัดที่เลือก เพื่อจะขจัดหรือลดความเสียหายจากข้าศึกจากข้อมูลความเป็นมิตรที่สำคัญ.

"ถ้าฉันสามารถบ่งชี้แนวโน้มที่จะทำอะไรของศัตรู ขณะเดียวกับที่ฉันสามารถซ่อนตัวฉันเองแล้ว, ในตอนนั้นฉันสามารถเพ่งความสนใจ และเขาจะต้องถูกแยกออกไป." - Sun Tzu

แม้ว่าเราอาจจะยังไม่ตระหนักถึงมัน, เพราะว่าเราถูกฝังรากลึกอย่างแน่นหนาอย่าง
ถึงความรู้ในเรื่อง "รากฐานความปลอดภัยลินุกซ์", ศัตรูอันเยี่ยมยอดนานาชาติ,
ระดับชาติ, และระดับท้องถิ่น ที่มีอยู่ ผู้ที่กำลังหาประโยชน์มีความสุขกับ TCP/IP Stack
ขณะเดียวกับที่หัวเราะอย่างคลั่งไคล้. ถ้าคุณไม่เชื่อฉัน, คุณใช้บรรทัดฐานอะไรในการโต้แย้งกรณีของคุณ?
คุณได้เคยลองทดสอบ หรือนำกระบวนวิธีการประเมิน OPSEC ไปใช้กับ (เลือกอย่างหนึ่ง):

a) แล็บท็อป SSH
b) รหัสโปรแกรมประยุกต์ or db2/mysql/JDBC
c) เซิร์ฟเวอร์ (SMTP, DNS, เว็บ, LDAP, SSH, VPN)

OPSEC เป็นวิธีการได้รับการพัฒนาระหว่างสงครามเวียดนามเมื่อเรือโท Ulysses Sharp, ผู้บัญชาการในหัวหน้าแปซิฟิกจัดตั้งทีม "มังกรม่วง"
หลังจากที่ตระหนักว่า การป้องกันอัฉริยะ และการวัดความปลอดภัยแต่เพียงอย่างเดียว ไมเพียงพอ.
พวกเขาเข้าใจและใช้กระบวนวิธีของ "คิดอย่างหมาป่า" ให้เป็นประโยชน์.
หรือมององค์กรของคุณในมุมมองที่ผู้บุกรุกดู. เมื่อการพัฒนาและการแนะนำการกระทำที่ถูกต้องไปยังการสั่งการ, พวกเขาได้สร้างสิ่งที่เรียกว่า "ความปลอดภัยในการดำเนินงาน"(Operations Security).

OPSEC เป็นความเชี่ยวชาญในการประเมินที่ดีที่สำคัญอย่างมากอย่างหนึ่ง ที่จะสอนให้กับผู้ที่กำลังเรียนรู้
ที่จะไว้วางใจอย่างเหมาะสม และอยู่ในโลกของ "สุนัขกินสุนัข" อันใหญ่ยิ่งนี้.
นักจิตวิทยาเคนแนะนำกับฉันในครั้งหนึ่งว่า "การคิดในทุก ๆ สิ่งที่คุณควรทำ(แต่ไม่ได้ทำ) " เป็นเทคนิคที่ประเมินค่าไม่ได้
ในการทำความเข้าใจมนุษยชาติ, ธรรมชาติ,แรงบันดาลในส่วนตัว และความยุงเหยิง/เป็นระเบียบในระบบธรรมชาติ.
เมื่อชาวลินุกซ์มีแนวโน้มที่จะสนใจในการคำนวณ, เป็นผู้นำเทคโนโลยีที่มีดวงตาแววาว, และ
และคำตอบนั้นจะเป็นผล - พวกเขาต่างกส่วนมากก็มีจรรยาบรรณอันสูงส่ง และมีความรับผิดชอบอยางเป็นเหตุเป็นผล
ต่อความปลอดภัยของระบบคอมพิวเตอร์, เมื่อพวกเขารู้ว่าจะเริ่มจากที่ใด.

บัดนี้, เราต่างก็รู้เราว่าความปลอดภัยคอมพิวเตอร์เป็นกระบวนการแบบชั้น, อย่างไรก็ตาม เรา, ในฐานะผู้ใช้,
ผู้พัฒนา, และผู้ดูแลระบบ ก็จะสร้างชั้นเพิ่มมาอีกหนึ่งชั้น.

โมเดล OSI เป็น โมเดลชั้นนามธรรม 7 ชั้นที่อธิบายสถาปัตยกรรมของการสื่อสารข้อมูลสำหรับคอมพิวเตอรที่ถูกต่อกันเป็นเครือข่าย.
ชั้นที่ถูกสร้างอยู่เหนือชั้นอื่น ๆ จะอนุญาตสำหรับให้เฉพาะบางฟังก์ชันในเชิงนามธรรมในแต่ละชั้น. ชั้นบนสุด(ชั้นที่7)
เป็นชั้นแอพพลิเคชันที่อธิบายกระบวนวิธี และโปรโตคอลของแอพพลิเคชันซอฟต์แวร์.

ชั้นที่ 8 เป็นศัพท์เฉพาะอินเตอร์เน็ตที่ถูกใช้เพื่ออ้างถึง "ผู้ใช้" หรือ "ในทางการเมือง".
ชั้นที่ถูกเพิ่มเติมมาจากโมเดล OSI ของเครือข่ายคอมพิวเตอร์.

เมื่อตัวเลขของชั้น OSI เป็นสิ่งที่ถูกพูดถึงโดยทั่วไปเกี่ยวกับประเด็นด้านเครือข่าย.
ผู้เชี่ยวชาญในการแก้ปัญหาหนึ่งอาจจะอธิบายประเด็นหนึ่ง ที่เกิดขึ้นจากผู้ใช้ไเป็นประเด็นของชั้นที่ 8.
เช่นเดียวกับตัวย่อ PEBKAC (Problem Exists Between Keyboard And Chair) และ ID-Ten-T Error (คำที่นักแก้ปัญหาใช้แทนปัญหาที่เกิดจากผู้ใช้).

เราสามารถเห็นได้ว่ากุญแจ SSH (หรือการไม่มีสิ่งเหล่านี้) แต่เพียงอย่างเดียวไม่เป็นประเด็นด้านความปลอดภัยที่ใหญ่อะไร.
อย่างไรก็ตาม เพิ่มผู้ใช้ root, ที่อยู่อินเตอร์เน็ตที่สามารถหาเส้นทางได้อย่างเต็มที่ (นอกจาก NAT),
ไม่มี iptables หรือไฟร์วอลล์อื่น ๆ, ไม่มีการจัดการรหัสผ่าน หรือนโยบายทางด้านความปลอกภัย และ
การดักจับอีเธอร์เน็ตแปลกปลอมจากผู้ใช้ติดอาวุธที่ดกรธแค้น ที่มีบุคลิกลักษณะที่ผิดปกติ ไม่เข้าพวก. เอาล่ะ,
สิ่งเหล่านี้อาจจะเป็นปัญหาหรือไม่?

ขั้นตอนการประเมิน OPSEC ได้แก่:

1. ระบุข้อมูลสำคัญ

ระบุข้อมูลที่สำคัญอย่างอย่างยิ่งกัยองค์กร, ภารกิจ, โครงการ หรือบ้าน [กรรมสิทธิ์ที่สำคัญ, รายละเอียดภารกิจ, ขีดความสามารถในการวิจัยและพัฒนา, การเสื่อมเสียชื่อเสียง, ข้อมูลการใช้งานของเจ้าหน้าที่ที่สำคัญ, บันทึกทางการแพทย์, นิติกรรมสัญญา, แผนผังโครงสร้างเครือข่าย, อื่น ๆ.]

แต่ "เดี๋ยวก่อน", คุณบอก, "ฉันเป็นแค่เด็กเล็ก ๆ กับคอมพิวเตอร์แลปท็อป!" คุณไปร้านขายกาแฟเป็นประจำเลยหรือเปล่า?
คุณใช้เครือข่ายร่วมกับผู้อื่นหรือเปล่า? คุณอนุญาตให้คนอื่น ๆ ดูคุณเข้าใช้และไปดูข้อมูลธนาคารของคุณจากด้านหลังของคุณหรือเปล่า?
ถ้าเช่นนั้น, OPSEC มีเพื่อคุณอย่างไม่ต้องสงสัย.

ขณะที่ขั้นตอนนี้ เป็นมีความเยี่ยมยอดมากเท่ากับความเลวร้ายสำหรับที่จะเป็นผู้ดูแลระบบ, ผู้ที่รู้อย่างชัดแจ้งว่า ง่ายแค่ไหน ที่จะระเบิดระบบหนึ่ง และทิ้งงานทั้งหมด จากมืออาชีพ 30 คนหรือมากกว่าด้วยคำสั่งเพียงคำสั่งเดียว, หรือเป็นอีกผู้หนึ่ง ซึ่งตระหนักว่าความเป็นเจ้าของระบบ ไม่ได้หมายถึงสิ่งที่จะบอกได้ถึงอัพไทม์อันมั่นคง, แต่ละ และทุก ๆ ผู้ใช้คอมพิวเตอร์รู้ว่า อะไรที่มันเป็นไมได้ขึ้นอยู่กับความมั่นคงของข้อมูลใด ๆ. ความปลอดภัย = ความมั่นคงในทุก ๆ สถานะการณ์.

2. ระบุศักยภาพศัตรู

ระบุศัตรูที่เกี่ยวข้อง, คู่แข่งหรืออาชญากรรวมทั้งความมุ่งหมาย และความสามารถในการได้มา ถึงข้อมูลสำคัญของคุณ.

หากคุณยังไม่เพิ่งดำเนินการเพื่อดูล็อกไฟล์ของคุณสักครู่. เพื่อดูทั้งหมด พยายามเข้าใช้งานผ่าน SSH หรือ FTP, หรือนั่งอย่างจริงจัง ในร้านกาแฟประเมินอัตราการเข้าชมเครือข่ายไร้สาย หรือจับตาดู tcpdump เพื่อดู สิ่งที่อยู่ที่เกิดขึ้นในเครือข่ายมหาวิทยาลัย นี่อาจถึงเวลาที่จะ เริ่มต้น. มันไม่ใช่แค่คนที่มาจากจีนและรัสเซีย (รวมถึงสคริปต์ netcat, nmap และ MetaSploit ที่สามารถถูกกำหนดค่านิด ๆ หน่อย ให้ตบตา ที่อยู่เหล่านี้) ตื่น และกวาดตาไปยังที่ประชุม และถาม
เองอย่างจริงจัง, ใครที่เป็นคู่แข่ง, ใครที่เป็นอาชญากร. นี่คือขั้นตอนที่จำเป็นใน OPSEC. ในปี 1990 ในแปซิฟิกตะวันตกเฉียงเหนือ, ผู้ดูแลระบบลินุกซ์ฝ่ายตรงข้าม กำลังโจมตีเว็บเซิร์ฟเวอร์ของคนอื่น ๆ.

แต่, คุณพูดว่า, "ทำไมพวกเขาจะต้องการเข้ามายังแล็ปท็อปน้อยของฉันด้วย?". คุณมีอัพไทม์ 24x7 ถูกต้องมั้ย? ระบบของคุณ สามารถถูกตั้งค่าได้ด้วย Anacron เป็นสิ่งที่ไม่แน่ชัด. BOT net ที่ตรวจสอบไม่ได้และคุณไม่เคยรู้เกี่ยวกับมันมาก่อน? BOT net นั้น สามารถเขมือบแบนด์วิทของคุณและขโมยพลังการประมวลผล และในที่สุดจะถูกใช้เพื่อเอาเซิร์ฟเวอร์คุณลงมา.

3. ระบช่องโหว่ที่อาจเกิดขึ้นได้

ในมุมมองของศัตรู, สู่แข่ง, หรือโจร, ระบุช่องโหว่ที่อาจเกิดขึ้นได้ และความหมายในการเข้าถึงไปยังผลของขั้นตอนที่ 1. ทำการซักถามตัวแทนตัวอย่างของแต่ละบุคคล.

ถ้าคุณยังไม่ได้ค้นกูเกิ้ล เพื่อที่จะแน่ใจว่ารุ่นของ Firefox ที่คุนกำลังให้อยู่ปลอดภัยจากการบุกรุกหาประโยชน์แล้วละก็.
คุณก็ยังไม่ทำขั้นตอนนี้ให้สมบูรณ์. ถ้าคุณยังไม่รู้ถึงความอ่อนแอ ณ ปัจจุบันของรุ่นของ OpenSSH และ Apache หรือ Java
หรือ
If you have not googled to ensure that the version of Firefox you are running
is secure from known exploits, you have not completed this step. If you don't
know the current vulnerabilites of the version of OpenSSH and Apache or Java
หรือการถูกแก้ไขของรหัสต้นฉบับของไบนารีที่ถูกติดตั้งหับ Ubuntu หรือ Fedora ของคุณ,
คุณยังไม่มีพื้นฐานการใช้เทคโนโลยีลินุกซอย่างชาญฉลาด.

แม้ว่าฉันจะไม่แนะนำให้ทุก ๆ คนเข้าร่วมกับ Defcon, การอ่านเว็บไซต์ของพวกเขาอาจจะ
เพียงพอที่จะเน้นย้ำคุณสนใจถึงความสำคัญของ OPSEC. แต่จะดีกว่า, ถ้าคุณเขียนแผ่น BackTrack4 LiveCD ของคุณเอง
และเรียกใช้เครื่องมือเพื่อป้องกันของระบบของคุณเอง.

มีสองวิธีพื้นฐานที่จะเข้าไปใช้ Linux โดยการใช้ระดับชั้นโมเดล OSI :
"บนลงล่าง" หรือ "ล่างขึ้นบน".

จาก: โมเดล OSI [51]

ชั้น :

  1. ชั้นรูปธรรม (Physical Layer)
  2. ชั้นสื่อสารข้อมูล (Data Link Layer)
    • สถาปัตยกรรมโปรโตคอล WAN
    • สถาปัตยกรรม IEEE 802 LAN
    • สถาปัตยกรรม IEEE 802.11
  3. ชั้นเครือข่าย (Network Layer)
  4. ชั้นขนส่ง (Transport Layer)
  5. ชั้นวาระ (Session Layer)
  6. ชั้นนำเสนอ (Presentation Layer)
  7. ชั้นโปรแกรมประยุกต์ (Application Layer)
  8. ชั้นมนุษย์ (Human Layer)

ประเด็นส่วนใหญ่อยู่ที่ชั้นที่ 8!

4. ประเมินความเสี่ยง

ประเมินความเสี่ยงของแต่ละความไม่มั่นคง โดยผลกระทบของสิ่งนั้น ๆ ต่อการบรรลุภารกิจ / ประสิทธิภาพเมื่อต้องการ

หลังจากทดสอบ SSH ของคุณจากเครือข่ายถายนอก หรือสแกนกลุ่มของโปรแกรมประยุก J2EE ของคุณ
จากรหัส IBM WatchFire AppScan, หรือ
After testing your SSH via an outside network or scanning your J2EE
การกวน Apache 1.33/LDAP จากการใช้ร่วมกัน (ไม่มี VLAN เครือข่ายสาธารณะ) หรือการเข้าถึง/การเจาะ
รหัส WEP ของคุณเองในห้านาที, คุณจะเห็นอย่างชัดเจนว่า คุณไม่จะเป็นที่จะต้องมีอะไรเลย,
สามารถพิสูจน์ถึงความไม่มีเสถีบรภาพ, และทันทีที่ระบบของคุณถูกละเมิดจะถูกปิดลง.

ตัวอย่างเช่น, จุด ที่ผู้ใช้ /ผู้ดูแลเซิร์ฟเวอร์ iPhone/Blackberry ตระหนักคือ โทรศัพท์ของเขา
บางทีจะทำอะไรมากกว่าที่เขาคาดคิดได้ และสงสัยเมื่อไม่ได้ตรวจสอบ , ไม่ได้สแกน นโยบายการแนบเข้ามาของไฟล์ pdf ตั้งค่าในชั้นที่ 8/9,
แต่โดยปราศจาก OPSEC, จุดนี้มักเกิดขึ้นช้าไปตลอด. โทรศัพท์มีศกยภาพที่จะควบรวมเข้ากับทุกอย่าง, มีที่อยู่ IP และมักจะถูกเพิกเฉย!

อีกครั้ง, ตัวอย่างเช่น, ถอดเครื่องพิมพ์ออก, เป็นสิ่งที่โง่เขลา, เนื่องจากเครื่องพิมพ์ HP และโปรโตคอล IPP
ไม่มีความสำคัญที่จะไปทำการละเมิด หรือปล่อยเชื่อกับอะไรซักอย่างจากสิ่งที่ปลอดภัยที่แนบมา.

ขั้นตอนนี้ ครอบคลุมรวมถึงทุก ๆ เทคโนโลยีที่เกี่ยวข้องกัน ที่ระบบติดต่อประสานงานด้วย.

5. กำหนดมาตรการการต่อต้าน

สร้าง / ระบุการมาตรการที่จะต่อต้านที่จะระบุความอ่อนแอ. ให้ระดับความสำคัญและออกมาตรการที่เกี่ยวข้องกับการป้องกัน.

ตอนนี้ ก่อนที่คุณจะตกใจสุดขีดและกรีดร้อง, เริ่มกระบวนการนี้ สาเหตุจากความเสียหายจาก "ข้อจำกัด"
จากอิสระของการประมวลผล, จงมั่นใจว่า นั้นคือ "คำตอบ".

6. ประเมินผลประสิทธิผล

ประเมินและวัดประสิทธิผล,และปรับปรุงตามนั้น.

คำตอบเหล่านี้ อาจจะง่าย ๆ พอกับการห่อหุ้มสำหรับ SSH, การปรับปรุงไปใช้ OpenVPN
(ซึ่งเป็นเรื่องธรรมดา ๆ ในการทำให้เกิดขึ้น). การใช้ noscript สำหรับบราวเซอร์,
หรือการไม่ใช้เว็บบราวเซอร์จาก root ในเครื่องที่ทำงานจริง. สิ่งเหล่านี้สามารถรวมใน
เครื่องเซิร์ฟเวอร์ที่พื้นฐานบน IPTABLE ที่ติดตั้งครั้งแรก, หรือรวมอยู่ในสวิตซ์โปรแกรมประยุกต์ชั้นที่ 7
(ซึ่งสามารถจะถูกกว่าในร้านการพัฒนา "house of card" แทนที่จะเป็นการตรวจสอบโค้ดทั้งหมด
(สำหรับที่เข้ากันได้กับ PCI)) หรือ เขียนใหม่หมด. สำหรับกรณีการก่อกวน Tomcat. การปรับเปลี่ยน
สถาปัตยกรรมด้วยการกั้นด้วย IDS หรือใช้ mod_security หรือ mod_proxy สามารถจะประหยัดเวลาได้เป็นเดือน ๆ สำหรับการ DoS

ถ้าคุณจะต้องเข้าร่วมกับเครือข่ายทางสังคม หรือท่องไปยังเว็บไซต์ที่ต้องระวังการยอมรับ javascript,
การเข้าจากระบบกึ่งไม่ปลอดภัยอาจจะเป็นมาตรการที่ดี.

ลองคิดนอกกรอบดูว่า คำตอบแบบระดับชั้นเป็นสิ่งสำคัญ
และอย่างน้อย, ออกทันทีทันใด จากการกระทำที่บ่งชี้ว่าเป็นอันตรายที่ระดับชั้นที่ 8
ปิด SSH ที่ร้านขายกาแฟ. ในความเป็นจริง, ปิดบลูทูธด้วนเป็นการดี เพราะการเชื่อมต่ออาจจะยัง
คงมีอยู่จากการที่คุณสร้างขึ้นหรือเปล่า?

การจัดการที่ดีของข้อมูลไม่ครอบคลุมยังการสืบสวนนี้,
ดังนั้นเอกสารที่ถูกจัดการการเข้าถึงจะทำให้คุณสามารถจัดเรียงมันได้.
คุณจะพบว่ามันอาจจะง่ายกว่าที่จะแทนทั่หรืออัพเกรด, แทนที่จะพยายามป้องกันมัน
มันไม่เป็นความจริงเท่าไหร่ ที่จะคาดหวังว่าจะต้องอัพเกรดอย่างน้อยทุก ๆ สี่ปี,
ลองพิจารณาดูจะเห็นว่า คุณทำการใช้งานตัวปรับปรุงมาตรฐานซึ่งผ่านมากว่า
10 ปีแล้วของประวัติศาสตร์ลินุกซ์.

ถ้า (เมื่อ) คุณบ่งชี้ถึงอันตรายของนโยบาย, เอกสาร และการเพิ่มขึ้นของชั้นที่ 9 (การบริหารจัดการ),
ดงนั้น หน้าที่ของคุณในฐานะผู้ใช้หรือผู้ดูแลระบบเทคโนโลยีที่มีจรรยาบรรณ ได้ถูกกส่งต่อไปหรือขึ้นไป.
การขาดความกระตือรือร้นหรือทัศนคติอย่า "การรายงานด้านความปลอดภัยเป็นสิ่งที่เค้าไม่ทำกันหรอก" หรือ
"ทุกคนเค้าไม่สนใจไอ้ยาว ๆ นี่หรอก, ขืนฉันบอกไปบางทีเค้าอาจจะมองว่าฉันไร้สาระ" เป็นสิ่งที่ทำลายทุกอย่าง.
ใช้การอ้างอิงถ้าจำเป็น; ความปลอดภัยเป็นหน้าที่ความรับผิดชอบของทุกคน.

อย่างหนึ่งที่ของนโยบายที่อันตรายระดับชั้นที่ 8/9 อย่างหนึ่งคือการแบ่งระดับ.
ตัวอย่างหนึ่งที่สำคัญของการแบ่งระดับนี้ เช่น :

  • Ubuntu ปลอดภัยมาตั้งแต่ในกล่องแล้ว
  • Linux ปลอดภัยกว่า Windows, ดังนั้นฉันไม่เห็นต้องกังวลอะไร
  • เจ้าหน้าที่ความปลอดภัยเรามี ไม่ใช่หน้าที่ของฉันนิ
  • แผนกไฟร์วอลล์ของเราดูทุก ๆ ประเด็นของความปลอดภัยอยู่แล้ว, ไม่ใช่หน้าที่ของ webmaster

เมื่อสุขภาพทีดีของความรับผิดชอบต่อสภาพแวดล้อมด้านความปลอดภัยในองค์กร ย้ายไปใน
สุขภาพทีดีของความรับผิดชอบต่อสภาพแวดล้อมด้านความปลอดภัยในซอฟต์แวร์เปิดรหัส เป็นกระบวนการที่ถูกจัดขึ้น,
และความปลอดภัยทุก ๆ ที่จะไม่สามารถเพิกเฉยได้.

ความอ่อนแอเป็นศูนย์เป็นที่เป็นไปไม่ได้เลยในความเป็นจริง.
ถ้าคุณทำงานในร้านที่การทำงานเหมือนว่าเป็นระบบความปลอดภัยสมบูรณ์แต่ไม่มี OPSEC
หรือติดต่อตัวคุณเองเหมือนกับว่าำม่มีความเสี่ยงด้านความปลอดภัย.
เป็นสิ่งที่ต้องปักธงแดงเอาไว้เลยว่า.
การเฝ้าระวัง 100% เป็นสิ่งที่พยายามจะปฏิบัติให้ได้จริง.
ตามกฎทั่วไป, การระวังสิงที่จะปกป้องมีความเสี่ยงมากกว่าในการป้องกัน
ข้อมูลที่อ่อนไหวต่อการเปลี่ยนแปลง ตรงกันข้ามกับการไม่ระวังค่านั้น.

รับข้อมูลการคุกคามจากผู้เชี่ยวชาญ, อย่าพยายามจะวิเคราะห์ทุกอย่างด้วยตัวคุณเอง.

เนี่อาจจะเป็นการค้นรายการข้อมูลแบบง่าย ๆ จาก CERT ที่เกี่ยวกับเทคโนโลยีที่คุณใช้,
อาจเป็น Cisco IOS สำหรับ Pix ของคุณ หรือแค่ OpenWRT.

และมากกเกินกว่าที่คุณจะต้องการจะเชื่อ, โดยมากแล้ว
ยังคงมี 8% ของยังสามารถการบุกรุกผู้เชืยวชาญความปลอดภัยคอมพิวเตอร์ได้,
หลังจากคุณปรับลดความเสี่ยงที่เกิดขึ้นทั้งหมดแล้ว, ก็ยังคงเข้าสู้ระบบคุณได้.
คุณสมบัตินี้เป็นจริงสำหรับการวิเคราะห์ของคุณ.

สนใจว่าอะไรที่จะปกป้องได้และอะไรที่เพิ่งถูกเปิดเผย.

ตัวอย่างเช่น, คุณอาจตระหนักว่า หลังจากที่เล่นกับ BackTrack3 SMB4K
และเวลานี้ SAMBA ของคุณได้อนุญาตการแบ่งปันไฟล์ไร้สายไปยัง Windows เพื่อนบ้าน
และข้อมูลส่วนตวของคุณ รวมถึงรูปส่วนตัว มีอยู่กับทุกคน. เพียงแค่ปิดมันซะ.
การหวาดระแวงในความปลอดภัย เป็นตัวเลือกหนึ่ง แต่ไม่แนะนำเป็นอย่างยิ่ง.

สังเกต, ค้นหา และ เสนอมาตรการการต่อต้าน
เป็นรูปแบบในแผนการปฏิบัติกับเหตุการณ์สำคัญ
ที่จะทำให้ความอ่อนแอลดน้อยลง
ในสภาวะการทำงานจริง, แผนนี้ควรที่จะถูกส่งต่อในการสร้างการตัดสินใจโดยย่อให้สมบูรณ์,
กับทีมผู้ใช้ที่คิดต่อกัน และคนอื่น ๆ เป็นเสาหลักในอัพไทม์.

ผสมผสาน OPSEC เข้ากับการวางแผนและกระบวนการตัดสินใจตั้งแต่การเริ่มต้น.
การรอคอยจนกระทั่งนาทีสุดท้ายก่อนที่จะพูดถึงผลิตภัณฑ์ไปยังตลาด (หรือจากตลาด)
เพื่อที่จะควบคุมการประเมินค่าอาจจะช้าเกินไปและสิ้นเปลือง.

"อะไรคือแผนก QA?" คุณอาจจะถาม. "เราคือแผนก QA และเราไม่มีเวลาที่จะสแกน?"
มันง่ายที่จะใช้ Wikto/Nikto หรือใช้การสแกนเพื่อต่อต้านโปรแกรมของคุณ.

หาที่ดี ๆ อื่น ๆ ให้กับ php/Mysql CMS หรือ ที่ว่างแบ่งอื่น ๆ? ใช้ SVN?
คุณอาจเพิ่งจะเปิดท่อที่เข้ารหัสที่ดีอันนึงโดยตรงไปยังระบบของคุณ.
ถ้าคุณไม่ทดสอบมัน, คุณจะไม่รู้! คุณเคยทดสอบรุ่นของ SugarCRM ก่อนทำการ build หรือไม่?
คุณมองไปยังพฤติกรรมการบุกรุกที่รู้จักของเครื่องมือแบบเปิดรหัสก่อนรับมมาหรือไม่?

ประเมินค่าปกติเพื่อแน่ใจการป้องกันที่ดีของคุณ.

เหมือนการกู้ภัยจากภัยพิบัติ, การประเมินค่าระบบ OPSEC ได้สร้างมาจากแบบนั้น.
ข้อมูลที่เปิดเผยจะถูกเก็บไว้เป็นแหล่งที่มา; การประเมินผลแยยมีกำหนดการเปนประจำอย่างต่อเนื่อง
เป็นเหตุการณ์กลุ่มที่ทำงานพร้อมกัน.

ความปลอดภัยของระบบไม่ใช้ความลับ; OPSEC เตือนเราว่า ระบบทั้งหมดเพียงแต่ป่วย เช่นเดียวกับความลับของพวกเขา.

Talkback:
พูดคุยเรื่องบทความนี้กับ The Answer Gang [52]


[BIO]

Lisa Kachold เป็นผู้ดูแลระบบ/ความปลอดภัยบนลินุกซ์, ผู้ดูแลเว็บ,
inactive CCNA, และผู้เขียนโปรแกรม และกว่า 20 ปีกับประสบการณ์ในการใช้งานจริงกับลินุกซ์.
Lisa ผ่านการเป็นครูจาก FreeGeek.org, นักนำเสนอที่
DesertCodeCamp, ผู้ใช้ Wikipedia and สมาชิก LinuxChix.
เธอจัดการและประชาสัมพันธ์การศึกษาความปลอดภัยบนลินุกซ์ ไปยัง Phoenix Linux Users
Group HackFEST Series labs, ใช้สองเสาร์ของทุก ๆ เดือนที่ The
Foundation for Blind Children in Phoenix, Arizona. Obnosis.com, a play
on a words coined by LRHubbard, ลงทะเบียนใน in the 1990's, เป็น "word
hack" จาก the Church of Scientology, หลังจาก 6 ปีของผู้ดูแลข่าว UseNet.
ความภูมิใจที่สุดของคือคือการที่ได้นั้งกับ Linux Torvald's
ระหว่างการสัมภาษณ์ที่ OSDL.org ใน Oregon ในปี 2002.


สงวนลิขสิทธิ์ ปี 2009, Lisa Kachold. ออกวางภายใต้สัญญาอนุญาต Open Publication license [2] เว้นแต่บันทึกภายในบทความบอกเป็นอย่างอื่น. Linux Gazette ไม่ได้ถูกสร้างขึ้น, ได้รับการสนับสนุน, หรือได้รับการรับรอง จากผู้ให้ใช้โฮสต์, SSC, Inc.

ตีพิมพ์ในเล่มที่ 164 ของ of Linux Gazette, กรกฎาคม 2009

  • อ่าน 4516 ครั้ง

อัดฉีดประสิทธิภาพ Apache ให้แรงด้วยการใช้ Reverse Proxies - ฉบับที่ 132 พฤศจิกายน 2006

  • อ่าน 9476 ครั้ง

อัดฉีดประสิทธิภาพ Apache ให้แรงด้วยการใช้ Reverse Proxies

โดย René Pfeiffer และ pooz

กาลครั้งหนึ่งแต่ไม่นานซักเท่าไหร่, เมื่อครั้งเว็บเซิรฟเวอร์ผู้เดียวดายยังคงเศร้าหมอง. เว็บบราวเซอร์สุดคณานับ ต่างมุ่งโอบล้อมพอร์ตของมัน แบนด์วิทกำลังอ่อนล้า; ส่วนประมวลผลกลางต่างกำลังวุ่น; ฐานข้อมูลก็กำลังครวญคราง. หัวหน้าฝ่ายสารสนเทศได้เข้าพบ Pooz กับผม, ถามถึงการแก้ไข. ปรับปรุงทั้งฮาร์ดแวร์ หรือแม้แต่การเชื่อมต่อเครือข่ายอินเตอร์เน็ตก็ไม่ใช่ทางเลือก, ดังนั้นเราจึงลองหาทางว่าอะไรที่เราควรทำ - ทำแคชการช่วยชีวิต!

แคชอยู่ทุกหนแห่งที่คุณไป

คอมพิวเตอร์ทุกเครื่องต่างอยู่บนการแคช. ส่วนประมวลผลกลางของคุณก็หนึ่งล่ะ, ดิสก์ไดร์ฟของคุณ, ระบบปฏิบัติการของคุณ, การ์ดจอของคุณ, หรือแม้กระทั่งเว็บบราวเซอร์ของคุณด้วย. แคชถูกออกแบบมาเพื่อเก็บรักษาสำเนาของข้อมูลที่มีการเข้าถึงบ่อย ๆ. แคชของส่วนประมวลผลกลาง สามารถเก็บรักษาทั้งคำสั่งและข้อมูลได้. แทนที่จะเข้าถึงข้อมูลจากหน่วยความจำของระบบ เพื่ออ่านคำสั่งต่อไปหรือชิ้นส่วนของข้อมูล, มันจำทำการอ่านจากแคชแทน. เว็บบราวเซอร์ก็เป็นอีกตัวหนึ่งที่น่าสนใจมาก ในการแคชไฟล์อย่างรูปภาพ สไตล์ชีท, เอกสาร, และสิ่งอื่นที่ใกล้เคียง. ซึ่งจะช่วยให้การท่องเว็บรวดเร็วขึ้น. เนื่องจากรูปแบบขององค์ประกอบในหน้าเว็บต่างก็คล้าย ๆ กัน. แทนที่จะดาวน์โหลดรูปภาพหรือไฟล์เดิมซ้ำอีกรอบ มันจะใช้ข้อมูลที่พบในแคช ซึ่งเป็นจริงอย่างยิ่ง ถ้าคุณดูหน้าที่สร้างขึ้น จากระบบจัดการเนื้อหา (CMS). ตอนนี้, ถ้าเราสามารถหาทางบอกกับเว็บบราวเซอร์ว่า สำเนาที่แคชนั้นถูกต้อง, ดังนั้น เราจะสามารถประหยัดแบนด์วิทของเว็บเซิร์ฟเวอร์ได้. ในกรณี CMS ของเรา, ซึ่งใช้ Typo3, เราสามารถประหยัดทั้งเวลาทำงานของ CPU และการเข้าถึงข้อมูล, เพียงแต่เราสามารถส่งเวลาหมดอายุของ HTML ที่ถูกสร้างขึ้นได้อย่างถูกต้อง. คุณสามารถเพิ่มแคชระหว่างเว็บบราวเซอร์และเครื่องแม่ข่ายของคุณ, เพื่อลดการร้องขอจากเครื่องแม่ข่ายในครั้งต่อไป ซึ่งแคชนี้เรียกว่า reverse proxy, บางครั้งเรียก gateway หรือ surrogate cache. พร็อกซี่ดั้งเดิมทำงานเพื่อลูกข่าย, แต่ reverse proxy ทำงานเพื่อเครื่องแม่ข่ายแทน. พร็อกซี่นี้ก็มีฮาร์ดดิชและหน่วยความจำแคชเช่นเดียวกัน, ซึ่งสามารถถูกใช้เพื่อเก็บข้อมูลเนื้อหาคงที่จากเครื่องแม่ข่าย Apache. ภาพข้างล่างนี้ แสดงให้เห็นว่า แคชอยู่ที่ไหน และกำลังทำอะไรอยู่.

ลักษณะการแคชทั่วไปที่ใช้ในเว็บเซิร์ฟเวอร์

เส้นสีเขียวที่เขียนว่า cache hits. เอกสารที่แคชร้องขอถูกต้อง (นั่นคือ ยังไม่หมดอายุ) ซึ่งถูกพบในแคช และสามารถคัดลอกได้จากที่นี่. การร้องขอต่าง ๆ ส่วนมากจะไม่ต้องเข้าถึงเครื่องเว็บแม่ข่าย. มีเพียงเครื่องลูกข่ายบางเครื่องอาจจะถามกับเครื่องแม่ข่าย ถ้าเนื้อหาได้ถูกเปลี่ยนแปลง แต่คำถามสั้น ๆ นี้ ก็ไม่ได้สร้างการจราจรที่มากมายนัก. เว็บเซิรฟ์เวอร์อาจจะตอบด้วย ส่วนหัว "HTTP/1.x 304 Not Modified" และไม่ต้องใส่ข้อมูลตาม. เส้นแดงที่เขียนว่า Cache Miss (cache misses). เกิดเมื่อการที่ไม่พบแคชเกิดขึ้น เมื่อแคชไม่พบเป้าหมายที่ถูกร้องขอ จะทำการร้องขอจากเครื่องแม่ข่ายที่ถูกต้อง จากนั้นจำสำเนาเข้าสู่ดิสก์หรือหน่วยความจำ เพื่อให้บริการกับเครื่องลูกข่ายต่อไป. เมื่อใดก็ตามที่การร้องขอถูกส่งออกไปยังแคช สำเนานี้จะถูกใช้ไปจนกว่ายังถูกต้องอยู่.

ส่วนหัวที่ควบคุมแคช

แคชรู้ได้อย่างไรว่า เมื่อใดควรใช้สำเนาที่เครื่อง หรือเมื่อใดควรร้องขอต่อเครื่องแม่ข่าย อืม, มันก็แล้วแต่. แคชของเว็บบราวเซอร์จะดูข้อความจากเครื่องเว็บแม่ข่าย. เครื่องแม่ข่ายอาจจะใช้ส่วนหัว ที่ควบคุมแคชในการบอกกล่าว. มาดูตัวอย่างกัน. การร้องขอ "GET http://www.luchs.at/linuxgazette/index.html [53] HTTP/1.1" จะได้ข้อมูลส่วนหัว HTTP ที่มีหน้าตาแบบนี้.

HTTP/1.x 200 OK
Date: Tue, 03 Oct 2006 10:24:35 GMT
Server: Apache
Last-Modified: Mon, 02 Oct 2006 02:04:36 GMT
Etag: "e324ac5-6d7d5500"
Accept-Ranges: bytes
Cache-Control: max-age=142800
Expires: Thu, 05 Oct 2006 02:04:36 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 3028
Content-Type: text/html; charset=ISO-8859-1
X-Cache: MISS from bazaar.office.lan
X-Cache-Lookup: MISS from bazaar.office.lan:3128
Via: 1.0 bazaar.office.lan:3128 (squid/2.6.STABLE1)
Proxy-Connection: keep-alive

เครื่องแม่ข่ายจะให้เอกสาร HTML กับคุณ. ซึ่งส่วนหัวของ HTTP จะประกอบด้วยส่วนข้างล่างนี้ :

  • Last-Modified: บ่งบอกว่าเนื้อหาถูกแก้ไขล่าสุดเมื่อใด.
  • Cache-Control: บอกว่าทุก ๆ แคชระหว่างเครื่องแม่ข่ายและเว็บบราวเซอร์ จะถูกทำการแคชเป็นเวลา 142800 วินาที.
  • Expires: บอกกับทุกแคชถึงวันเวลาที่แน่นอนที่แคชหมดอายุ.

Cache-Control: จะดีกว่า Expires:,เนื่องจากอย่างหลังเครื่องจำเป็นต้องปรับเวลาให้สอดคล้องกับต้นฉบับ Cache-Control: จะใช้ได้ทั่วไปกว่า เพียงแต่ใช้ได้เฉพาะ HTTP1.1 เท่านั้น. มีข้อมูลบางอย่างที่ถูกรวมเข้าไปโดยที่ไม่ได้ถูกส่งจากเครื่อง Apache. คือส่วนหัว HTTP สี่ส่วนท้ายสุด ถูกใส่เข้าไปโดย Squid proxy ในที่ทำงานของเรา. ซึ่งบอกว่าแคชไม่พบสิ่งที่เราค้นหา.

การปรับแต่งแคชด้านเครื่องแม่ข่าย

เอาล่ะมาดูเครื่องแม่ข่ายของเรา, แล้วมาดูว่าเราจะปรับแต่งอะไรกันบ้าง.

mod_expires ของ Apache

ถึงแม้ว่า Cache-Control: จะดีกว่า, เราเริ่มจากการหาทางสร้างส่วนหัว Expires: สำหรับเนื้อหา. โปรแกรมเว็บแม่ข่าย Apache มีโมดูลที่ทำหน้าที่นี้อยู่แล้วเรียกว่า mod_expires. ซึ่งดิสทริบิวชั่นส่วนใหญ่จะรวมไว้ใน Apache อยู่แล้ว. คุณสามารถคอมไพล์มันเป็นโมดูลและใส่มันเข้าไปหลังจากติดตั้ง Apache แล้ว. อีกทางหนึ่ง, คุณสามารถที่จะสร้างส่วนหัว Expires: , ทั้งในไฟล์ปรับแต่งหลักหรือแต่ละโฮสต์เสมือนก็ได้. ตัวอย่างการติดตั้งจะหน้าคลาคล้าย ๆ อย่างนี้ (สำหรับ Apache 2.0.x):

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/html "modification plus 3 days"
ExpiresByType text/xml "modification plus 3 days"
ExpiresByType image/gif "access plus 4 weeks"
ExpiresByType image/jpg "access plus 4 weeks"
ExpiresByType image/png "access plus 4 weeks"
ExpiresByType video/quicktime "access plus 2 months"
ExpiresByType audio/mpeg "access plus 2 months"
ExpiresByType application/pdf "modification plus 2 months"
ExpiresByType application/ps "modification plus 2 months"
ExpiresByType application/xml "modification plus 2 weeks"
</IfModule>

บรรทัดแรกจะกระตุ้นให้โมดูลทำงาน. ถ้าคุณลืม, mod_expires จะไม่ทำอะไรเลย. บรรทัดที่เหลือจะตั้งค่าเวลาหมดอายุของแต่ละชนิด MIME. mod_expires จะคำนวณและใส่ค่าส่วนหัว Cache-Control: ตามความเหมาะสมโดยอัตโนมัติ, ซึ่งเป็นการดี. คุณสามารถใช้ "modification plus ..." หรือ "access plus ...". "modification" ให้ทำงานเพียงไฟล์ที่ Apache อ่านจากดิสก์. ซึ่งหมายความว่า คุณสามารถใช้ "access" ถ้าคุณต้องการตั้งค่าหมดอายุส่วนหัวแบบอัตโนมัติ สำหรับการสร้างเนื้อหา แบบเปลี่ยนแปลงตลอดเวลา ได้อย่างง่ายดาย. โปรดระวัง!! ถึงแม้ว่าสคริป CGI ต่างต้องการที่จะตั้งค่า วันหมดอายุด้วยตนเอง ในการการันตีการโหลดซ้ำทันที - ผู้พัฒนาบางคนก็ไม่สนใจ. mod_expires จะทำงานอย่างยอดแย่ในการสร้าง CGIs - แบบไม่น่าดูเลย. แต่ก่อน, ผมเสียเวลาเป็นชั่วโมง ๆ ในการขุดค้นโค้ดที่ยอดแย่ เพื่อหาว่าทำไมสคริปเข้าระบบถึงใช้การไม่ได้สักที. แต่เป็นเพราะผู้พัฒนาลืมที่จะตั้งค่าการหมดอายุอย่างถูกต้อง, ดังนั้นผมจึงปรับการตั้งค่าสำหรับ Virtual Host นี้เพื่อให้สามารถใช้งานได้. โดยเฉพาะยิ่ง, ต้องแน่ใจว่าตั้งค่าวันเวลาหมดอายุให้ถูกต้อง. ค่าข้างบนเป็นตัวอย่าง. ซึ่งคุณอาจจะต้องการค่าที่ต่างออกไป, ขึ้นกับว่าเนื้อหาของคุณเปลี่ยนแปลงบ่อยเพียงใด.

Squid Reverse Proxy

Squid proxy มี directives สำหรับการตั้งค่าเป็นตัน. ถ้าคุณไม่มีประสบการณ์เกี่ยวกับ Squid, มันอาจจำยากอย่างมากในตอนแรกสำหรับคุณ. เพราะฉะนั้น , ผมจะแสดงให้เห็นถึงไฟล์การตั้งค่าบางส่วนเท่านั้น, ซึ่งแสดงถึงสิ่งที่ผมกำลังจะทำ. ประสิทธิภาพของมีประโยชน์มากทั้งสองด้าน. ผมจะสมมติว่าแราได้ติดตั้ง Squid proxy 2.6.x จากต้นฉบับไว้ที่ /usr/local/squid/.

reverse proxy สมมติถึงที่อยู่ของเว็บเซิร์ฟเวอร์จริง ๆ. มันมีไว้สำหรับขวางกั้นทุก ๆ การร้องขอ, แล้วทำการเปรียบเทียบกับแคชที่มีอยู่. สมมติว่าเรามีเครื่องอยู่สองเครื่อง:

  • stingray.example.net serving http://www.example.net/ [54] (172.16.23.42)
  • squid.example.net (172.16.23.43)

เครื่องท้องถิ่น /usr/local/squid/etc/squid.conf กำหนด Squid ของเราว่าควรจะทำอะไร. เราเริ่มจาก IP addresses, และบอกให้มันรอฟังการเชื่อมต่อเข้ามาจากพอร์ต 80.

http_port       172.16.23.43:80 vhost vport
http_port 127.0.0.1:80
icp_port 0
cache_peer 172.16.23.42 parent 80 0 originserver default

ICP หมายถึง Internet Cache Protocol. เราไม่จำเป็นต้องใช้มัน, และปิดการใช้งานโดยตั้งเป็นพอร์ต 0. cache_peer บอกถึง reverse proxy ของเรา เพื่อส่งต่อทุก ๆ การร้องขอที่ไม่สามารถจัดการได้ของเครื่องเว็บแม่ข่ายของเรา. จากนั้น, เราได้กำหนดกฎการเข้าถึง. โดยคำนึงถึงลักษณะสถานะการณ์ของ พร็อกซี่เครื่องลูกข่าย, reverse proxy สำหรับเครื่องเว็บแม่ข่ายสาธารณะในการตอบการร้องขอของทุกคน. ระวัง: นี่เป็นเหตุผลว่าทำไมไม่รวม forward และ reverse proxies ด้วยกัน, หรือคุณจะหยุดการทำงานของพร็อกซี่ที่เปิดอยู่ ซึ่งเป็นสิ่งที่ไม่ดีเลย.

acl         all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl accel_hosts dst 172.16.23.42 172.16.23.43
http_access allow accel_hosts
http_access allow manager localhost
http_access deny manager
http_access deny all
deny_info http://www.example.net/ all

บรรทัด acl กำหนดกลุ่ม. accel_hosts คือเครื่องแม่ข่ายของเราสองเครื่อง. http_access allow accel_hosts อนุญาตให้ทุก ๆ คนสามารถเข้าถึงเครื่องแม่ข่ายนี้ได้. บรรทัดอื่น ๆ เป็นค่ามาตรฐานของการตั้งค่า Squid, และหยุดการทำงานของตัวจัดการ URL. เราไม่จำเป็นต้องใช้ในตอนนี้. บรรทัดสุดท้ายเป็นเครื่องป้องกันสำหรับหน้าแสดงข้อผิดพลาดไม่พึงประสงค์. (Squid มีชุดของมันเอง: ซึ่งต่างจากหน้าแสดงข้อผิดพลาดของ Apache.) ผู้ใช้ต่าง ๆ ถูกส่งเข้าสู่หน้าแรกในกรณีที่มีปัญหาในการร้องขอ. คุณสามารถเห็น squid.conf ตัวเต็ม [55] แบบแยกออกจากกัน, เพราะการหยุด "เพียงแค่" จัดการกับการติดตั้งแคชและปรับให้เข้ากัน. (พิจารณา: ไฟล์การปรับแต่งนำมาจากเครื่องแรม 2 GB และดิสก์จำนวนมาก. บางทีคุณอาจจะต้องการลดขนาดของแคชลง.) อย่างที่ผมพูด, Squid สามารถทำสิ่งที่ยอดเยี่ยม. ตราบเท่าที่ Squid เปิดและทำงาน, เราพร้อมที่จะส่งผู้ใช้งานสู่ reverse proxy แล้ว.

ข้อมูลสถิติ

คุณจะต้องระมัดระวัง, ถ้าคุณจะดูในเรื่องความแม่นยำของสถิติที่ได้จากล็อกของ Apache. การจัดการการร้องขอ HTTP จะถูกกรองโดย Squid reverse proxy. นั่นแสดงว่าเครื่องแม่ข่าย Apache จะเห็นการร้องขอที่น้อยลง, และหมายเลข IP จะมาจากเครื่องแม่ข่ายที่เป็นพร็อกซี่. ซึ่งเป็นแนวคิดของการติดตั้ง. คุณสามารถรวบรวมล็อกที่คล้ายกับ Apache บน Squid, ถ้าคุณปรับเปลี่ยนรูปแบบ.

logformat       combined %{Host}>h %>a %ui %un [%tl] "%rm %ru  HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh
logformat vcombined %{Host}>h %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h"
access_log /var/log/squid/access.log combined
access_log /var/log/squid/vaccess.log vcombined

ในการรวบรวมสู่การวิเคราะห์ไฟล์ล็อก, คุณจะต้องทำสำเนาล็อกบน reverse proxy แล้วรวมเข้ากับล็อกของ Apache. ตราบเท่าที่เว็บยังใช้งานพร็อกซี่ หรือยังทำการใช้เทคนิคสมดุลการทำงาน การบำรุงรักษาความแม่นยำของข้อมูลสถิติจะทำให้ค่อนข้างยุ่งยาก.

กระตุ้นการทำงานของแคช

หลังจากที่คุณทำการปรับแต่งการทำงานของ Apache และ Squid, คุณพร้อมที่จะทดสอบทุกอย่างแล้ว. เริ่มจากโฮสต์เสมือนที่วัตถุประสงค์ใช้ในการทดสอบ. เปลี่ยนข้อมูล DNS เพื่อชี้ไปยังเครื่อง reverse proxy. ตรวจสอบล็อก. ลองเล่นดู. วิเคราะห์ส่วนหัว. เมื่อคุณมั่นใจแล้ว, เปลี่ยนข้อมูล DNS อื่น ๆ. บันทึกสำหรับการวิเคราะห์ปัญหา: คุณสามารถบังคับการโหลดใหม่ "จริง ๆ" ใน Internet Explorer และ Mozilla Firefox ถ้าคุณกดปุ่ม Shift ค้างไว้แล้วกดปุ่ม Reload "Reload". เนื่องจากการโหลดแบบปกติจะได้รับแคชจากสำเนาในเครื่องแล้วตอนนี้.

คุณอาจจะไม่ประทับใจสำหรับอะไรที่เปลี่ยนแปลง, ให้ดูที่ล็อก. ผมแนะนำให้ทำการเฝ้าดูระบบจากข้อมูลสถิติ, ซึ่งอาจใช้ Munin เป็นต้น, แล้วคุณจะเห็นอย่างชัดเจนว่าเครื่องแม่ข่ายคุณทำอะไรอยู่. ผมมีกราฟอยู่สองภาพจากเครื่องแม่ข่ายทดสอบ, ได้ระหว่างการทำโหลดทดลอง.

Graph showing requests per day for the Squid proxy Graph showing requests per day for the Apache server

กราฟแรก, สีแดงแสดงให้เห็นแคชที่ไม่พบ; สีเขียวแสดงแคชที่พบ. ภาพข้างล่าง, คุณสามารถเห็นการค้นพบบนเครือ่งแม่ข่าย Apache ภายหลัง reverse proxy. รูปร่างมีลักษณะคล้าย ๆ กัน, แต่อย่าลืมว่าการร้องขอที่เป็นสีเขียวใน Squid server จะไม่เข้าถึงยัง Apache, และทำให้ช่วยลดภาระงานที่เกิดขึ้น. ถ้าคุณเปรียบเทียบผลที่ได้, คุณจะเห็นเพียง 1 ใน 2 ของการร้องขอที่ถูกส่งไปยังเครื่องแม่ข่าย Apache .

Summary

ตอนนี้, คุณรู้แล้วว่าคุณสามารถบรรลุผล จากการใช้ทรัพยากรของ Apache และ Squid. เครื่องแม่ข่ายเว็บของเราจัดการโดยใช้การจราจรที่ดีขึ้น, ภาระงานของ CPU ลดลงถึง 50%, และผู้ใช้งานทุกคนเว็บต่างมีความสุขอีกครั้ง . คุณอาจจะต้องทำอะไรมากกว่านี้, ถ้าคุณใช้การเชื่อมต่ออินเตอร์เน็ตหลายทาง และทำการสมดุลภาระงานบนไฟว์วอลล์หรือเราเตอร์ของคุณ. โชคดี, ที่เราไม่จำเป็นต้องทำมันในกรณีนี้.

ลิงค์ที่เป็นประโยชน์

ไม่มีสัตว์หรือซอฟท์แวร์ที่ทำอันตราย เมื่อขณะที่ใช้เตรียมบทความนี้. บางทีคุณอาจจะหวังที่จะติดตามเครื่องมือและบทความต่าง ๆ. ซึ่งอาจจะช่วยรักษาเว็บเซิร์ฟเวอร์ของคุณได้.

  • Apache's mod_expires [56]
  • เอกสารการสอนเรื่องแคชสำหรับเว็บมาสเตอร์ [57]
  • LiveHTTPHeaders [58] - ส่วนเพิ่มเติมของ Firefox สำหรับดูส่วนหัวของ HTTP
  • Munin Project [59] - โปรแกรมเฝ้าดูเครื่องแม่ข่ายน้ำหนักเบา
  • Squid Proxy [60]
  • คู่มือ Squid proxy 2.6/3.0 [61]

อภิปรายปัญหา: อภิปรายบทความนี้กับ The Answer Gang [62]

René Pfeiffer


Bio picture

René เกิดในปีของการค้นพบ Atari และ ออกวางเกม Pong. เมื่อเริ่มเป็นหนุ่มเขาเริ่มที่จะแยกชื้นส่วนสิ่งต่าง ๆ เพื่อให้เห็นว่าเขาทำมันได้อย่างไร. เขาไม่สามารถที่จะผ่านสถานที่ก่อสร้างได้ โดยไม่มองสายไฟฟ้า ที่ดูท่าทางน่าสนใจ. ความสนใจเกี่ยวกับคอมพิวเตอร์เริ่มขึ้น เมื่อคุณตาของเขาซื้อไมโครคอนโทรลเลอร์ ขนาด 4 บิต ด้วยหน่วยความจะ 256 ไบต์ และระบบปฏิบัติการ 4096 ไบต์ ส่งผลให้เขาเรียนรู้ภาษาแอสเซมเบลีก่อนภาษาอื่น ๆ.

หลังจากเรียนจบชั้นมัธยม เขาก็เข้ามหาวิทยาลัยเพื่อที่จะศึกษาด้วยฟิสิกส์. จากนั้น เข้าก็เริ่มเก็บประสบการณ์กับ C64, C128, Amigas สองแบบ, Ultrix ของ DEC, OpenVMS และ ท้ายสุด GNU/Linux บนเครื่องคอมพิวเตอร์ส่วนบุคคลในปี 1997. เขาเริ่มใช้ Linux จนกระทั่งถึงทุกวันนี้ และเขายังชอบที่จะแยกชิ้นส่วนต่าง ๆ และประกอบมันเข้าเหมือนเดิม. อิสระของช่างซ่อม นำเขาใกล้ชิดกับการปรับเปลี่ยนของ Free Software, ที่ซึ่งเขาได้ใส่ความมุมานะในการทำสิ่งที่ถูก. เพื่อเข้าใจว่าสิ่งต่าง ๆ ทำงานได้อย่างไร. เขายังได้เข้าร่วมกลุ่มสิทธิส่วนบุคคลเกี่ยวกับสิขสิทธิ์ดิจิตอลอีกด้วย.

กระทั่งปี 1999 เขาได้ทำการเสนอความสามารถในลักษณะผู้ประกอบการอิสระ. กิจกรรมหลักของเขา รวมถึงการเป็นผู้ดูแลระบบ/เครือข่าย, การเขียนต้นร่างและการให้คำปรึกษา. ในปี 2001 เขาเริ่มที่จะบรรยายเกี่ยวกับความปลอดภัยของระบบคอมพิวเตอร์ที่ Technikum Wien. ซึ่งแยกจากกันกับ การเริ่มต้นที่จะตรวจดูระบบคอมพิวเตอร์, ตรวจสอบฮาร์ดแว์อย่างละเอียดและการพูดคุยเกี่ยวกับอุปกรณ์ด้านเครือข่าย เขารักในการดำน้ำ, งานเขียน, หรือการถ่ายรูปด้วยกล้องดิจิตอลของเขา. เขาอยากที่จะมีเรื่องเล่าและบทบาทอีก ตราบเท่าที่เค้าหาเวลาว่างได้ บนเครื่องบันทึกข้อมูลสำรองของเขา.

 


pooz


Bio picture

pooz เป็นผู้ดูแลระบบ/นักแก้ไขปรับปรุงโปรแกรมเว็บ ทำงานที่กรุงเวียนนา ประเทศออสเตรีย. ซอฟท์แวร์ Free/Open Source ได้เป็นตัวเลือกของเครื่องมือในการพัฒนาของเขาตั้งแต่ช่วงปี 90.


สงวนลิขสิทธิ์ ปี 2006, René Pfeiffer and pooz. ออกวางภายใต้สัญญาอนุญาต Open Publication license [2] เว้นแต่บันทึกภายในบทความบอกเป็นอย่างอื่น. Linux Gazette ไม่ได้ถูกสร้างขึ้น, ได้รับการสนับสนุน, หรือได้รับการรับรอง จากผู้ให้ใช้โฮสต์, SSC, Inc.

ตีพิมพ์ในเล่มที่ 132 ของ Linux Gazette, พฤศจิกายน ปี 2006

Tux

SiteTags: 
Linux Gazette [4]
Reverse Proxy [63]
Apache [64]

Source URL (modified on 2012-09-04 07:15): https://sake.in.th/node/5

Links
[1] http://linuxgazette.net/
[2] http://linuxgazette.net/copying.html
[3] https://sake.in.th/tags/sitetags/activity
[4] https://sake.in.th/category/sitetags/linux-gazette
[5] http://linuxgazette.net/authors/kachold.html
[6] http://sake.in.th
[7] http://ostatic.com/facter-ruby
[8] http://rubygems.org/read/book/2
[9] http://reductivelabs.com/trac/puppet/wiki/InstallationGuide#InstallPuppet
[10] http://reductivelabs.com/trac/puppet/wiki/Recipes/OpenNTPD
[11] http://reductivelabs.com/trac/puppet/wiki/Recipes/FilePermissionCheck
[12] http://reductivelabs.com/trac/puppet/wiki/Recipes/Sudo
[13] http://reductivelabs.com/trac/puppet/wiki/Recipes/CentralizedSudoers
[14] http://reductivelabs.com/trac/puppet/wiki/Recipes/AptKeys
[15] http://reductivelabs.com/trac/puppet/wiki/Recipes/ModuleIptables
[16] http://reductivelabs.com/trac/puppet/wiki/Recipes/AqueosShorewall
[17] http://reductivelabs.com/trac/puppet/wiki/Recipes/sshdconfigTemplate
[18] http://reductivelabs.com/trac/puppet/wiki/Recipes/Nagios
[19] http://reductivelabs.com/trac/puppet/wiki/Recipes/Authorized_keys
[20] http://reductivelabs.com/trac/puppet/wiki/Recipes/ClamAV
[21] http://reductivelabs.com/trac/puppet/wiki/Recipes/UserAndHomedirRecipe
[22] http://reductivelabs.com/trac/puppet/wiki/Recipes/PasswordManagement
[23] http://reductivelabs.com/trac/puppet/wiki/Recipes/FirmwarePassword
[24] http://reductivelabs.com/trac/puppet/wiki/Recipes/YumServerBuild
[25] http://reductivelabs.com/trac/puppet/wiki/Recipes/ResolvConf
[26] http://reductivelabs.com/trac/puppet/wiki/Recipes/Solaris_cde-login
[27] http://reductivelabs.com/trac/puppet/wiki/Recipes/ZabbixAgent
[28] http://reductivelabs.com/trac/puppet/wiki/SimplestPuppetInstallRecipe
[29] http://reductivelabs.com/trac/puppet/wiki/Recipes/SimpleText
[30] http://plug.phoenix.az.us/node/659
[31] http://plug.obnosis.com/
[32] mailto:tag@lists.linuxgazette.net?subject=Talkback:165/kachold.html
[33] http://linuxgazette.net/authors/silva.html
[34] http://www.w3.org/Protocols/rfc2616/rfc2616.html
[35] http://httpd.apache.org/
[36] http://en.wikipedia.org/wiki/Regular_expression
[37] http://www.yourcompany.com/ask_me_how/
[38] http://www.yourcompany.com/ask-me-how/
[39] http://www.yourcompany.com
[40] http://www.yourcompany.net
[41] http://groups.google.com/group/Google_Webmaster_Help/web/faqs-for-crawling-indexing-and-ranking-2?pli=1
[42] http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html
[43] mailto:tag@lists.linuxgazette.net?subject=Talkback:165/silva.html
[44] http://www.ipcop.org/1.4.0/en/admin/html/section-firewall.html
[45] http://www.linuxguruz.com/iptables/howto/
[46] http://www.annoyances.org/exec/show/ics
[47] http://www.packtpub.com/
[48] http://www.packtpub.com/ipcop/book
[49] mailto:tag@lists.linuxgazette.net?subject=Talkback:132/dempster.html
[50] https://sake.in.th/category/sitetags/ipcop
[51] http://en.wikipedia.org/wiki/OSI_model
[52] mailto:tag@lists.linuxgazette.net?subject=Talkback:164/kachold.html
[53] http://www.luchs.at/linuxgazette/index.html
[54] http://www.example.net/
[55] https://sake.in.th/lg/132/misc/pfeiffer/squid.conf.txt
[56] http://httpd.apache.org/docs/2.0/mod/mod_expires.html
[57] http://www.mnot.net/cache_docs/
[58] http://livehttpheaders.mozdev.org/
[59] http://munin.projects.linpro.no/
[60] http://www.squid-cache.org/
[61] http://www.visolve.com/squid/squid30/contents.php
[62] mailto:tag@lists.linuxgazette.net?subject=Talkback:132/pfeiffer.html
[63] https://sake.in.th/category/sitetags/reverse-proxy
[64] https://sake.in.th/category/sitetags/apache