พรบ.คอมพิวเตอร์บังคับให้เก็บ log ไว้อย่างน้อย 90 วัน
ขอเก็บรายละเอียดการทำไว้ก่อน ได้มาจาก แนะนำเก็บ log httpd ของ DirectAdmin Control Panel ให้เก็บได้ 90 วัน แบบง่าย ๆ
ปัญหาเกิดมาจาก script สำหรับตรวจสอบสถานะและแสดงชื่อเพลงที่กำลังเปิดอยู่นั้นกิน CPU time เยอะมาก และ script นั้นยังถูกกำหนดให้ refresh ทุก 30 วินาที เมื่อมีคนเปิดฟังวิทยุพร้อมกับดูสถานะเป็นจำนวนมาก จะทำให้เกิดปัญหากับ CPU load
เลยศึกษา script นั้นดูและเปลี่ยนวิธีการเพื่อไม่ให้เกิด CPU load
แนวทางการทำงานของ script เดิมที่เป็นอยู่
- จะดึงข้อมูลของ Shoutcast จาก host ด้วย fsocket method GET จำนวน 2 ครั้ง คือ ชื่อเพลง กับจำนวนคนฟัง โดยกำหนด timeout ไว้ที่ 6 วินาที
- ตัดข้อความที่ไม่ต้องการออกและแยกแยะเอาข้อความที่ต้องการออกมา
- แสดงผลในหน้าเว็บโดยให้ refresh ทุก ๆ 30 วินาที
ปัญหาที่เกิดขึ้นคือ
- การดึงข้อมูลผ่าน fsocket แต่ละครั้งใช้เวลาพอสมควรเนื่องจาก script อยู่คนละที่กับ Shoutcast server
- เกิด CPU load ในกระบวนการไหนไม่แน่ใจ
- จำนวน request ที่เยอะมากเกิดจาก จำนวนคนฟังหรือหน้าเว็บที่เปิดดูสถานะ x 2 คร้ง/นาที เช่น 150x2=300 ครั้ง/นาที = 5 ครั้ง/วินาที ทำ script ทำงานไม่ทัน
แนวทางใหม่ที่คิดคือ
แทนที่จะให้ทุกคน request แล้วต้องอ่านข้อมูลทุกครั้ง ก็ให้ script ทำงานอัตโนมัติทุก ๆ 30 วินาที ไปดึงข้อมูลจาก Shoutcast แล้วบันทึกเก็บไว้ในไฟล์ แล้วให้ทุกคนอ่านจากไฟล์นี้แทน
ดูตัวอย่าง script ได้จากด้านในนะครับ
หาวิธีแก้ปัญหาเรื่อง owner/group ของไฟล์ที่ upload ด้วย php script ให้เป็นของ ftp user ยังไม่ได้ จากที่ค้นหาดูเจอว่าจะต้องเปลี่ยนไปใช้ php-cgi ซึ่งทำแล้วซับซ้อนพอสมควร และอาจจะมีผลกระทบบางอย่างได้ เลยยังไม่กล้าทำ
วิธีแก้ปัญหาอีกวิธีคือ ให้กำหนดค่า safemode ของ php ให้เป็น off ซึ่งผลกระทบคือทำให้สามารถ include ไฟล์ที่มาจากการ uplaod ได้ ทำให้ความปลอดภัยลดลง แต่ว่าใน PHP6 นั้นจะทำการยกเลิก safemode ซึ่งหมายความว่าอย่างไร มันยังคงปลอดภัยอยู่เหมือนเดิมใช่ไหม? และเท่าที่ดูจากหลาย ๆ host เขาก็กำหนด safemode=off ทำให้ไม่ค่อยมั่นใจว่าควรกำหนดค่า safemode เป็น on หรือ off ถึงจะดี...
ตอนนี้เลยแก้ไขเฉพาะหน้าไปก่อนด้วยการเปลี่ยน owner/group ด้วยคำสัง
<a class="hashtag" href="/tags/cd">#cd</a> /home/(user)/domains <a class="hashtag" href="/tags/find">#find</a> . -user apache -exec chown (user) {} \; <a class="hashtag" href="/tags/find">#find</a> . -group apache -exec chgrp (user) {} \;
ซึ่งเมื่อมีปัญหา ก็ต้อง ssh เข้าไป run script ไม่สะดวกเลย
จนกว่าจะหาทางแก้ไขที่ถาวรได้
dir ที่สามารถ upload file ได้ให้ทำการป้องกันไม่ให้ php perl ทำงานได้ เพราะว่าถ้าเกิดหลุดขึ้นมา จะอันตรายมาก ๆ วิธีการป้องกันก็คือ ไปกำหนดเพิ่ม ใน httpd.conf ดังต่อไปนี้ สมมติว่า /home/webmaster/public_html/webboard/file เป็นส่วนที่ใช้เก็บรูปของบอร์ดเวลา post ขึ้นไป ผมก็จะกำหนดเพิ่มดังนี้
<Directory "/home/webmaster/public_html/webboard/file"> Options Indexes MultiViews -ExecCGI AllowOverride None Order allow,deny Allow from all php_flag engine off </Directory>
เท่านี้ก็ปลอดภัยอีกระดับนึงครับ ถ้าเกิด script เราหลุด hacker สามารถ upload file ขึ้นไปได้ แต่เค้าก็จะไม่สามารถสั่งให้ทำงานได้ครับ ..
DNS สำหรับใช้กรณีฉุกเฉิน
Google : Google public dns server IP address:
- 8.8.8.8
- 8.8.4.4
CAT
- 202.47.249.4
- 61.19.245.245
- 61.19.254.134
- 202.129.27.133 , 202.129.27.134 , 202.129.27.135
- 61.19.245.245 , 61.19.245.246
- 61.19.253.134 , 61.19.253.136
- 61.19.254.134 , 61.19.254.135
- 61.19.255.134 , 61.19.255.135
- 61.19.042.170
OpenDNS
- Primary DNS Server 208.67.222.222
- Secondary DNS Server 208.67.220.220
TT&T
- Primary DNS Server 203.130.159.20
- Secondary DNS Server (203.130.159.21)
True
- Primary DNS Server 203.144.207.29
- Secondary DNS Server ( 203.144.207.49 )
CAT Hinet
- Primary DNS Server 202.129.27.135
- Secondary DNS Server ( 202.129.27.134 )
Dnsadvantage : Dnsadvantage free dns server list:
- 156.154.70.1
- 156.154.71.1
Norton : Norton free dns server list / IP address:
- 198.153.192.1
- 198.153.194.1
GTEI DNS (now Verizon) : Public Name server IP address:
- 4.2.2.1
- 4.2.2.2
- 4.2.2.3
- 4.2.2.4
- 4.2.2.5
- 4.2.2.6
ScrubIt : Public dns server address:
- 67.138.54.100
207.225.209.66
211.100.47.160 China, Beijing 9.3.6-P1-RedHat-9.3.6-25.P1.el5_11.2 2 minutes ago Valid valid 80 % Whois
- 112.163.148.197 Korea, Republic of dnsmasq-2.33 2 minutes ago Valid valid 93 % Whois
- 190.85.23.66 Colombia 2 minutes ago Valid valid 63 % Whois
- 201.33.201.1 Brazil 2 minutes ago Valid valid 97 % Whois
- 31.132.143.149 31-132-143-149.bks-tv.ru. Russian Federation, Bryansk 2 minutes ago Valid valid 95 % Whois
- 195.46.162.14 static-a14.Cherepovets.golden.ru. Russian Federation 2 minutes ago Valid valid 97 % Whois
- 85.132.1.20 rns2.az-ix.net. Azerbaijan 9.3.6-P1-RedHat-9.3.6-16.P1.el5 2 minutes ago Valid valid 93 % Whois
- 186.4.113.5 Argentina, Marcos Paz dnsmasq-2.40 2 minutes ago Valid valid 86 % Whois
- 178.238.222.229 e-securitas.hu. Hungary 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6 2 minutes ago Valid valid 97 % Whois
- 213.234.17.74 Russian Federation, Volgograd 2 minutes ago Valid valid 97 % Whois
- 88.208.237.213 acorn-square.co.uk. United Kingdom, Gloucester Microsoft DNS 6.0.6001 (17714726) 2 minutes ago Valid valid 97 % Whois
- 185.28.140.154 Spain, Sant Francesc de Formentera 2 minutes ago Valid valid 95 % Whois
- 194.90.121.121 Israel dnsmasq-2.15-OpenDNS-1 2 minutes ago Valid valid 97 % Whois
- 210.91.220.9 Korea, Republic of dnsmasq-2.38 2 minutes ago Valid valid 95 % Whois
- 162.250.122.221 United States, Secaucus Microsoft DNS 6.1.7601 (1DB14556) 2 minutes ago Valid valid 92 % Whois
ที่มา Free Fast Public DNS Servers List
ก็เคยได้ข่าวมาบ้างแล้ว แต่ดูท่าทางว่าจะเข้ามาเมืองไทยหรือเปล่า? หรือเข้ามาแล้วจะราคาเท่าไหน่กันแน่นะ?
นี่คือสเป็ค
ราคารถใหม่ โตโยต้า ยาโก้ TOYOTA AYGO (ไอ-โกะ) ราคา 290,000 บาท
Apache 2.2.11 to 2.2.13 update is available. Dovecot 1.1.16 to 1.2.3 update is available.
หลายวันแล้ว วันนี้เลยดำเนินการอัพเดทเสียเลย
Thailand
Operator: - AIS
GPRS APN: - internet
Username: - {blank}
Password: - {blank}
DNS: - 202.183.255.20, 202.183.255.21
Operator: - DTAC
GPRS APN: - www.dtac.co.th
Username: - {blank}
Password: - {blank}
DNS: - 203.155.33.1, 203.44.144.33
ที่มา : Worldwide Network GPRS Settings
การโจมตีด้วยวิธี Sql injection อาจทำให้ข้อมูลของเว็บหายทั้งหมดได้ เคยลองกับเว็บของผมดูแล้ว ซึ่งน่าจะป้องกันได้ (แต่ไม่รู้ว่าได้หมดหรือเปล่า) วันนี้เลยเก็บบทความที่พูดถึงเรื่องนี้ไว้ศึกษาดู
- http://dev.mysql.com/tech-resources/articles/guide-to-php-security-ch3.pdf
- http://shiflett.org/articles/sql-injection
- http://shiflett.org/blog/2006/jan/addslashes-versus-mysql-real-escape-string
และจะได้ทดสอบทั้งระบบดูว่าจะโดนโจมตีด้วยวิธีนี้ได้หรือไม่
Firefox 3.5 ได้รองรับ Tag VIDEO แล้ว ซึ่งทำให้ไม่ต้องติดตั้งอะไรเพิ่มเติม เพียงแต่ยังมีปัญหาที่ถกกันยังไม่จบเรื่องจะรองรับ codec อะไรเป็นค่ามาตรฐาน
นี่คือตัวอย่าง หากท่านใช้ browser อื่น ๆ คงไม่สามารถมองเห็นวีดิโอด้านล่างนี้
อ่านรายละเอียดของ HTML 5 VIDEO TAG