Sicheres Messaging mit Exchange Gernot Kühn Systems Engineer Messaging [email protected].
Messaging System’s Threat and Problem from Spam Mail กรณีศึกษา... · Messaging...
Transcript of Messaging System’s Threat and Problem from Spam Mail กรณีศึกษา... · Messaging...
กรณศกษาปญหาการใชงานระบบอเลคโทรนคเมลและภยคกคามจากสแปมเมล
กรณศกษาบรษท ดราโก พซบ จากด(มหาชน)
Messaging System’s Threat and Problem from Spam Mail
A Case Study at Draco PCB Public Company Limited
มนตร นลประพนธ Montri Ninpraphan
สารนพนธฉบบนเปนสวนหนงของการศกษา
ตามหลกสตรวทยาศาสตรมหาบณฑต
สาขาวชาวศวกรรมเครอขาย บณฑตวทยาลย
มหาวทยาลยเทคโนโลยมหานคร
ปการศกษา 2553
I
หวขอโครงงาน ปญหาการใชงานระบบอเลคโทรนคเมลและภยคกคามจากสแปมเมล นกศกษา นายมนตร นลประพนธ รหสนกศกษา 5017660047 ปรญญา วทยาศาสตรมหาบณฑต สาขาวชา วศวกรรมเครอขาย พ.ศ. 2553 อาจารยผควบคมโครงงาน ดร.วรพล ลลาเกยรตสกล
บทคดยอ
เจตนาของโครงงานจดทาขนเพอตองการสรางเครองมอทใชกลนกรองอเมลขยะทมประสทธภาพ โดยการนาเอาเครองมอทมอยแลวมาทาการเพมความสามารถบางอยางใหมากขน พรอมกนนไดแสดงใหเหนถงปญหาและภยคกคามของสแปมเมลวากอใหเกดปญหาใดๆในการใชงานไดบาง สรางผลกระทบอะไร อยางไร และใครเปนผไดรบผลกระทบอนนน แนวทางการรบมอจากการคมคามของสแปมเมล การบรรเทาปญหาและการแกไขปญหา สแปมเมลมทมาอยางไร เหตใดจงกอใหเกด สแปมเมลขนมาบนไซเบอรสเปซแหงน
ในโครงงานนจะทาการสาทตบางวธการทสแปมเมอรใชในการสงสแปมเมลไปยงระบบตางๆวามวธการอยางไร ใชเครองมออะไร มวธการคนหาและเลอกเปาหมายอยางไร หลงจากนนกจะพดถงแนวทางวธการทใชในการแกไขปญหาตางๆทเกด และแนะนาเครองมอตางๆทใชในการสกดกนสแปมเมล
II
กตตกรรมประกาศ
ในการจดทาโครงงานน ผจดทาไดใชความพยายามเปนอนมากเพอใหโครงงานนไดประสบ
ผลสาเรจขนมาอยางทตงใจ ขอขอบคณบรษท ดราโก พซบ จากด(มหาชน) ทใหโอกาสแกผจดทา
โครงงานในการใชสถานทและระบบเปนกรณศกษา ขอบพระคณพคเชนทร วจารณกรณ ซงเปน
ผจดการฝายไอทในสมยนน ทใหโอกาสแกขาพเจาในการเขามาทางานในบรษทแหงน ขอบพระคณ
อาจารยเกง (ดร.ศภกร กงพศดาร) ผอานวยการหลกสตรทไดใหโอกาสแกขาพเจาในการเขามา
ศกษายงสถาบนการศกษาแหงน ขอบพระคณอาจารยทกๆทานทประสทธประสาทวชาความรแก
ขาพเจา ขอบพระคณอาจารยเคยง (ดร.วรพล ลลาเกยรตสกล) ทใหความกรณาเปนอาจารยทปรกษา
แกลกศษยทไมคอยจะไดเรองคนน ขอบพระคณอาจารยไก (อาจารยพงษสรย ลมมณวจตร) ทให
โอกาสและคาแนะนาอนมคาแกลกศษย แมวาจะมความกดดนเปนอยางมากในขณะขนสอบแตกทาให
ขาพเจาเขาใจถงปรชญาการศกษาของอาจารยและมหาวทยาลยเทคโนโลยมหานครมากยงขน
ทงหมดน เ ปนความในใจของขาพเจา และตงแ ตวนแรกทขาพเจา เหยยบยางเขามาใน
สถาบนการศกษาแหงนหากขาพเจาประพฤตตวหรอมพฤตกรรมอนใดทไมเหมาะสม ขาพเจากราบ
ขออภยแกอาจารยทกทานไว ณ ทน
หากสงตางๆทขาพเจาไดทามคณงามความดอนใดขาพเจาขอมอบความดทงหมดแดพอแม
พนอง ครบาอาจารยทกทาน และคนทขาพเจารก ททาใหขาพเจามกาลงใจทจะดาเนนชวตไปจนถง
วนสดทายของชวตตามทสมควรจะเปน
ขอดวงวญญาณพคเชนทรสสขคต ขอบคณทกคาแนะนา ทกคาสงสอน และความปรารถนาด
ตางๆทพมให ซงผมจะระลกถงและเกบไวในใจตลอดไป
มนตร นลประพนธ
5017660047
III
สารบญ
บทท 1 บทนา 1
บทท 2 ทฤษฏทเกยวของ 5
2.1 DNS (Domain Name System) 5
2.2 อเมล (Electornic Mail) 11
2.3 สแปมเมล (Spam Mail) 32
2.4 สแปมฟวเตอร 34
2.5 สรปทายบท 38
บทท 3 กระบวนการทางาน 39
3.1 วเคราะหสภาพปญหา 39
3.2 การออกแบบระบบ 45
3.3 กระบวนการทางาน 50
3.4 สรปทายบท 54
บทท 4 การทดลองและผลการทดลอง 55
4.1 สภาพแวดลอมการทดลอง 55
4.2 รปแบบและขนตอนการทดลอง 56
4.3 เรมการทดลอง 61
4.4 สรปทายบท 69
บทท 5 สรปผลการทดลอง 70
5.1 สงทไดรบจากสารนพนธ 70
5.2 แนวทางการพฒนาตอ 71
เอกสารอางอง 72
IV
ภาคผนวก ก การตดตง Unix FreeBSD 8.x 73
ภาคผนวก ข การตดตงระบบและคมอการใชงาน 84
1
บทท 1 บทนา
1.1 หลกการและเหตผล
ในอตตการตดตอสอสารระหวางกน การทาธรกรรมระหวางองคกรจะใชการสงแฟกซ สง
จดหมายและการโทรศพทเปนการสอสารหลก แตหลงจากทองคกรตางๆปรบเปลยนรปแบบการทางาน
มาใชระบบคอมพวเตอรกนมากขน ทาใหรปแบบการตดตอสอสารในปจจบนเปลยนแปลงรปแบบไปจาก
เดม ระบบอเมลเรมเขามามบทบาทมากยงขนตงแตในชวงปลายศตวรรษท 20 จวบจนปจจบนองคกร
ตางๆปรบเปลยนพฤตกรรมการตดตอสอสารระหวางกน โดยหนมาใชระบบอเมลเปนระบบการ
ตดตอสอสารหลกมากขน เนองจากความสะดวก รวดเรว ตนทนการสอสารทไมแพงเมอเทยบกบจานวน
ของปรมาณขอมลทตองการสอสารกนระหวางผสงและผรบในแตละครง อกทงยงสามารถสงไปยงผรบได
เปนจานวนมากในคราวเดยวกน ทงยงสามารถเกบและคนคนขนมาอางองในภายหลงได ดวย
คณประโยชนนานบประการของระบบอเมล จงทาใหระบบอเมลแพรหลายไปอยางรวดเรว
อยางไรกดเมอมสงดยอมมสงไมดตามมา หลงจากยคฟองสบดอตคอมแตกลงไดเกดธรกจท
เกยวเนองกบระบบอเมลขนมาประเภทหนงนนคอ การสงขอความโฆษณาไปตามระบบอเมลตางๆ
ธรกจจบเสอมอเปลานไดทากาไรมหาศาลใหกบเหลาบรรดานกสงอเมลเหลานในจานวนเงนเปนหลก
ลานดอลลาตอป จงทาใหเกดความแพรหลายในการทาธรกรรมประเภทนขนอยางรวดเรว พอๆกบความ
รวดเรวทระบบอเมลไดแพรหลายเขาไปยงองคกรและหนวยงานตางๆ โดยกลมบคคลเหลานททกคน
ตางรจกกนดในนามของ”สแปมเมอร (Spammer)” นจงเปนสาเหตทมาของสแปมเมลในปจจบน สแปม
เมอรไดใชวธการตางๆเพอใหไดมาซงอเมลแอคเคาททตองการและทาการสงโฆษณาสนคาจานวนมาก
ไปยงผรบ เมออเมลโฆษณาสนคามจานวนเพมมากขนในระดบทเกนความตองการ และตองเสยเวลา
มากมายไปกบการแยกอเมลทไมตองการออกจากอเมลเรองงาน จงกอใหเกดความราคาญใจแกผรบมาก
ขนตามลาดบ นอกจากผลกระทบทเกดกบผรบแลว องคกรหรอหนวยงานทใหบรการจะไดรบผลกระทบ
จากการสญเสยทรพยากรแบนวธอนเตอรเนตในการใชงานโดยเปลาประโยชน อกทงความลาชาทอเมล
ไมสามารถถกสงไปยงลกคาหรอผรบปลายทางได ซงอาจกอใหเกดความสญเสยในดานรายไดแกบรษท
มากขนเปนลาดบ
1.2 ปญหาและแรงจงใจ
เนองจากบรษท ดราโก พซบ จากด(มหาชน) มการตดตอทาธรกรรมทางอเมลเปนจานวนมาก
หากระบบอเมลมปญหาเมอใดจะกอใหเกดความวนวายในบรษทเปนอนมาก ทงจากการตดตอสอสารกบ
2
ลกคา และการบรหารจดการภายในทจะใชการสงการทางอเมลเปนหลก ซงปจจบนบรษท ดราโก พซบ
ไดรบอเมลสแปมเฉลยมากกวา 200-400 ฉบบตอวนตอคน จากปญหาทกลาวมาขางตน ทาใหผจดทา
โครงงานซงทาหนาทเปนผดแลระบบในองคกรแหงนตระหนกถงปญหาและความสญเสยทเกดขน จง
ตองการทจะหาวธการแกไขและสรางระบบสกดกนกาจดอเมลทไมพงประสงค (Junk mail) ทม
ประสทธภาพเพยงพอขน โดยใชทงเครองมอทมมาใหในตวระบบเมลเซรฟเวอรเอง และจากสวนท
ผจดทาไดทาการเพมขนมา
จากเหตผลทงหมดทกลาวมานจงเปนทมาของโครงงานสาระนพนธ ”ภยคกคามและปญหาการ
ใชงานระบบอเลคโทรนคเมล”
1.3 วตถประสงคและขอบเขตของโครงงาน
จากโครงงานทหนงทไดนาเสนอรปแบบลกษณะการทางานของสแปมเมล ตวอยางการสงเมล
ขยะไปยงเครอขายเปาหมาย ในโครงงานทสองนจงเปนการสรางระบบการตอตานอเมลขยะตางๆ ไมให
หลดเขาสเมลบอกของผใช โดยจะมการปรบปรงระบบเครอขายของบรษท ดราโก พซบ โดยมการเพม
เมลเกตเวยมาใน Perimeter Zone ซงอยระหวางไฟลวอลลชนในกบไฟลวอลลชนนอกเพอใชเปนทกรอง
เมลขยะ โดยจะใช UNIX FreeBSD 8.1 ทาการตดตง Postfix ทางานรวมกบ SpamAssasin ซงจะถก
เรยกใชโดย Amavisd-New ทาหนาทเปนเมลเกตเวย
หลงจากตดตงระบบเมลเกตเวยเสรจกจะมการทดสอบประสทธภาพในการกรองอเมลขยะของ
ระบบและประเมนผลกระทบขางเคยง จากนนกจะเพมประสทธภาพการตรวจสอบสแปมเมลดวยการ
สรางระบบ Email Whitelist ซงจะทางานรวมกนระหวาง Postfix ,MySQL และWeb Application ท
พฒนาโดยภาษา PHP ซงจดประสงคเพอลดการตรวจสอบทผดพลาดหรอปฏเสธการรบอเมลจากโดเมน
ทถกระบวาเปน blacklist หรอเมลเซรฟเวอรไมไดทาการสราง A record แมบเขากบไอพสาธารณะ
(Public IP) ขององคกรนนๆ
1.4 เนอหาของโครงงาน
บทท1 กลาวถงหลกการ เหตผล ปญหา แรงจงใจ จดประสงคของการทาโครงงาน ขอบเขตของ
โครงงาน และประโยชนทคาดวาจะไดรบ
บทท 2 กลาวถงทฤษฏ ความรพนฐานทเกยวของกบระบบอเมล
บทท 3 กลาวถงการออกแบบระบบ ขนตอนการดาเนนงาน
3
บทท 4 การทดลองและผลการทดลอง
บทท 5 สรปผลการทดลองและขอเสนอแนะของโครงงาน
1.5 ประโยชนทคาดวาจะไดรบ
เมอทาการศกษาถงปญหา วธการการทางานของสแปมเมล ชวงโหวทสามารถเกดขนไดใน
ระบบ การแกไขปญหา ขนตอนการทางาน การออกแบบระบบแอนตสแปมเมลทมประสทธภาพ รวมถง
การเลอกใชซอรฟแวรทมประสทธภาพและการกาหนดคาทเหมาะสมจะทาใหไดรบประโยชนดงตอไปน
1) เขาใจกระบวนการทางานของระบบอเมล
2) เขาใจสภาพปญหาทเกดจากสแปมเมล จากทงผลกระทบกบตวบคคลเอง และปญหาทม
ผลกระทบกบผลประโยชนขององคกร
3) แนวทางการแกไขปญหาเฉพาะหนาเบองตน เชนการตรวจสอบการตด black list การ
ตรวจสอบOpen relay
4) แนวทางการแกไขปญหาระยะยาว เชนการสรางระบบเมลเกตเวยเพอใชในการกรองเมลไม
พงประสงค
5) ไดรบความรในการตดตงระบบเมลเกตเวยทมประสทธภาพ
6) เขาใจกระบวนการทางานของซอรฟแวรแอนตสแปมเมล
1.6 โครงสรางของสารนพนธ
ในบทท 2 จะกลาวถงทฤษฏการทางานทเกยวของกบการทางานของระบบอเลคทรอนคเมล
(E-mail) ปญหาของระบบอเมล ซงประกอบดวย
ระบบ Domain Name System (DNS) ทใชเปนระบบคนหาทอยของเมลเซรฟเวอร
ปลายทางทตองการสอสารดวย จากนน
ประวตความเปนมาของระบบอเลคโทรนคเมล สถาปตยกรรมและการใหบรการ RFCของ
อเมล และโปรโตคอลทใชในการสอสารในระบบอเมล
สแปมเมล ความหมายของสแปมเมลและปญหาทเกดจากสแปมเมล
ระบบการกลนกรองสแปมเมล เทคนคตางๆทใชในการตรวจจบสแปมเมลในปจจบน และ
หลกการทางานของสแปมฟลเตอร
ในบทท 3 จะเปนเรองกระบวนการทางานของโครงงานน ซงจะเรมตงแตการตรวจสอบสภาพ
ปญหาและการวเคราะหปญหา วธการทใชในการตรวจสอบสภาพปญหา ในสวนท 2 จะเปนขนตอนการ
4
ออกแบบระบบแอนตสแปมเมลทจะใชในการแกไขปญหา กระบวนการทางานของเวบแอพพลเคชนทได
ออกแบบขนโดยภาษาPHPเพอทางานรวมกบฐานขอมล MySQL
ในบทท 4 จะเปนสวนของการทดสอบระบบการทางานทไดออกแบบไวในบทท 3 โดยในสวน
แรกจะเปนแผนผงของระบบทใชในการทดลอง อปกรณตางๆทใชในการทดลอง รปแบบขนตอนในการ
ทดลอง รปแบบวธการคนหาอเมลเปาหมาย ในสวนท 2 จะเปนตวอยางการทดลองซงจะมสองรปแบบ
โดยในรปแบบแรกจะเปนการทดสอบการทางานของเมลเกตเวยทไดสรางขนโดยไมมสวนของฐานขอมล
whitelist และรปแบบทสองจะเปนการทดสอบการทางานทระบบฐานขอมล whitelist
ในบทท 5 จะเปนสวนของการสรปผล ผลลพธทไดจากการทดลอง สงทไดรบจากการทา
โครงงานและแนวทางในการปรบปรงโครงงาน
ในสวนของภาคผนวกจะมสองสวน ภาคผนวก ก จะแสดงวธการการตดตง Unix FreeBSD และ
ในสวนภาคผนวก ข จะแสดงสงทตองทาหลงจากตดตงระบบปฏบตการเสรจ เชนการ update port การ
ตดตง Vim Editor การตดตง Bind DNS ทางานรวมกบอเมลเกตเวย การตดตงเมลเกตเวย Postfix และ
สดทายจะเปนการอธบายวธการใชงานเวบแอบพลเคชนทสรางขน
5
บทท 2
ทฤษฎทเกยวของ
การทางานของระบบอเลคโทรนคเมล (Electronic Mail) จะทางานรวมกบระบบโดเมนเนม
เชนเดยวกนกบระบบ www หากปราศจากระบบ DNS แลวเมลเซรฟเวอรจะไมสามารถสอสารกนได
เลย บทนจะกลาวถงระบบ DNS ระบบการทางานของอเมล ลกษณะของสแปมเมล การทางานของ
สแปมฟลเตอร (Spam filtering)
2.1 DNS (Domain Name System)
[1]ในทางทฤษฏโปรแกรมอาจหมายถงโฮสเมลบอกซหรอทรพยากรอนใดทอางองไดดวย
หมายเลขทอยบนระบบเครอขาย เชน IP address หมายเลขทอยเหลานมกจะเปนสงทจดจายาก เชน
การสงอเมลไปยง [email protected] หมายความถา ISP (Internet Service Provider) ของ tena
หรอองคกรทผนทางานอยไดยายเครองเมลเซรฟเวอรไปยงเครองอนทใชหมายเลขทแตกตางออกไป
จากเดม จะทาใหทอยอเมลเปลยนแปลงไปดวย ดงนนจงไดมการนาเอาชอทสะกดดวยรหส ASCII
(ตวอกษรปกตทใชในเครองคอมพวเตอร) มาทาการตงชอเครองซงเปนการแยกออกจากหมายเลข
เครอง ดวยวธการนทอยของ Tena จงเปลยนไปอยในรป [email protected] อยางไรกตามระบบ
เครอขายมความเขาใจเฉพาะหมายเลขทอยทเปนตวเลข เชน หมายเลขIP ทยกตวอยางมาขางตน
ดงนนจงตองมกลไกลบางอยางทนามาใชในการแปลงทอยในรปรหส ASCII ใหกลายเปนหมายเลขท
อยบนระบบเครอขาย ในหวขอตอไปนจะกลาวถงวธการแปลงทอยทนามาใชในระบบอนเตอรเนต
ยอนกลบไปในระบบ ARPANET จะมแฟมขอมลชอ hosts.txt ทแสดงรายการชอของโฮสและ
หมายเลขไอพ ในระบบเครอขายทมเครอขายอยไมมากนกวธการนกสามารถใชงานไดด อยางไรก
ตามทกคนทราบดวาในททมเครองอยนบพนเครองหรอมากกวานน ทงเครองมนคอมพวเตอรและพซ
ทเชอมตออยจะไมสามารถใชวธการนไดตลอดไป ดวยเหตผลทขนาดของแฟมทโตขนเรอยๆซงจะม
ขนาดใหญเกนไป ทสาคญกวานนกคอความขดแยงในเรองชอโฮสทเกดขนอยเสมอ นอกจากชอโฮส
จะไดรบการจดการทศนยกลางเพยงแหงเดยวซงเปนสงทยากทจะจนตนาการไดวาระบบเครอขาย
ขนาดใหญโตมหาศาลนจะมปรมาณขอมลมากเพยงใดและจะตองใชเวลาเทาไหรในการจดการให
เรยบรอย เพอแกปญหานจงไดมการคดคนระบบ DNS ขนมาใชงาน
โดเมน
คอกา
ดวย
ประย
ท 2-1
DNS
เมอได
เกตไ
มากใ
จงหว
โครง
คลาย
สงทสาคญ
นเปนแกนหล
ารใชสาหรบ
DNS ไดรบก
กลาวโดย
ยกตจะเรยกใช
1 ไดแสดงตว
Sever ซงจะ
ดรบหมายเล
ปยงเปาหมา
2.1.1 The
การบรหา
ในระบบไปร
วดหรอรฐ ช
สรางลาดบช
ยคลงกน
ญทสดของระ
ลกและระบบ
แปลงชอโฮส
การกาหนดมา
ยยอ วธการท
ช library ชอ
วอยางการใช
ะทาการคนห
รปท
ขไอพแลวโป
ยทตองการ
e DNS Nam
ารจดการกลม
รษณย การบ
อเมองและช
ช นแบบนเพอ
ะบบ DNS คอ
บฐานขอมลแบ
สและชออเมล
าตรฐานไวใน
ทางานของ D
resolver แล
ช resolver ชอ
หาชอนนและส
ท 2-1 การทา
ปรแกรมประย
me Space
มของชอขนา
บรหารจดการ
ชอถนนพรอม
อทาใหไมเกด
อการออกแบ
บบกระจายส
ลใหเปนหมา
น RFC 1034
DNS เปนกา
ละจดการสอง
อ “gethost-b
สงหมายเลขไ
างานระหวาง
ยกตจะจดตงก
าดใหญทมกา
รชอจะกระท
มทงบานเลข
ดความสบสน
บบโครงสราง
สาหรบการสร
ายเลขทอยไอ
4, RFC 1035
ารแปลงชอไป
งชอ (ASCII)
byname” Re
ไอพกลบมาใ
ง resolver กบ
การเชอมตอ
ารเปลยนแปล
ทาโดยการบ
ขทในสวนขอ
นในทอยของ
ลาดบชนของ
รางระบบชอข
อพ และสามา
5
ปเปนหมายเล
มาใหเปนพา
solver จะสง
หแกผเรยก
บ DNS
TCP ขนมาห
ลงเกดขนอย
งคบใหตองเ
องทอยผรบโ
ผรบ ระบบ
งการตงชอ โ
ขนใชงาน หน
ารถใชงานด
ลขทอย IP โ
ารามเตอรตว
ง UDP แพกเ
หรอจดสง U
ยเสมอเปนปญ
เขยนชอประ
โดยการกาห
DNS กม
6
โดยอาศย
นาทหลก
านอนได
โปรแกรม
วหนง รป
เกตไปยง
DP แพก
ญหาใหญ
ะเทศ ชอ
หนดใหใช
มลกษณะ
ละโด
เรยกว
แทนไ
(coun
(educ
force
ประเท
resou
ทอย
จะได
โดเมน
เลขฐ
ตวอก
ระบบอนเ
ดเมนจะครอบ
วา subdoma
ไดดวยโครงส
โดเมนทอ
ntries) โดเมน
cation)”, “go
es)” “net (n
ทศประกอบด
2.1.2 Res
ทกๆโดเม
urce records
IP แตอาจจะ
รบกลบไปคอ
นไปเปน res
Resource
ฐานสองเพอ
กษรชงจะแสด
Domain
cs.mit.ed
เตอรเนตไดถ
บคลมการให
ain ซงอาจจะ
สรางแบบตนไ
อยในระดบบ
นชนดทวไปท
ov (governm
network pro
ดวยหนงประ
source reco
มนไมวาจะเป
s อยชดหนง
ะม record อ
อ resource
source recor
e record ห
ประสทธภา
ดงใหเหนแตล
name
du
รปท 2-2 Int
ถกแบงออกเ
หบรการแกโ
ะถกแบงออก
ไมดงแสดงใน
บนสดแบงอ
ทมต งแตเรม
ment) ” “int
oviders)” แล
เทศตอหนงช
ords
ปนโดเมนระ
เสมอ สาหรบ
ยางอนอยดว
record ทเก
rds
หนงๆประกอ
าพในการใช
ละ resource
Time_to
86400
ternet Doma
ปนสวนๆเรย
ฮสจานวนห
กไปเปนสวนย
นรป 2-2
อกเปนสองช
มกอตงระบบอ
(internation
ละ “org (no
ชอ ดงทไดกา
ะดบบนสดหร
บโฮสเดยว ส
วย เมอโปรแก
กยวกบชอโดเ
อบดวย 5 ส
งาน แตเมอ
e record ตอห
o_live Clas
IN
ain Namespa
ยกวา โดเมน
นง แตละโด
ยอยเลกลงไป
ชนดคอ “ทว
อนเตอรเนตไ
nal organiza
onprofit orga
าหนดไวใน IS
รอโดเมนขน
สงทบรรจอยใ
กรม resolve
เมนนน หนา
สวน แมวาโด
อใหแสดงรา
หนงบรรทด โ
ss Type
A
ace
น(Domain) ม
ดเมนจะถกแบ
ปอก โดเมนเห
วไป(generic)
ไดแก “com (
ations) ”, “m
anizations)”
SO 3166
นาดเลกทมอ
ใน resource
r สงชอโดเมน
ทหลกของ D
ยปกตจะอธบ
ยละเอยดกจ
โครงสรางขอ
Valu
10.3.2.1
มากกวา 200
บงออกเปนส
หลานนสามา
)” กบ
(Commercia
mil (the U.S
โดเมนทเป
ยเพยงโฮสเ
record คอห
นมาใหกบ D
DNS คอการ
บายไวในลกษ
จะอยในรปแ
องการแสดงผ
ue
7
สวน แต
สวนยอย
ารถเขยน
ประเทศ
al)” ,“edu
S. armed
ปนเปนชอ
ดยวจะม
หมายเลข
DNS สงท
รแปลงชอ
ษณะของ
แบบของ
ผลคอ
8
1.คอลมน Domain name จะบอกชอโดเมนของ record นน โดยปกตอาจจะมหลายเรคอรด
ในโดเมนหนงๆ และแตละฐานขอมลจะเกบขอมลของหลายๆโดเมน คอลมนนจงมกจะถกใชเปนคย
หลกสาหรบการคนหาขอมลทตองการ ลาดบทเกบขอมลอยนนไมไดบอกความสาคญใดๆ
2.คอลมน Time_to_live บอกใหทราบถงสถานะของแตละเรคอรด ขอมลทมความเสถยรมาก
จะไดรบกาหนดคาใหสงมาก เชน 86400 (จานวนของวนาทในหนงวน) ขอมลทอาจเปลยนแปลงไดก
จะมคานอย เชน 60 (หนงนาท)
3.คอลมน Class สาหรบขอมลทใชกบอนเตอรเนตจะมคาเปน IN เสมอ สาหรบขอมลของ
ระบบอนอาจใชคาอนๆได แตโดยทวไปมกไมคอยไดใชงานมากนก
4.คอลมน Type ใชบอกชนดของ record รายละเอยดแสดงไวในตารางท 2-1
5.คอลมน Value อาจจะเปนตวเลข ชอโดเมน หรอชอทเปนกลมตวอกษร ความหมายของคา
นขนอยกบชนดของเรคอรด คาอธบายโดยยอของ value fields สาหรบเรคอรดแตละชนด
ตารางท 2-1 The principal DNS resource record type สาหรบ IPv4
Type Meaning Value SOA Start of Authority Parmeter for this zone A IP addess of a host 32-Bit integer MX Mail Exchanger Priority, domain willing to accept e-mail NS Name Server Name of a server for this domain CNAME Canonical name Domain name PTR Pointer Alias for an IP address HINFO Host description CPU and OS in ASCII TXT Text Uninterpreted ASCII text
SOA นาเสนอชอของแหลงทมาหลกของขอมลเกยวกบชอของ Zone server ทอยอเมลของ
ผบรหาร หมายเลขลาดบเฉพาะ flags และ timeouts
Record ทมความสาคญมากทสดคอ record A (Addres) ซงจะเปนทอยไอพ ขนาด 32 บต
ของโฮสตวหนง โฮสแตละตวจะตองมหมายเลขไอพอยางนอยหนงหมายเลขเพอใหคอมพวเตอร
เครองอนสามารถตดตอได โฮสบางสวนจะมการเชอมตอกบระเครอขายมากวาหนงจด ซงในกรณน
9
จดเชอมตอแตละจดจะม type A resource record เปนของตวเอง หรอาจกลาวไดวาจะตองมเรคอรด
นประจาหมายเลข IP แตละเลข DNS จะสามารถถกกาหนดใหใชงานจดเชอมตอหมนเวยนกนไป
เชนในการรองขอครงแรก DNS จะสงคา resource record ตวแรกกลบไป เมอมคารองขอครงทสองก
จะสง resource record อนทสองและเวยนไปเรอยๆจนครบทกตว แลวจงวนกลบไปทเรคอรดแรก
MX record ใชในการระบชอโฮสทมหนาทรบอเมลสาหรบโดเมนหนงๆ มความจาเปนตอง
ใชเรคอรดชนดนจากบางเครองไมไดเตรยมพรอมทจะรบอเมลหรอไมสามารถรบอเมลไดโดยตรง เชน
เมอมคนตองการสงอเมลไปยง bill@microsoft โฮสททาการสงอเมลจะตองคนหาเมลซรฟเวอรท
Microsoft.com ทพรอมทจะรบอเมล MX recordจะสามารถใหขอมลนได
NS record จะทาการระบ Name Serverตวอยางเชน ทกๆฐานขอมลใน DNS โดยปกตมกจะ
ม NS record ประจาสาหรบทกโดเมนทอยในระดบบนขนไป ดงนนชวยใหสามารถสงอเมลขนไปยง
โดเมนระดบบนได
CNAME record ชวยในการสรางชอรอง (aliases) ตวอยางเชน ผใชคนหนงทมความคนเคย
กบการตงชอบนระบบอนเตอรเนตตองการทจะสงขอความไปยงผใชอกคนหนงทใชชอวา “paul” ท
ทางานอยท computer science department at M.I.T กคาดเดาวาชอตดตอของคนผนนาจะเปน
[email protected] แตความเปนจรงชอนไมสามารถใชงานได เพราะชอโดเมนของคณะคอมพวเตอร
คอ “lcs.mit.edu” แตเพอใหบรการแกผไมทราบขอเทจจรงน ทาง M.I.T สามารถสราง CNAME
ขนมาเพอใชในการเปลยนทศทางขอมลใหเปนไปตามทตองการได เชน
cs.mit.edu 86400 IN CNAME lcs.mit.edu
PTR record มความคลายคลงกบ CNAME record ในการเปลยนแปลงชอหนงไปเปนชออน
แมวา CNAME ซงทาหนาทเปนเสมอนการกาหนด macro อยางหนงแต PTR เปนขอมลชนดหนง
ของ DNS ซงการนาไปใชงานนนขนอยกบคาทกาหนด ในทางปฏบตมกจะนามาใชในการแปลงชอให
เปนหมายเลข IP และสงคาคนไปยงเครองทเรยกใช วธการนเรยกวา reverse lookups
HINFO record ชวยใหผใชสามารถทราบไดวาเครองและระบบปฏบตการของเครองภายใน
โดเมนเปนชนดอะไร
TXT record ชวยใหโดเมนสามารถแสดงตนเองไดในวธการเฉพาะ ทงHINFO และ TXT
สองเรคอรดนมไวเพอความสะดวกในการใชงานของผใช ซงไมไดเปนสวนบงคบใชงาน ดงนน
โปรแกรมตางๆจงไมไดคาดหวงขอมลกบสองเรคอรดน
ไวได
ความ
อนเต
เพยง
(zone
ดวยส
หนงจ
อาจจ
เพอเพ
สวนใ
Yale
ซงเป
ตองก
อยใน
เปนส
2.1.3 Nam
ในทางทฤ
ดทงหมดและ
มสามารถ จน
ตอรเนตกจะต
งแหลงเดยว D
e) หรอเขตให
สวนหนงของ
จะม Name
จะม name s
พมความไวว
ร
การแบงข
ใหญขนอยกบ
มเซรฟเวอร
ปนโซนทแยก
การ ผลทตาม
นโซน yale.ed
DNS นน
สญลกษณทา
me Servers
ฤษฏเครอง n
ะสามารถใหบ
นกระทงไมส
ตองหยดทาง
DNS name
หบรการ ซงเ
ตนไมและม
server ตว
server ตวสา
วางใจไดใหแก
รปท 2-3 สวน
ขอบเขตของโ
บจานวนและ
รสาหรบ yale
กกนอยตางห
มมากคอ cs.y
du
มความสาคญ
งหนวยงานใ
s
name server
บรการแกผใ
สามารถใหบร
านไปดวย
space จงถ
ปนการแบงพ
Name Serv
หลกหนงตว
ารองอยางนอ
กระบบเครอง
นหนงของ DN
โซนทอยภาย
สถานทตงขอ
e.edu ซงจะใ
ากและม Na
yale.edu นน
ญอยางยงยว
หกลายเปนห
r เพยงเครอง
ใชได แตในค
รการได ยงก
เพอหลกเล
ถกแบงออกเป
พนทใหบรกา
rverทบนทกข
ซงจะไดรบข
อยหนงตว ซ
งเซรฟเวอร ส
NS namesp
ยในโซนหนง
อง name se
ใหการดแล e
ame Serve
นเปนโซนทแ
ดตอระบบกา
หมายเลข IP
เดยวจะสาม
ความเปนจร
กวานนถาเค
ยงปญหาดง
ปนหลายสวน
ารทแสดงใหเ
ขอมลเกยวกบ
ขอมลมาจาก
งจะไดรบขอ
สวนหนงอาจ
ace ทแสดงโ
นนขนอยกบ
rver ทตองกา
eng.yale.edu
er เปนขอ
ยกออกจาก
ารทางานของ
ไดอยางถกต
ารถจดเกบฐา
ง เซรฟเวอร
รองนหยดท
กลาวทเกยว
นทไมคาบเก
หนในรปท 2
บพนทใหบรก
กแฟมขอมลใ
มลไปจาก N
จะอยภายนอ
โซนการใหบร
บผบรหารโซน
ารใชงาน ตว
u แตไมเกยว
งตนเอง แตค
yale.edu ใน
งระบบอเมล
ตอง ใหเซรฟ
ฐานขอมลโดเ
รจะทางานจ
ทางานลงเมอ
วกบการมแห
ยวกน เรยกว
2-3 แตละโซน
การนน โดย
ในดสกของตน
Name Serer
อกโซนกได
รการ
นนนๆ การต
วอยางเชนใน
วของกบ cs.
คณะคอมพว
นขณะท eng.
นนคอการแ
เวอรทใหบรก
10
มนตางๆ
นเกนขด
อใดระบบ
หลงขอมล
วา “โซน”
นบรรจไว
ปกตโซน
นเองและ
ตวหลก
ตดสนใจน
นรปท 2-3
yale.edu
วเตอรนน
yale.edu
ปลงชอท
การอเมล
11
สามารถตดตอสอสารกนได หากระบบDNS ไมสามารถทางานไดตามปกตจะทาใหเกดปญหาการ
สอสารกนระหวางเมลเซรฟเวอร ดงรปภาพท
2.2 อเมล (E-mail)
[1]อเมล หรอ อเลคโทรนคเมล (Electronic Mail) เปนบรการทไดรบการนามาใชงานมากกวา
ยสบปกอนป ค.ศ. 1990 อเมลถกใชงานอยในแวดวงการศกษาเทานน ตอมาไดรบการเผยแพรและ
นามาใชงานทวไปและมจานวนผใชเพมขนอยางรวดเรว จนกระทงปจจบนมจานวนผใชอเมลมากกวา
จานวนผสงจดหมายธรรมดาเสยอก
อเมลกมลกษณะคลายกบการสอสารในรปแบบอนๆ นนคอมขอตกลงและวธการเปนของ
ตนเอง อเมลเปนวธการสอสารทไมเปนทางการและสามารถใชงานงาย ผคนทไมเคยฝนถงการ
โทรศพทหรอแมกระทงการเขยนจดหมายไปหาบคคลทมความสาคญมากจะสามารถใชประโยชนจาก
การเขยนอเมลแบบงายๆไปหาผนนไดอยางงายดาย
อเมลนนเตมไปดวยขอความและสญลกษณตางๆมากมาย เชน BTW (By the way) คน
จานวนหนงนยมใชสญลกษณทเรยกวา smiley หรอ emoticons ในอเมลของตน ดงแสดงตวอยางใน
ตารางท 2-2 รปเหลานจะมความหมายมากขนเมอเอยงดดวยมม 90 องศา
ตารางท 2-2 smiley
Smiley Meaning Smiley Meaning Smiley Meaning
I’m happy =|:-) Abe Lincoln :+) Big nose
I’m sad/angry =):-) Uncle Sam :-)) Double chin
I’m apathetic *<:-) Santa Claus :-{} Mustache
;-) I’m winking <:-( Dunce #:-) Matted hair
;-(O) I’m yelling (-: Australian 8-) Wears glasses
;-(*) I’m vomiting :-)X Man with bowtie
C:-) Large brain
12
ระบบอเมลในรนแรกประกอบดวยโพรโตคอล FTP (File Transfer Protocol) โดยมขอตกลง
วาบรรทดแรกของจดหมายอเมลจะเปนทอยของผรบ เมอเวลาผานไปขอจากดนไดกลายมาเปน
อปสรรคซงสรปไดดงน
ไมสะดวกในการสงจดหมายไปยงผรบเปนกลม ผบรหารมกจะตองการใชการสงจดหมาย
เปนกลมเสมอเพอใชสงจดหมายไปยงลกนอง
ตวจดหมายเองไมมโครงสรางภายใน ทาใหการประมวลผลของเครองคอมพวเตอรทาได
ยาก ตวอยางเชน การดงเอาสวนของจดหมายทตองการใหผรบสงตอไปใหผอนอกทอด
หนง (หรอหลายทอด) นนทาไดยาก
ผสงจดหมายจะไมทราบวาจดหมายนนไปถงผรบหรอไม
ถาผใชวางแผนทจะไปทาธระทอนหลายวนหรอหลายสปดาห และตองการใหเลขานการ
ของเขารบจดหมายอเมลแทน เปนสงทจดการไดลาบากยง
สวนตดตอผใชนนไมไดรบการออกแบบทดทาใหผใชตองสรางไฟลเอกสารขนมากอน
จากนนออกจากโปรแกรมสรางเอกสารแลวจงจดการสงจดหมายได
ไมสามารถสงจดหมายทมท งขอความ ภาพวาด แฟกซและไฟลเสยงไปพรอมกนได
ในปพ.ศ. 2525 หลงจากทไดรบประสบการณมากยงข น ARPANET ไดนาเสนออเมลรนใหม
ซงไดประกาศไวในมาตรฐาน RFC 821 และ RFC 822 รวมทง RFC 2821 และ RFC 2822
ในปพ.ศ. 2527 องคกร CCITT ไดเขยนรางสาหรบระบบอเมลมาตรฐาน X.400 ภายหลงจาก
ทตอสกนมานานประมาณ 20 ป ระบบอเมลกไดรบการเหนพองใหใชมาตรฐาน RFC 822 และยกเลก
การใช X.400 ไปในทสด
2.2.1 สถาปตยกรรมและการใหบรการ
ในหวขอนจะไดกลาวถงเรองทวไปเกยวกบสงทระบบอเมลสามารถทางานไดและมการจด
โครงสรางอยางไร ระบบอเมลประกอบดวยสองสวนยอย คอ User Agents ซงชวยใหผใชสามารถ
อานและสงอเมลได และ Message Transfer Agents ซงชวยในการเคลอนยายขาวสารจากแหลงท
ผลตขอมลไปยงผรบ User Agent เปนโปรแกรมทอาจจะเปนลกษณะการเลอกใชคาสงทละคาสง
(Command based) หรอการใชคาสงจากการเลอกหวขอทปรากฏ (Menu based) หรอใชกราฟกใน
การทางานรวมกบระบบอเมล สวน Message Transfer Agent มกจะเปนโปรแกรมของ
ระบบปฏบตการทเรยกวา Daemons ซงกคอโปรเซสทกาลงทางานอยเบองหลง (Background
Process) ทมหนาทในการเคลอนยายอเมลไปยงเปาหมาย
13
โดยทวไประบบอเมลประกอบดวยการทางาน 5 อยาง ดงน
Composition หมายถงโปรเซสสาหรบการสรางขาวสารและคาตอบ แมวาจะสามารถใช
โปรแกรมประมวลผลคาใดๆ (Text Editor) ในการสรางตวขอความขนมากตาม ตวระบบเองจะ
สามารถใหความชวยเหลอในการจดการกบทอยของทงผสงและผรบ และขอมลสาหรบเขตขอมล
ตางๆในขอมลสวนหว (Header) ทตดไปกบขาวสารแตละชน ตวอยางเชน เมอทาการตอบจดหมาย
อเมล ระบบอเมลจะจดการดงทอยของผทสงอเมลนนมา แลวใสเขาไปในชองทอยของผรบใหโดยอต
โนมต
Transfer หมายถงการเคลอนยายขาวสารจากผผลตสงไปยงผรบ ในภาพรวมแลวการ
ทางานนจะตองจดตงการเชอมตอจากผสงไปยงผรบ หรอเครองคอมพวเตอรททาหนาทรบขอมล
จดการสงขอความอเมลและยกเลกการตดตอ ระบบอเมลควรทางานขนตอนนไดอยางอตโนมตโดยไม
ตองอาศยควารมชวยเหลอใดๆจากผใชเลย
Reporting มหนาทในการสงขาวไปบอกผททากาสงอเมลวาเกดเหตการณใดขนกบขอความ
ทไดสงไปแลว นนคอไดไปถงผรบ หรอถกสงยอนกลบมา หรอสญหายไป มงานประยกตมากมายท
ตองการทราบสถานะภาพของการสงอเมล งานบางอยางกอาจมความเพยวพนทางกฏหมายดวย
Displaying ผใชมความจาเปนทจะตองทราบวามขาวสารถกสงเขามาจงจะสามารถอาน
อเมลเหลานนได บางครงการเปลยนรปแบบของขอมลทสงมากมความจาเปนซงอาจจะตองใช
โปรแกรมพเศษในการดขาวสารนน เชนในกรณทขาวสารอยในรปของ Postscript File หรอ
Digitized Voice เปนตน โดยทวไปจะมการเปลยนแปลงรปแบบของขาวสารเกดขนเลกนอยเสมอ
Description ขนตอนสดทายเกยวของกบวาผใชจะทาอยางไรกบขาวสารทไดรบเรยบรอย
แลว สงทอาจเปนไปไดกคอ ลบขอความนนทงไปกอนทจะอาน ลบขอความนนหลงจากทอานแลว
จดการบนทกขอความนนไวในแฟมบนทกขอมล และอนๆ บางครงอาจมความจาเปนทจะตองการ
อานขอความทไดอานไปแลวและไดบนทกไว ทาการสงขอความนนตอไปยงผอนหรอจดการขอความ
นนไปในทางใดๆกตาม
นอกเหนอจากบรการพนฐานทกลาวถงน ระบบอเมลบางระบบโดยเฉพาะระบบทใชงาน
ภายในองคกร จะมขดความสามารถอนๆเพมเตมเขามาอก เชน เมอผใชไมอยเปนเวลาหลายวน ผใช
สามารถใหระบบอเมลจดการสงตออเมลทเขามาทงหมดไปยงผอนไดโดยอตโนมต
อเมล
ขนมา
สนคา
อเมล
ความ
การอ
องคก
ดวยก
จงเน
ยอดข
ความ
ระบบอเม
ลทสงเขามา ใ
าใชงาน การ
ผบรหารอ
าตางๆในครา
ลกลมหนง ขอ
มสามารถอน
(การเขารหส
อานอเมลของ
ในปจจบน
กร ระบบอเม
การตดสงทเป
นไปในเรองก
ของนกศกษา
มคดทไมเขาท
มลสวนใหญจ
ในการนจะม
รตรวจสอบข
องคกรมกจะ
าวเดยวกนห
อความเดยว
ๆเชน Carb
ส) ผรบสารอง
เจานาย เปน
นระบบอเมล
ลชวยใหพน
ปนอปสรรคต
การนาเสนอ
าทกาลงพก
ทาทอาจสงมา
จะอนญาตให
คาสงชดพเศ
ขอความทเก
ตองการสงข
ลายคน อนเ
กนจะถกสงไ
bon Copies,
งในกรณทผร
นตน
รปท 2
(a) Ge
ไดรบการนา
กงานทอยไก
างๆ เชน ตา
แนวความคด
ผอนในชวงฤ
าจากผบรหา
ผใชสามารถ
ศษเพมเตมเข
กบอยภายใน
ขาวสารไปยง
ปนทมาของก
ไปยงผรบแต
blind Carb
รบหลกไมสาม
-4 Envelop
eneral Letter
ามาใชงานอย
กลออกไปมา
าแหนง อายแ
ดไมใชสถาน
ฤดรอนจะสา
รบางคน
สราง Mailbo
ขามาเพอจด
น การใสแล
งลกนองแตล
การจดทา M
ตละคนทมรา
bon Copies,
มารถรบขอค
and Messag
r (b) E-Ma
ยางกวางขวา
ากสามารถรว
และเพศออกไ
ะในองคกร ด
มารถสรางผ
ox ขนมาได
การกบ Mail
ะลบขอควา
ะคน หรอลก
Mailing list
ยชออยใน M
High-Priorit
วามไดและค
ge
ail
งสาหรบการ
วมทางานในโ
ไป การสงขอ
ดวยระบบอเม
ผละกระทบอ
ดเพอใชในกา
lbox เชน ก
มทเกบอย แ
กคา หรอบรษ
ซงกคอราย
Mailing list
ty e-mail, S
ความสามารถ
รตดตอสอสา
โปรเจคของอ
อความผานระ
มล ความคด
อนยงใหญได
14
ารจดเกบ
การสราง
และอนๆ
ษทผผลต
ยการทอย
ขด
Secret e-
ถพเศษใน
รระหวาง
องคกรได
ะบบอเมล
ดอนเยยม
มากกวา
15
แนวความคดหลกของระบบอเมลคอการแยกความแตกตางระหวางการจาหนาซอง(Envelop)
กบขอความทอยภายใน การจาหนาซองเปนการหอหมขอความ ซงจะมขอมลทจาเปนทงหมดทตอง
ใชในการสงขอความนน เชน ทอยของผรบ ระดบความสาคญ และระดบการรกษาความความลบ ซง
ทงหมดนไมใชสวนหนงของขอความภายในเลย Message Transport Agent (MTA) ใช Envelop ใน
การจดสงขอความเหมอนกบทไปรษณยใช
ขอความทอยภายใน Envelop ประกอบดวยขอมลสองสวนคอ ขอมลสวนหว (Header) และ
ตวขอความ (Body) ขอมลสวนหวจะบรรจขอมลสาหรบการควบคมทจะถกนาไปใชโดย User Agent
ตวขอความเปนขอความสาหรบการสอสารระหวางมนษย รป 2-4 แสดงรปโครงสรางของ Envelop
และขอความ
2.2.2 The User Agent
ระบบอเมลแบงออกเปนสองสวนคอ User Agents และ Message Transfer Agent ในหวขอ
นจะกลาวถง User Agent โดยปกตแลว User Agent เปนโปรแกรมหนง (บางครงเรยกวา Mail
Reader) ทยอมรบคาสงจานวนมากสาหรบการ ประกอบอเมล(composing) การรบ(Receiving) และ
การตอบกลบ(Replying) ขอความรามถงการจดการ Mailbox ดวย User Agent บางสวนมการสราง
สวนตดตอกบผใชทเปนกราฟกอยางด ในขณะทยงมอกสวนหนงทใชวธการออกคาสงแบบงายๆอย
เหมอนเดม ในแงมมของการทางานแลว ทงสองแบบนสามารถทางานไดเหมอนกน
การสงอเมล
ในการสงขอความผานระบบอเมล ผใชตองมขอความทจะสง ทอยของผรบ และอาจจะตองม
คาสาหรบพารามเตอรบางตวขนอยกบโปรแกรมทเลอกใช ขอความอาจถกสรางขนมาดวยโปรแกรม
ประมวลผลคางายๆ ทเรยกวา Text Editor หรอโปรแกรมทมความซบซอนเชน Word processing
หรออาจจะเปนโปรแกรมทสรางมาพรอมกบ User Agent กได ทอยของผรบจะตองเขยนในรปแบบท
User Agent รจก เชน [email protected] อยางไรกตามเปนทนาสงเกตวารปแบบทอยผรบ
แบบอนๆกมอย เชนในระบบ X.400 จะม ลกษณะดงน
/C=US/ST=MASSACHUSETTS/L=CAMBRIDGE/PA-360 MEMORIAL DR/CN=KEN
SKITH/
ทอยนกาหนดชอประเทศ ชอรฐ ชอหนวยงาน ทอยไปรษณย และชอผใช ในรปแบบการ
กาหนดทอยอาจมการใสคณสมบตตางๆเพมเตมเขาไปไดเพอใหผใชสามารถสงอเมลไปยงบคคลทไม
รจกทอยบนอเมลอยางแนชด หากมคณสมบตอนๆชดเจน เชนตาแหนงในบรษท แมวาชอทอยใน
16
ระบบ X.400 จะไมสะดวกในการใชงานเทาในระบบ DNS แตระบบอเมลสวนใหญจะมชอรอง (alias)
หรอชอเลน (Nickname) ทชวยใหผใชมความสะดวกในการอางถงชอผใชในรปแบบทงายกวาและ
สามารถอางองถงชออเมลทถกตองได
ระบบอเมลสวนใหญสนบสนนการใชMailing list ทาใหผใชสามารถสงขอความเดยวกนไปยง
รายชอของผรบกลมหนงดวยคาสงเพยงคาสงเดยว ถาmailing list ไดรบการดแลจากเครองผใชเอง
user agent กเพยงแคสงขอความแยกตางหากไปยงผรบแตละคน อยางไรกตาม ถาmailing list
ไดรบการดแลโดยคอมพวเตอรเครองอนแลว user agentจะสงขอความออกไปเพยงขอความเดยวไป
ยงผดแลนน และปลอยใหเปนหนาทของผดแลทจะจดการสงขอความนนไปยงผรบแตละคนในรายชอ
กลมนน เชน รายชอของนกดนกถกรวบรวมไวใน mailing list ชอ birders ซงตดตงไวทเครอง
meadowlark.arizona.edu ดงนนขอความใดกตามทถกสงไปยง [email protected]
จะถกสงตอไปท University of Arizona และจดการสรางสาเนาขอความขนมาเทากบจานวนชอผรบ
ทอยในรายการ birders แลวสงไปยงผรบแตละคน
การอานอเมล
โดยทวไปเมอ User agent เรมทางาน มนจะตรวจดขอมลทอยใน mailbox ของผใชเพอหา
อเมลใหมทเพงจะถกสงเขามากอนทจะแสดงขอความใดๆขนบนหนาจอ หลงจากนนกจะประกาศ
จานวนขอความทมอยใน Mailbox หรอแสดงขอความสรปของแตละอเมลทรบเขามาและรอรบคาสง
ตอไป
ใหดตวอยางวา User agent ทางานอยางไรโดยพจารณาจากสภานะการณทวไปทอาจ
เกดขนจรงหลงจากทเรมตนใชงาน user agent ผใชจะขอดรายการสรปดงทแสดงตวอยางในตารางท
2-2 แตละบรรทดหมายถงอเมลหนงฉบบ ในตวอยางนมอเมลอย 8 ฉบบ
ขอมลในแตละบรรทดประกอบดวยหลายเขตขอมลทดงออกมาจาก Envelop หรอขอมลสวน
หว (header) ของอเมลแตละฉบบ ในระบบอเมลแบบงายๆ ขอมลทแสดงใหเหนนนถกกาหนดมาโดย
โปรแกรมนนไวแลว แตในระบบอเมลทมความซบซอนมากกวาจะอนญาตใหผใชจดการเลอกชนด
ของขอมลทตองการดไดเอง โดยการกาหนดไวใน user profile ซงเปนไฟลทใชในการอธบายรปแบบ
การแสดงผลขอมลบนจอภาพ ในตวอยางทยกมาน
เขตขอมลแรกคอ หมายเลขของอเมล
17
เขตขอมลทสองคอ “Flag” อาจจะเปน K ซงหมายถงไมใชขอความใหมแตถกอานแลว
และเกบไวใน mailbox “A” หมายถงขอความนนไดถกตอบกลบไปแลว และ “F”
หมายถงขอความนนไดถกสงตอไปยงผอนแลว เปนตน
เขตขอมลทสามคอ “Byte” ใชบอกขนาดของขอความ
ตารางท 2-3 ตารางแสดงรายละเอยด envelop อยางงาย
# Flags Bytes Sender Subject 1 K 1030 asw Changes to MINIX 2 KA 6348 Trudy Not all Trudy are nasty 3 K F 4519 Amy N. Wong Request for information 4 1236 bal Bioinformatics 5 104110 kasshoek Material on peer-to-peer 6 1223 Frank Re:Wil you review a grant proposal 7 3110 guido Our paper has been accepted 8 1204 dmr Re: My student’s visit
เขตขอมลทส “Sender” บอกใหทราบวาใครเปนผสงขอความนนมา เนองจากเขตขอมลน
ถกดงออกมาจากขอความทสงมา จงสามารถแสดงชอตน ชอเตม ชอยอ ชอในระบบ
คอมพวเตอร หรอชออะไรกไดทผสงเลอกทจะใช
เขตขอมลทหา “Subject” ใชบอกประเภทของขอความหรอขอความยอทบอกใหทราบวา
ขอความเตมนนเปนเรองเกยวกบอะไร โดยปกตผใชทไมใสขอมลมาใน”subject” มก
ไมไดรบความสนใจจากผรบมากนก
หลงจากททาการสแสดงขอมลแลว ผใชอาจเลอกทจะทางานไดหลายอยาง เขน แสดง
ขอความทตองการ ลบขอความทงและอนๆ ระบบอเมลแบบเกาๆมกจะเปนระบบทแสดงตวอกษร
เพยงอยางเดยว (Text-based) ซงมกจะใชคาสงเปนตวอกษรเพยงตวเดยว เชน “T” (พมพขอความ)
“A” (ตอบขอความ) “D”(ลบขอความ) และ ”F” (จดสงขอความตอไปยงผอน) ระบบอเมลสมยใหญจะ
เปนการแสดงผลดวยกราฟก ผใชจะเลอกขอความมตองการโดยใชเมาสและ “คลก” ไปทไอคอนท
ตองการในการพมพ การตอบ การลบ หรอการจดสงขอความไดตามตองการ
18
2.2.3 รปแบบของขอความ
ในหวขอนจะไดกลาวถงรปแบบของขอความทอยในอเมล ในรปแบบแรกคอ ตวอกษร ASCII
ตามมาตรฐาน RFC 822 จากนนจะดสวนทเปนกราฟกซงกลาวรายละเอยดไวใน RFC 822 สวน
ขยาย
RFC 822
[1]ขอความในอเมลประกอบดวย Envelop ขอมลสวนหว (header) บรรทดวางและขอความ
จดหมาย แตละเขตขอมลในขอมลสวนหวประกอบดวยขอมลทเขยนอยในบรรทดเดยวกนทอยใน
รปแบบตวอกษร ASCII โดยเรมตนดวยชอเขตขอมล เครองหมายโคลอน (:) และคาสาหรบเขตขอมล
นนๆ มาตรฐาน RFC 822 ไดรบการออกแบบมานานหลายสบปมาแลวจงไมไดกาหนดความแตกตาง
ทชดเจนระหวางเขตขอมลสาหรบ Envelop ออกจากเขตขอมลของขอมลสวนหว แมวาจะไดรบการ
ปรบปรงใหมตามมาตรฐาน RFC 2822 กไมสามารถเปลยนแปลงรปแบบเดมโดยสนเชงไดเนองจาก
เปนรปแบบทมการใชงานอยางกวางขวางมากแลว ในการใชงานปกต user agent จะสรางขอความ
และสงตอใหกบ Message Transfer Agent ซงจะใชขอมลบางสวนจากขอมลสวนหวในการสราง
envelop ขนมาอกตอหนง จงเปนรปแบบทผสมระหวางขอความและ envelop
ตารางท 2-4 เขตขอมลตางๆ ในขอมลสวนหวตาม RFC 822 ทเกยวกบ message transport
Header Meaning To: E-Mail address(es) of primary recipient(s) Cc: E-Mail address(es) of secondary recipient(s) Bcc: E-Mail address(es) of blind carbon copies From: Person or people who created the message Sender: E-mail address of the actual sender Received: Line added by each transfer agent along the route Return-Path: Can be used to identify a path back to the sender
เขตขอมลสวนหวททาหนาทข นพนฐานทเกยวของกบ Message Transport Agent แสดงใน
ตารางท 2-4 เขตขอมล “To:” เปนทอย DNS ของผรบหลก อเมลอาจจะถกสงตอไปยงผรบหลายคน
ได เขตขอมล “Cc:” เปนทอยของผรบในลาดบรองลงมา ในการนาสงอเมลนนไมมการแยกความ
แตกตางระหวางผร บหลกและผร บรอง มนเปนความแตกตางทางดานจตวทยา ซงอาจจะม
ความสาคญตอคนทใชงานแตไมใชสาหรบระบบอเมล คาวา “Cc:” ยอมาจากคาวา Carbon copy นน
เปนคาเกาเนองจากคอมพวเตอรไมใชกระดาษ Carbon copy แตคานกไดรบการนามาใชจนได เขต
19
ขอมล “Bcc:” หรอ Blind Carbon Copy นนมความคลายคลงกบ “Cc:” ยกเวนสงทอยบนบรรทดนจะ
ถกลบทงไปเมอนาสงอเมลไปยงผรบหลกและผรบรอง คณสมบตนชวยใหผใชสามารถสงขอความ
เดยวกนไปยงบคคลทสามไดโดยไมใหผรบหลกและผรบรองทราบ
เขตขอมลตอมาคอ “From:” และ “Sender:” บอกใหทราบวาใครคอผเขยนขอความนนและ
ใครคอผสงตามลาดบ บคคลทงสองนไมจาเปนจะตองเปนคนคนเดยวกน ตวอยางเชน ผบรหารอาจ
เปนผเขยนขอความขนมาและใหเลขานการของเขาเปนผสงขอความนกได ในกรณน ชอผบรหารจะ
อยในตาแหนง “From:” และชอของเลขานการจะอยในตาแหนง “Sender:” ในกรณทผเขยนขอความ
เปนคนคนเดยวกบผสงขอความกไมจาเปนตองใชเขตขอมล “Sender” เขตขอมลทงสองนมความ
จาเปนตองใชในกรณทไมสามารถสงขอความนไปยงผรบไดและจาเปนจะตองสงขอความนกลบคนมา
ทผสง
บรรทดตอมาคอ “Received:” ขอมลจะถกใสเขามาโดย message transfer agent ในระหวาง
ทางทนาสง บรรทดนจะบรรจเอกลกษณของ agent วนและเวลาทขอความนถกนาสงไปถงผรบ และ
ขอมลอนๆทสามารถนามาใชคนหาขอผดพลาดทเกดขนในระหวางการนาสง
เขตขอมล “Return-Path:” ถกเตมขอมลเขามาโดย message agent ตวสดทายและถก
ออกแบบมาเพอจะไดสงขอความยอนกลบไปหาผสงได ในทางทฤษฏ ขอมลนสามารถรวบรวมไดจาก
“Received:” ทงหมดในขอมลสวนหว ยกเวนชอเมลบอกของผสง แตโดยทวไปกมกจะถกเตมเขามา
ตามลาดบและมกจะมทอยของผสงอยในนดวย
ตารางท 2-5 เขตขอมลบางสวนทใชใน RFC 822
Header Meaning Date: The date and time the message was sent Reply-To: E-mail address to which replies should be sent Message-Id: Unique number for referencing this message later In-Reply-To: Message-Id of the message to which this is a reply Refrences: Other relevant Message-Ids Keywords: Other relevant Message_Ids References: Other relevant Message-Ids Subject: User-chosen keywords
20
นอกเหนอจากเขตขอมลทแสดงในรป 2-5 แลว มาตรฐาน RFC 822 ยงมเขตขอมลอนๆอก
มากซงสามารถนาไปใชงานไดโดย Agent ของผใชและคนทรบขอความนน เขตขอมลทใชกนทวไป
แสดงในรป 2-5 เขตขอมลสวนใหญสามารถทราบความหมายไดจากชอของเขตขอมลนน
เขตขอมล “Reply-To:” ในบางครงถกนามาใชเมอผทสรางขอความขนมาและผทสงขอความ
ออกไปไมตองการทจะเหนคาตอบรบจากการสงขอความน ตวอยางเชน ผจดการดานการตลาดเขยน
อเมลไปบอกลกคาเกยวกบผลตภณฑตวใหม ขอความนถกสงออกไปโดยเลขานการของเขา แต
“Reply To:” เปนชอของหวหนาฝายขายซงเปนผทจะสามารถตอบคาถามแกลกคาและสามารถรบคา
สงซอจากลกคาได เขตขอมลนกมประโยชนเมอผสงมทอยอเมลสองบญชทตองการใชสาหรบการสง
หนงบญชและสาหรบการรบอกหนงบญช
เอกสารประกอบมาตรฐาน RFC 822-ระบไวอยางชดเจนวาผใชไดรบอนญาตใหสรางขอมล
สวนหวขนมาใหมไดเพอนามาใชเปนการสวนตว โดยมเงอนไขวาขอมลเหลานจะตองเรมตนดวย “X-
“เพอหลกเลยงขอขดแยงระหวางเขตขอมลทเปนทางการกบทใชงานสวนตว
หลงจากขอมลสวนหวกจะเปนตวขอความ(Body) ผใชสามารถใสขอความใดๆกไดลงในสวน
น
The Multipurpose Internet Mail Extensions (MIME)
[1]ระบบอเมลทไดรบการคดคนขนมานานแลวนนไมสามารถตอบสนองความตองการใน
ปจจบนได เชน
1. ขอความทเขยนดวยภาษาอนนอกจากภาษาองกฤษ
2. ขอความทใชตวอกษรแตกตางออกไป
3. ขอความในภาษาทไมใชตวอกษร
4. ขอความทไมมตวอกษรอยเลย
หนทางแกไขไดรบการกาหนดไวในมาตรฐาน RFC 1341 และปรบปรงใน RFC 2045-2049
วธการแกปญหานเรยกวา MIME (Multipurpose Internet Mail Extensions) ซงไดรบการนามาใช
งานอยางกวางขวางในปจจบน
แนวความคดพนฐานของ MIME คอการทยงคงใชมาตรฐาน RFC 822-แตวาไดเพมเตม
โครงสรางในสวนตวขอความและกาหนดวธการเขารหสขอมลสาหรบขอความทไมใชรหส ASCII แตก
ไมไดแยกตวออกไปจาก RFC 822 นนคอขอความใน MIME สามารถถกสงไดโดยใชโปรแกรมและ
21
โพรโตคอลทมใชอยในปจจบน สงทตองไดรบการแกไขคอโปรแกรมสาหรบสงและสาหรบรบขอความ
ซงผใชสามารถทาไดเอง
ตารางท 2-6 ขอมลสวน body ทเพมเตมเขตขอมลของ MIME เขาไป
Header Meaning MIME-Version: Identifies the MIME version Content-Description: Human-readable string telling what is in the message Content-Id: Unique identifier Content-Transfer-Encoding: How the body is wrapped for transmission Content-Type: Type and format of the content
MIME ไดกาหนดเขตขอมลสาหรบขอมลสวนหวขนมาใหม 5 เขตขอมลดงแสดงตารางท 2-5
เขตขอมลแรกบอกให user agent ทรบขอความนทราบวากาลงรบขอความแบบ MIME และเปนรนท
เทาใด ขอความทไมม “MIME-Version:” นนจะถอวาเปนขอความภาษาองกฤษลวน (แบบเกา)
เขตขอมล”Content-Description:” เปนขอมลประเภทตวอกษร (ASCII) ทบอกใหทราบวา
ขอมลใดอยในขอความทสงมา เขตขอมลนมความจาเปนเพอบอกใหผรบทราบวาขอความทสงมาเปน
เรองอะไร มความสาคญเพยงใดทจะตองอานขอความนน เชน ถาเปนขอความทบอกวา “Photo of
Bird-Thongchai” ถาผรบไมใชแฟนเพลงของเบรด ธงชยกจะไมใหความสนใจกบขอความ (รป) ทสง
มาน
เขตขอมล”Content-Id:” ใชในการระบตวตนของสงทสงมาเปนขอมลประเภทเดยวกน
“Message-Id:” ซงอาจจะเปนหมายเลขเฉพาะอยางหนง
เขตขอมล “Content-Transfer-Encoding” บอกใหทราบวาตวขอความนนถกหอหมเพอการ
จดสงผานระบบเครอขายอยางไร ซงอาจจะเปนสญลกษณอนนอกเหนอจากตวอกษร ตวเลข และ
เครองหมายบางอยาง ซงMIME ไดนาเสนอวธการไว 5 แบบ แบบทนยมมากทสดคอ ASCII text ซง
เปนตวอกษรมาตรฐานเขารหสดวยขอมลขนาด 7 bits และสามารถทจะใชงานรวมกบโพรโตคอล
อเมลไดโดยตรงจะมขนาดไมเกน 1000 ตวอกษร
แบบทสองเปน ASCII เหมอนกนแตเขารหสดวยขอมลขนาด 8 บต ทาใหมรปรางตวอกษรได
256 แบบ การเขารหสแบบนไดขดแยงตออนเตอรเนตอเมลโพรโตคอลรนดงเดมทยงคงมการใชงาน
อยในบางสวนของระบบอนเตอรเนต
22
แบบทสามเปนการสงขอความทเขารหสดวยภาษาไบนาร (Binary) ไฟลประเภทนจะไมม
ขอบเขตอยท 1000 ตวอกษร ตวอยางไดแก โปรแกรมทสามารถประมวลผลได (executable
program) ไมมการรบประกนวาไฟลประเภทนทถกสงมากบขอความจะมาถงผรบอยางถกตอง
วธการทถกตองในการสงขอมลประเภทไบนาร คอการเขารหสขอมลดงกลาวดวยวธ
BASE64 Encoding บางครงเรยกวา ASCII armor ดวยวธการนจะทาการแบงขอมลออกเปนกลม
กลมละ 24 bits ขอมลแตละกลมจะถกแยงยอยออกเปนกลมยอยละ 6 bit ซงจะเขยนแทนดวย
ตวอกษร ASCII หนงตว การเขารหสนนจะกาหนดให “A” แทน “0” และ “B” แทน “1” ไปจนครบ 26
ตว ตามดวยตวอกษรตวเลกอก 26 ตว ตามดวยตวเลขอก 10 ตว และแทน “62” และ “63” ดวย
เครองหมาย “+” และ “/” ตามลาดบ รวมกนเปนทงหมด 64 ตว เครองหมาย “==” และ ”=” ใชแทน
ความหมายวาขอมลในกลมสดทายมขนาดเพยง 8 และ 16 บต ตามลาดบ ตวอกษร carriage return
และ line feed นนจะถกละเลยจงสามารถใสแทรกเขาไปในตาแหนงใดกไดเพอทาใหแตละบรรทดนน
สนลง การสงขอมลไบนารจงสามารถสงไดอยางปลอดภยดวยวธการน
สาหรบขอความทประกอบดวยตวอกษร ASCII เกอบทงหมดแตมขอมลบางตวทไมใชรหส
ASCII การใชรหส Base 64 Encoding นนจะมประสทธภาพตามาก จงเปลยนไปใชการเขารหสอกวธ
หนงเรยกวา “quoted-printable encoding” นนคอใชรหส ASCII ขนาด 7 บตและตวอกษรทงหมดทม
รหสสงกวา 127 ขนไปดวยเครองหมาย “=” ตามดวยหมายเลขของตวอกษรนนทเขยนเปน
เลขฐานสบหกสองหลก
โดยสรปแลว ขอมลไบนารควรถกสงโดยการใชวธเขารหสแบบ Base 64 หรอ quoted-
printable แตเมอมเหตผลทดพอทจะไมใชการเขารหสแบบทกลาวถงน กมความเปนไปไดทจะใช
วธการเขารหสแบบทผใชเปนผกาหนดเองซงจถกระบไวใน “Content-Transfer-Encoding”
ขอมลสวนสดทายทแสดงในรปท 2-6 เปนสงทนาสนใจทสดเพราะใชเปนตวกาหนดชนดของ
ตวขอความ ซงมาตรฐาน RFC 2045 ไดกาหนดไวเปน 7 ชนด โดยทแตละชนดอาจแบงเปนชนด
ยอยไดอกจานวนหนงชนด และชนดยอยนนอธบายแยกกนดวยเครองหมาย “/” ดงเชน
Content-Type: video/mpeg
ชนดยอยนนจะตองถกระบไวอยางชดเจนในขอมลสวนหวเพราะไมมการกาหนดคา Default
เอาไวให รปท 2-5 แสดงรายการชอชนดและชนดยอยทสามารถนามาใชงานได และยงมชนดและ
ชนดยอยใหมๆ อกจานวนหนงทไดรบการเพมเตมเขาไปและสามารถทจะเพมเตมไดอกเมอจาเปน
“text/
ในทน
สามา
HTM
แตกต
ขอคว
Gene
เมอแ
การแ
เครอ
อนๆ
ขอความช
/plain” ใชสาห
นททไดรบโด
ารถสงขอควา
“text/enri
Lแตมขดควา
ตางไปจากก
วามทตองกา
eralized Mar
The <bol
แสดงผลจะเป
The time
อยางไรก
แสดงตวหนา
งผรบไมสนบ
ไดแก ตวสต
รปท
ชนด Text ห
หรบบอกชน
ดยไมมวธกา
ามทเปนตวห
ched” ใชในก
ามสามารถน
ารแสดงผลต
าร ภาษาปร
rkup Langua
ld> time </b
นเปนดงน
e has come
ตาม ขนอยก
(bold) และ
บสนนการแส
ตางๆ ตวกระ
ท 2-5 type a
หมายความวา
ดของขอควา
ารเขารหสขอ
นงสอผาน M
การสรางภาษ
นอยกวามาก
ตวอกษรธรรม
ะเภทนพฒน
age)
body> has co
the walrus
กบเครองของ
ะตวเอยง(Ital
สดงผลทงสอง
รบ ตวอกษร
and subtype
าขอความทส
ามปกตทวไป
อมลใดๆทจ
MIME ไดโดย
ษาประเภท m
ก) ภาษาประ
มดา เชน ตว
นาขนมาโดย
ome the <ita
said …
ผรบทจะแสด
ic) ขอความ
งแบบน ผลท
รขดเสนใต เป
e ของขอควา
สงมานนจะเป
ปทสามารถจะ
ะตองทาการ
ยใชขอมลสวน
makeup lang
ะเภทนจะสน
วอกษรหนา
ยอาศยมาตร
alic> walrus
ดงผลใหออก
มกจะปรากฏ
ทออกมากจะ
ปนตน
มใน MIME
ปนตวอกษร A
ะนาไปแสดง
รถอดรหสกอ
นหวเพยงเลก
guage แบบง
บสนนวธการ
ตวอกษรเอย
รฐานจาก SG
s</Italic> sai
มในลกษณะ
ตามทแสดงต
เปนตวอกษร
ASCII text ช
ผลบนหนาจ
อน ตวเลอก
กนอย
งายๆ(คลายก
รสรางการแ
ยง หรอการข
GML (S
id …
ะอยางใด ถาส
ตวอยางใหเห
รตามปกต ค
23
ชนดยอย
อภาพได
นชวยให
กบภาษา
สดงผลท
ขดเสนใต
Standard
สนบสนน
หน แตถา
คณสมบต
24
เมอเวบไดเรมเปนทนยมใชงาน ชนดยอยชนดใหมไดเกดขนนนคอ “text/html” (RFC 2854)
ทาใหสามรถสงเวบเพจเขามาเปนสวนของขอความในอเมลได และชนดยอยใหมอกชนดหนงคอ
“text/xml” ซงใชสาหรบภาษา extensible markup language ซงไดกาหนดมาตรฐานไวเปน RFC
3023
MIME ชนดตอไปคอ “image” ซงใชในการสงรปภาพ รปแบบของรปภาพทใชในการสราง
รปภาพในปจจบนนนมอยมากมายทงแบบทมการบบอดขอมลและแบบทไมมการบบอดขอมล
รปแบบทเปนทนยมใชงานกนสองแบบไดแก GIF, JPEG ไดรบการสนบสนนโดยโปรแกรม
บราวเซอรทกชนด
ขอความชนด “audio” และ “video” ใชสาหรบเกบขอมลเสยงและภาพวดทศนตามลาดบ
สาหรบภาพวดทศนในทนเกบไดเฉพาะภาพเทานน สวนเสยงนนไมสามารถเกบไวได ถาตองการสง
ทงภาพและเสยงกจะตองใชทงขอมล audio และ video ซงอาจจะตองแยกกนสง ทงนขนอยกบระบบ
การเขารหสขอมลทเลอกใช รปแบบของขอมลวดทศนแบบแรกทไดรบการพฒนาขนมาคอ Moving
Picture Experts Group (MPEG) นอกเหนอจาก “audio/basic” แลวขอความชนดใหมคอ
“audio/mpeg” ไดรบการกาหนดเปนมาตรฐาน RFC 3003 ทาใหผใชสามารถสงเพลงทเขารหสแบบ
MP3 ได
ชนด “application” เปนรปแบบแปลกใหมทตองอาศยการประมวลผลจากภายนอกชวยเหลอ
“octet-stream” นนเปนเพยงขอความทเปนลาดบของไบตทไมมการแหลความหมาย เมอไดรบ
ขอความประเภทน user agent จะแสดงผลโดยการเสนอแนะใหผใชทาการสาเนาขอมลนเกบไวใน
แฟมขอมล การประมวลผลในลาดบตอไปกขนอยกบผใช
ขอความชนดตอไปนคอ “POSTSCRIPT” ซงอางองถงภาษา PostScript language ท
พฒนาขนมาโดยบรษท Adobe Systems และถกนามาใชอยางกวางขวางในการอธบายขอมลทจะ
พมพออกทางเครองพมพ แมวา user agent จะสามารถเรยกใชโปรแกรมภายนอก (PostScript
interpreter) เพอทาการแสดงผลออกทางจอภาพได แตการกระทาดงกลาวกอาจมอนตรายแอบแฝง
อยได เนองจาก PostScript เปนภาษาสาหรบโปรแกรมชนดหนง ซงถาใหเวลามากเพยงพออาจมคน
ทสามารถเขยนโปรแกรมคอมพวเตอรโดยใชภาษา PostScript กได การแสดงผลขอความ
PostScript ทไดรบเขามานนกระทาโดยการประมวลผลโปรแกรม PostScript ทมาพรอมกบขอความ
นน นอกเหนอจากการแสดงขอความหรอภาพบนหนาจอแลว โปรแกรมนกมขดความสามารถในการ
อาน แกไข หรอลบแฟมขอมลของผใชไดหรออาจจะมผลกระทบเลวรายในทางอนอกกได
25
ขอความชนด “Message” ชวยในการใสขอความหนงเขาไปในอกขอความหนงได วธการนม
ประโยชนอยางมากในการสงอเมลไปใหคนอนตอไป (forwarding)
ชนดยอย “partial” ชวยในการแบงขอความทซอนอยในขอความอน (encapsulated
message) ออกเปนสวนๆ และจดการนาสงแยกกน (อาจนาไปใชในกรณทขอความทซอนอยใน
ขอความอนนนมขนาดยาวเกนไป) การใชพารามเตอรจะชวยใหสามารถนาชนสวนตางๆ กลบมา
ประกอบกนเปนขอความเดมไดอยางถกตอง
ขอความชนด “external-body” นามาใชกบขอความขนาดยาวมาก เชน วดทศน แทนทจะ
รวมไฟล mpeg เขาไปในขอความดวยเลยกจะใสทอย ftp address เขาไปแทนและ user agent ของ
ผรบกจะสามารถดงไฟลนนผานระบบเครอขายมาไดเมอตองการในภายหลง คณสมบตขอนม
ประโยชนอยางมากเมอตองการสงวดทศนไปยงผรบทอยใน mailing list ซงอาจมเพยงไมกคนทจะ
สนใจดวดทศนนน
ขอความชนด “multipart” ชวยใหขอความนนประกอบไปดวยหลายสวนได โดยสามารถ
กาหนดจดเรมตนและจดสนสดของแตละสวนไดอยางชดเจน ขอความชนด “mixed” ระบวาขอความ
แตละสวนนนแตกตางกนโดยไมจาเปนตองมโครงสรางใดๆ โปรแกรมอเมลจานวนมากอนญาตใหผใช
แทรกขอความเขาไปไดหลายขอความ ขอความแทรกนเรยกวา attachment ซงถกใสเขาไปโดยใช
ขอความชนด “multipart”
ในทางกลบกนขอความชนด “alternative” ชวยในการแทรกขอความหนงเขาไปไดหลายจด
แตถกแสดงในหลายรปแบบ ตวอยางเชน ขอความเดยวกนอาจถกสงในรปแบบ ASCII text,
enriched text, และ Postscript โปรแกรม user agent ทไดรบการออกแบบอยางเหมาะสม เมอไดรบ
ขอความประเภทนแลวเลอกทจะแสดงขอความในรปแบบ Postscript กอนเปนลาดบแรก ถาไม
สามารถทาไดกจะใชรปแบบ enriched text ถาทาไมไดกจะใชรปแบบ ASCII text ในการสดงผล
ตวเลอกควรจะไดรบการจดเรยงในลกษณะทเรยงจากรปแบบทงายทสดไปถงรปแบบทซบซอนทสด
ขอความชนด alternative” สามารถนามาใชกบขอความทเขยนดวยหลายภาษาได
ตวอยางการใชขอความแบบมลตมเดยแสดงในรป 2-6 ในทนเปนขอความแสดงความยนดใน
วนคลายวนเกดทถกสงออกไปสองรปแบบ คอรปแบบตวอกษรและรปแบบเสยงเพลง ถาผรบมขด
ความสามารถในการเลนเพลงได user agent ของผรบจะทาการดงไฟลเสยงชอ “birthday.snd” และ
เลนใหฟง แตถาไมมขดความสามารถนกจะแสดงขอความบนหนาจอภาพแตเพยงอยางเดยว
ขอความทงสองสวนจะถกแยกจากกนโดยมเครองหมาย “—“ ปรากฏอยขางหนาตามดวยขอความท
เปนต
พารา
เปนก
ยอยข
(exte
ทราบ
ASCI
ชนดย
ภาพย
ไปพร
ไวดว
สนทน
ตวหนงสอช
ามเตอรสาหร
รปท 2-6 ข
สงเกตวา
การบอกใหท
ของขอความ
ernal file) ใ
บในกรณทตว
II ขนาด 7 บ
ขอความท
ยอย “Paralle
ยนตรมกจะแ
รอมกน ทาย
วยกน เรยกวา
นาจากสมาช
ชดหนง(ไมส
รบการกาหนด
ขอความทแบง
ขอความชนด
ทราบวาขอคว
มในสวนนน
ห user age
วขอความในส
ต
ทแบงออกเป
el” ซงบอ
แบงออกเปนส
ทสดชนดยอ
า composite
ชกเขาไวดวยก
สามารถอาน
ดขอบเขตขอ
งออกเปนหล
ด “Content-T
วามนแบงออ
ภายในตวข
ent ทราบ ส
สวนทอยภาย
นหลายสวนน
กใหทราบวา
สองสวน คอส
ย “Digest”
e message
กนและจดกา
นเปนคาได)
องขอความนน
ลายสวนประก
Type” เกดข
อกเปนหลาย
ขอความของ
สวน”content-
ยนอกนนใชว
นนยงมความ
าขอความยอ
สวนภาพและ
ถกนามาใชเ
เชน กลมสน
ารสงตอไปยง
) ทสรางขน
น
กอบดวย enr
นสามตาแหน
ยสวน ในแตล
สวนทสอง ม
-transfer-enc
วธการเขารห
มเปนไปไดใน
ยทกสวนจะ
ะสวนเสยง ซ
เมอขอความ
นทนาบนระบ
งสมาชกในกล
นมาโดยซอฟ
riched text แ
นงในตวอยาง
ละสวนจะมก
มการระบชน
coding” นนก
สขอมลแบบใ
นการแสดงผล
ตองถกนามา
งทงสองสวน
หลายขอควา
บอนเตอรได
ลม “multipar
ฟตแวรนาม
และไฟลเสยง
ง ทตาแหนง
การระบชนด
นดของไฟลภ
กมความตอง
ใดทนอกเหน
ลลพธเปนสอ
าแสดงพรอม
นนจาเปนทจะ
ามถกนามาใ
ดรวบรวมขอค
rt/digest”
26
าใชเปน
บนสดจะ
และชนด
ภายนอก
งการทจะ
นอไปจาก
งกรณคอ
มกน เชน
ะตองเลน
สรวมเขา
ความการ
27
2.2.4 Message Transfer
ระบบ Message transfer เกยวของกบการถายทอดขอความจากผผลตไปยงผรบ วธการท
งายทสดในการจดการนกคอจดตงชองสอสารขอมลขนมาจากผสงไปยงผรบและจากนนกจดการจดสง
ขอความ
The Simple Mail Transfer Protocol (SMTP)
[1]ภายในระบบอนเตอรเนตอเมลถกนาสงโดยการใหเครองทผลตขอความขนมานนจดตง
ชองสอสาร TCP ไปยงพอรตหมายเลข 25 ของเครองเปาหมาย การรอรบการตดตอของพอรตนเปน
หนาทของ e-mail daemon ทใชโปรโตคอล SMTP (Simple Mail Transfer Protocol) โปรแกรม
daemon ตวนจะคอยรบสญญาณการขอจดตงชองสอสารและทาการสรางสาเนาขอความทถกสงเขา
มาไปสงยงเมลบอกทถกตอง ถาขอความไมสามารถถกนาสงไดกจะสรางรายงานความลมเหลวท
ประกอบดวยสวนแรกของขอความทสงมาและจดการสงกลบไปยงเจาของขอความนน
ตารางท 2-7 คาสง SMTP ทใชตดตอกนระหวาง MTA
Command Function HELO hostname ระบชอเครองททาการตดตอเขามาเมอสอสารดวย SMTP
EHLO hostname ระบชอเครองททาการตดตอเขามาเมอสอสารดวย ESMTP
MAIL FROM: revpath เรมตนการขบวนการสอสาร ระบผสง(envelope sender)
RCPT TO: fwdpath ระบถงผรบ
VRFY address ตรวจเชคความถกตองของอเมลแอสเดรสวามอยจรง
EXPN alias address คลายคาสง VRFY แตใชรองขอรายชอใน mailing list
DATA บอกเรมตนการเขยนขอความ เมอจบขอความจะใช “ . ”
QUIT ยตการสอสาร
RSET รเซตสถานะการเชอมตอใหม
HELP คาสงชวยเหลอ บอกถงคาสงทรองรบการใชงาน
SMTP เปนโปรโตคอลแบบงายอยางหนงทใชคาสงในการตดตอเปน ASCII text ภายหลง
จากทจดตงชองสอสาร TCP เขากบพอรต 25 แลว ผสงขอมลจะทาหนาทเปนผใชบรการทตอให
เครองผรบซงทาหนาทเปนผใหบรการสงสญญาณตดตอมากอน ผใหบรการจะเรมตนดวยการสง
ขอความ text มาบรรทดหนงเพอบอกสญลกษณตวตน (identity) และบอกใหทราบวาพรอมทจะรบ
เมลแลว แตถาไมมการสงขอความนออกมาจะถอวาเปนการตดตอทลมเหลว ผใชบรการจะตอง
ยกเลกการเชอมตอนและพยายามใหมในภายหลง
จะถก
ผใหบ
ดวยค
ผใชบ
ตวอย
ขอคว
ดวย
มาโด
ไปยง
ตอบป
ถาผใหบร
กสงไปใหใคร
บรการกจะสง
คาเชคซม(ch
บรการกสามา
ยางการจดสง
วามในบรรทด
“S:”
คาสงแรก
ดยผรบเพยงค
งผรบหลายค
ปฏเสธ เนอง
รการพรอมท
ร ถาผรบมต
งสญญาณรบ
hecksum) เน
ารถจดสงได
งขอความ รว
ดทสงโดยผใ
กทสงไปจากผ
คนเดยว ดงน
นได ซงผรบ
จากไมมผรบ
ทจะรบเมล ผใ
วตนอยในเค
บทราบ ในทน
นองจาก TCP
ตอไป เมออเ
วมทงโคดทใช
ชบรการจะข
ผใชบรการคอ
นนจงตอบกล
แตละคนกจะ
บทปลายทางน
ใชบรการจะป
ครองเปาหมา
นไมมความจ
P จดตงชองส
เมลทงหมดถ
ชในการสอส
ขนตนดวย “C
อ “HELO” (ย
ลบไปดวย “R
ะสามารถตอ
นน ขอความ
ประกาศใหท
าย ผใชบรกา
าเปนจะตอง
สอสารทไวใจ
ถกสงเรยบรอ
สารในระบบ S
C:” และขอค
ยอมาจากคาว
RCPT” เพยงค
บรบหรอตอบ
มกจะยงคงถก
ทราบวาเมลน
ารกจะจดกา
ตรวจสอบคว
จได ถายงคง
อยแลวการเช
SMTP แส
ความทสงโดย
วา “hello”) ใ
ครงเดยว คา
บปฏเสธกได
กสงไปยงผรบ
นถกสงมาจาก
รสงเมลนนม
วามถกตองข
งมอเมลทจะต
ชอมตอกจะถ
สดงใหเหนใน
ยผใหบรการ
ในรป 2-5 ขอ
าสงประเภทน
ด แมวาผรบบ
บทตอบตกลง
รปท 2-7 กและการถาขอความจelinor@abยงCarolyn
28
กใครและ
มาใหและ
ของขอมล
ตองสงอก
ถกยกเลก
นรปท 2-7
จะขนตน
อความสง
นสามารถ
บางคนจะ
งได
การสอสารายทอดาก bcd.com ไป[email protected]
29
เพอใหไดรบความรสกทแทจรงของการทางานของ SMTP และโปรโตคอลอนอกบางตวท
กลาวถงในทน เรมตนดวยการไปยงเครองคอมพวเตอรทใชระบบปฏบตการ UNIX และมการเชอมตอ
เขากบระบบอนเตอรเนต จากนนปอนคาสงตอไปนเขาไป
telnet mail.isp.com 25
ใหแทนทชอ DSN “mail.isp.com” ดวยชอ mail server ของ ISP ทผใชใชงานอยในระบบ
Window กใหปอนคาสงดงกลาวลงไปไดเหมอนกน คาสงนจะจดการเชอมตอ TCP เขากบพอรต 25
ของเครอง mail server พอรต 25 เปนชองทางทโปรโตคอล SMTP ใชสอสาร ดงนนผใชควรไดรบ
คาตอบกลบมาดงน
Trying 192.30.200.66
Connected to mail.isp.com
Escape character is “^].
220 mail.isp.com Smail *74 ready at Thu, 25 Sept 2002 13:26 +0200
สามบรรทดแรกเปนขอความทสงมาจาก telnet บอกใหทราบวากาลงทาอะไรอย บรรทด
สดทายนนมาจาก SMTP Server บนเครองผรบประกาศใหทราบวาเครองนนพรอมทจะรบคาสง
ตอไปหรออเมล จากจดนการสงคาสงตางๆเชนทไดแสดงในรป 2.7 นนสามารถทาไดโดยเรมตนจาก
การสงคาสง “HELO” ถาตองการทราบวามคาสงอะไรบางใหพมพคาสง HELP
เปนทนาสงเกตวาการใชคาสง ASCII นนไมใชเปนเรองทเกดขนโดยบงเอญ เพราะวา
โปรโตคอลบนอนเตอรเนตสวนใหญทางานในลกษณะเดยวกนน การใช ASCII text ชวยใหสามารถ
ทดลองและแกไขโพรโตคอลไดโดยงาย โพรโตคอลเหลานจะสามารถกทดสอบไดโยการสงคาสงทละ
คาสงซงกจะไดรบคาตอบกลบมาดงทเหน
แมวาโปรโตคอล SMTP จะไดรบการออกแบบมาเปนอยางด แตกอาจมปญหาบางอยาง
เกดขนได ปญหาประการหนงเกยวของกบความยาวของขอความ SMTP รนเกาบางสวนไมสามารถ
รบขอความทมความยาวเกน 64 KB ได อกปญหาหนงเกยวกบระยะเวลารอคอย ถาผใชบรการและผ
ใหบรการมระยะเวลารอคอยทแตกตางกน หนงในนนอาจยกเลกการทางานแลว ในขณะทอกฝายหนง
ยงคงทางานอย ซงเปนการยกเลกการตดตอทไมคาดฝน ประการสดทาย ในบางกรณทอาจจะเกดขน
ไดนอยมาก อาจมการสงขอความเขามาอยางไมจากด ตวอยางเชน ถาโฮส 1 ม mailing list A และ
30
โฮส 2 ม mailing list B แตละรายการมชอผรบของอกฝายหนงอย ดงนนขอความทสงไปถงอกฝาย
หนงกจะกระตนใหเกดการสงขอความกลบมายงอกฝายหนงไดอยางไมรจบ
2.2.5 Final Delivery
จนกระทงถงบดน ขอสมมตฐานเดมทใชอยกคอเครองผรบนนมความสามารถในการรบและ
สงอเมลดงทไดกลาวไปแลว อเมลไดรบการนาสงโดยการจดตงการเชอมตอ TCP ไปยงผรบจากนน
จงสงอเมลผานมาทางชองสอสารน รปแบบการทางานนสามารถใชงานมาไดนานนบสบปเมอโฮสทก
ตวในระบบ ARPANET นนทางานอยตลอดเวลาในการยอมรบการเชอมตแบบ TCP
อยางไรกตามเมอมเหตการณทผใชทตดตอเขาสระบบอนเตอรเนตทาง ISP โดยใชโมเดม
และพยายามทจะจดตงการเชอมตอ TCP แตไมสาเรจ ปญหาทเดดขนคอ ถา Elinor ตองการสงอเมล
ไปยง Carolyn แต Carolyn ไมไดใชงานคอมพวเตอรอย Elinor กจะไมสามารถจดตงการเชอตอ
TCP ขนมาได จงไมสามารถใชงานโปรโตคอล SMTP ได
หนทางแกปญหาทางหนงกคอให message transfer agent บนเครอง ISP จะทางานอย
ตลอดเวลา ดงนนจงสามารถสงอเมลไดตลอดเวลาเชนกน
POP3 (Post Office Protocol Version 3)
[1]อยางไรกตาม การแกปญหาในลกษณะทกลาวถงนไดสรางปญหาใหมขนมาคอ ผใชจะอาน
อเมลของตนเองจาก Message transfer agent ของ ISP ไดอยางไร การแกปญหาจะตองสราง
โปรโตคอลใหมขนมาทยอมให transfer agent ของผใชสามารถตดตอกบ Message Transfer Agent
ของ ISP และจดการสงสาเนาอเมลจาก ISP มายงผใช โปรโตคอลนเรยกวา “POP3 (Post Office
Protocol Version 3) ซงตรงกบมาตรฐาน RFC 1939 สถานะทเคยเกดขนคอทงผสงและผรบมการ
เชอมตอบนอนเตอรเนตอยางถาวร แสดงใหเหนในรป 2-8 สวนสถานการณทผสงกาลงทางานอยใน
ขณะทเครองผรบไมไดทางานแสดงใหเหนในรปท 2-9 POP3 เรมทางานเมอผใชเรมประมวลผล
โปรแกรมอานเมล โปรแกรมนจะตดตอไปยง ISPและจดตงการเชอตอ TCP ขนมาโดยท Message
Transfer Agent ทางานอยทพอรต 110 เมอการเชอมตอเกดขนแลว POP3 จะเปลยนสถานะการ
ทางานเปน 3 ขนตอนดงน
1) การตรวจสอบผใช (Authorization)
2) รายการทางาน (Transaction)
3) การปรบปรงขอมล (Update)
รายก
ลบขอ
เครอง
จดตง
สอสา
จะเรม
รปท 2
รป
สถานการ
การทางานอย
อความอเมลน
งหมายไวแล
telnet ma
โดยท “m
งการเชอมตอ
ารแลว เซรฟ
มตนขอความ
2-8 การสงแล
ปท 2-9 การอ
รณตรวจสอบ
ยในขนตอนท
นนๆทงจาก
วออกจาก m
ail.isp.com 1
mail.isp.com”
อ TCP เขาก
เวอรจะสงขอ
มดวย “+OK”
ละรบอเมลเม
อานอเมลเมอ
บผใช หมายถ
ทผใชถายโอน
mailbox ขน
mailbox สงทเ
110
หมายถงช
กบพอรต 110
อความเปน A
ตามดวยคอ
มอผรบมการ
อผรบใชวธกา
ถงขนตอนทบ
นอเมลไปทเค
นตอนการปร
เกดขนนสาม
ชอ DNS ขอ
0 ของเมลเซ
ASCII Text ป
มเมนต (Com
เชอมตอกบอ
ารเชอตอผาน
บงคบใหผใช
ครองของตน
รบปรงขอมลจ
ารถสงเกตเห
องเมลเซรฟเ
รฟเวอรททา
ประกาศวากา
mment)
อนเตอรเนตอ
นโมเดมไปยง
ทาการ log i
นเอและทาเคร
จะทาการลบข
หนไดดวยการ
วอร ISP ค
างานอย เมอ
ารเชอมตอเร
อยางถาวร
ง ISP
in เขาสระบบ
รองหมายสา
ขอความอเม
รใชคาสง
คาสง telnet จ
ยอมรบการจ
รยบรอยแลว
31
บ สถานะ
าหรบการ
มลทไดทา
จะทาการ
จดตงการ
โดยปกต
32
2.3 สแปมเมล (Spam Mail)
มอเมลประเภทหนงทสงมาโดยทผรบไมตองการและไมเคยขอใหสงมา โดยสวนใหญเปน
จดหมายโฆษณาใหเขาไปใชบรการบนอนเตอรเนต ซอสนคา เขาไปคลกเวบไซทโฆษณาหาสมาชก
เวบไซท รวมไปถงจดหมายหลอกลวงตางๆ ผทมอเมลแอดเดรสใชงานเปนของตวเองคงจะเคยไดรบ
จดหมายโฆษณาชวนเชอตางๆไมมากกนอย จดหมายเหลานอาจจะมแหลงทมาหลากหลาย มาจาก
ผผลตสนคาเองบาง จากเวบไซททเปนสมาชกอยบาง จากการใหดาวนโหลดโปรแกรมทดลองใชบาง
จากนวสกรปทเขาไปแลกเปลยนขอมลกน หรอในบางครงอาจจะนกไมออกวาเคยไปใหอเมล
แอดเดรสกบบรษทบางประเภทตงแตเมอไร อเมลทผรบไมตองการเหลานและถอวาเปนจดหมายขยะ
(Junk Mail) หรอรจกกนในนามสแปมเมล (Spam Mail)
2.3.1 ความหมายของสแปมเมล สแปม(Spam) คอคาจากอนทใชเรยกจดหมายขยะ ซงรจกกนดในชอ Unsolicited
Commercial Email (UCE)
2.3.2 ลกษณะการคกคามของสแปม การคกคามหรอการสรางปญหาของสแปมเมลตอผใชนนมอย 2 ลกษณะ
1.การสงอเมลเขามายงเมลบอกซของผใชโดยทผใชไมตองการ การคกคามลกษณะนเปนสงท
พบเหนไดงาย ผทใชงานอเมลสวนใหญจะตองเคยประสบกบสแปมเมลในลกษณะนบางไมมากกนอย
สาเหตสาคญทสแปมเมอรสามารถสงเมลเขามาไดนนเพราะโปรโตคอล SMTPทใชงานอยทกวนนไม
มกลไกทผใชสามารถปองกนตนเองจากผสง นนคอไมวาผสงจะสงอเมลอะไรมายงผรบ หากไมมสงใด
ผดพลาดผรบจะตองรบเมลอนนนเสมอ หากผรบไมตองการกใหลบทงเอง แมวาจะมการปรบปรงโดย
เพมการตรวจสอบตวตน (authentication) โดยกอนท MTA จะทาการสงอเมลออกไปจะตองทาการ
ตรวจสอบชอผใช แตการกระทาดงกลาวไมเหมาะทจะนามาใชงานกบ MTA ททาหนาทรบเมลขาเขา
ดงนนสแปมเมอรจงสามารถสงสแปมเมลเขามาในเมลบอกซของผใชไดหากมอเมลแอสเดรสทถกตอง
ลกษณะของการไดรบสแปมเมลเชนนคลายกบกรทางานของโปรโตคอล TCP/IP ในเลเยอรลาง ไมวา
จะเปน TCP, UDP, IP, ICMP ทเมอมการสงแพกเกตออกไปแลว แพกเกตนนจะเดนทางไปถงโฮส
ปลายทางเสมอ ไมวาโฮสปลายทางจะตองการรบแพคเกตหรอไมกตาม
2. การอาศย MTA ของผใชเปนตวกลาง(Relay) ในการสงตอสแปมเมลไปยงผอนอกทอด
หนง เนองจากการสงเมลนนจาเปนตองอาศย MTA (Message Transfer Agent) เปนตวกลางในการ
สง ดงนนในการทสแปมเมอรจะทาการสงสแปมไดนนไมทาตวเองใหกลายเปน MTA กตองอาศย
33
MTA ของใครสกคนทมาเปนตวกลางรบฝากอเมล แลวสงตอไปสแปมปลายทางอกครงหนง อยางไรก
ตามเพอหลกเลยงการสบสาวกลบมายงโฮสตนตอ สแปมเมอรทชานาญจะพยายามคนหาเมล
เซรฟเวอรโดเมนใดบนอนเตอรเนตททาการตดตง MTA ไวอยางไมถกตองเหมาะสม แลวใชเมล
เซรฟเวอรนนเปนตวกลางใน การสงสแปมไปยงโฮสปลายทาง เมอผใชปลายทางไดรบและทาการ
สบคนกลบมายงตนตอกจะพบเพยง MTA ทถกสแปมเมอรใชเปนแหลงทมาของสแปมเมล และ
ปญหาทตามมากคอเมอเมลเซรฟเวอรทถกใชเปนตวกลางในการสงเมลถกตรวจพบจากหนวยงานท
ตรวจสอบโฮสททาการสงสแปมเมลหรอจากการรองเรยน หรอแจงจากผไดรบ MTA นนกจะถกแบนด
(band) ออกจากอนเตอรเนต ทาใหเจาของ MTA ทแทจรงไมสามารถสงเมลปกตได จากภาพเปนการ
ทารเลยเมลจากผใหบรการอนเตอรเนตรายหนง โดยทไมจาเปนตองมแอคเคาท (Account) ในการขอ
อนญาตสทธเขาใชงาน ถงแมวาผใหบรการอาจจะไมไดมเจตนาทจะใหมการใชงานในลกษณะน
เพราะผใหบรการไมไดเปดเผยแตผทเขาใจหลกการทางานกจะสามารถใชประโยชนจาก MTA เหลาน
ได
2.4 Spam filtering
[2]ระบบกลนกรองสแปม (Spam filter) ถกสรางขนเพอแกไขปญหาและผลกระทบตางๆท
เกดขนจากสแปมเมล การคดคนวธการตางๆในการแกไขปญหาและเทคนคทซบซอนตางๆไดถก
นามาใชเพอคดกรองสแปมเมล วธการหลกๆทนามาใชงานในปจจบนมดงตอไปน
Greylisting
Blacklists
Whitelists
Mail filters
SPF and DKIM/ADSP
SpamAssassin
Amavisd-new and MailScanner
Greylisting เปนวธการหนวงเวลาการตดตอระหวางเมลเซรฟเวอรทไมรจกหรอสอสารกน
เปนครงแรก หรอไอพทไมถกตอง โดยจะบอกใหรอเปนเวลา 15 – 60 นาท เมลเซรฟเวอรจะทาการ
ปฏเสธและสงขอความ “try again later” MTA ทถกตองจะรอเพอทาการสงใหมอกครง แตหากเปน
สแปม
นลดต
แตอย
ทาหน
ทชอว
เพอให
ในแบ
Realt
เพอใ
ฟลเต
มบอท (spam
ตาลงจากมาก
ยางไรกตามว
นาทเปน MT
วา DCC (the
Blacklist
ห MTA สาม
บลกลสกจะยต
องคกรทท
time Black L
Whitelis
ใชในการลด
ตอร จากรปท
H
M
mbots) จะไม
กกวา 97 เป
วธการนยงใช
TA รบสงเมล
e Distributed
ts คอองคก
มารถเขามาตร
ตการสอสาร
ทาหนาทเหล
Lists หรอ RB
ts เปนการท
จานวนของ
ท 2-10 เปนผ
รป
High – ไมเคย
Medium – แท
รอทาการสง
ปอรเซนต เห
ชไดดหากใชร
Greylisting
d Checksum
กรตางๆททาห
รวจสอบรายช
ลาน เชน sp
BL
ทางานลกษณ
ความผดพล
ใหบรการ wh
ปภาพท 2-10
ยสงเมลทเปน
ทบจะไมเคยส
ใหม ปจจบน
หลอตากวา 9
รวมกบ Blac
ไดรบการนา
m Clearingho
หนาทลสราย
ชอได เมอพบ
pamhaus.org
ณะ DNS-ba
ลาดในการต
hitelists โดย
0 องคกรทให
นสแปม
สงสแปม สาม
นความสามาร
0 เปอรเซน
cklist Greyl
าไปใชเปนสว
ouses)
ยชอสแปมเม
บวา MTA อก
g, spamc
ases ทมชอเ
ตรวจสอบสแ
ยจะมการระบ
หบรการ Wh
มารถแกไขเม
รถในการตอต
ต จากเทคน
isting จะถก
วนหนงของท
อรแลวประก
กฝ งทกาลงส
cop.net เป
เสยง ซงตรง
แปมจากการ
เรทตงของโด
itelist
มอเกดปญหา
ตานสแปมขอ
นคใหมทสแป
กอมพลเมนท
ทล (tool) แอน
กาศไวในราย
สอสารดวยมร
ปนทรจกกน
กนขามกบ b
รทาหนาทขอ
ดเมนเปน 4 ร
าไดอยางรวด
34
องวธการ
มเมอรใช
บนโฮสท
นตสแปม
ชอ DNS
รายชออย
นดในนาม
blacklists
องสแปม
ระดบ
ดเรว
ขยะ
ประส
ขนมา
แตกต
แปมข
1
2
3
4
L
N
SpamAs
สรางโดยนา
สทธภาพ ถก
าเฉพาะเพอ
ตางของขอคว
ของขอความ
จากรปท
. Bayesian
เหลานนเ
2. Rule En
(Header)
3. Blacklist/
4. Network
Low – มการส
None – เปนเ
ssassin เป
ย Habeeb
กนามาใชกบ
แยกแยะสแป
วามอเมลดวย
ขอความทม
2-11 spamA
n Filter
ปนฐานขอมล
gine เปนกฎ
) ของอเมล
/Whitelist เป
Test เปนสว
สงสแปมบาง
เมลเซรฟเวอ
ปนซอรฟแวร
Dihu และไ
บ ผลตภณฑ
ปมเมล S
ยเซตของรลจ
มแตมสะสมมา
รปท 2-11 ก
Assassin มฟ
เปนฐานขอ
ลชอวา “ham
ฎตางๆทสรา
ปนสวนของรา
วนของการไป
เปนบางครง
รทถกตอง แ
รโอเพนซอส
ไดรบการดแ
แอนตสแปม
SpamAssass
จานวนมาก แ
ากพอตามทก
การทางานขอ
ฟงชนการทาง
อมลทางสถต
m” ซงเปนฐาน
งเพอตรวจส
ายชอทถกระ
ปตรวจเชคกบ
มการแกไขท
แตอาจจะมกา
เพรลโมดล ท
แลโดยนาย Ia
มหลายๆชนด
sinจะใชระบบ
แตละกฏจะเพ
กาหนดกจะถ
อง SpamAss
งานแบงออก
ทเกบสถตท
นขอมลทด
สอบแพทเทน
บไววาอเมลแ
บผใหบรการต
ทลาชา
ารสงสแปม
ทาหนาทในก
an Justman
ด ซอรฟแวร
บรลเบสในกา
พมหรอลดจา
ถกระบวาเปน
sassin
เปน 4 โมดล
ผใชสงออกไ
(Pattern)ขอ
แอคเคาทไดเ
ตรวจสอบตา
การแยกแยะ
n เปนซอร
รตวนใชกฏท
ารเปรยบเท
านวนแตมคว
นสแปม
ลใหญๆ
ไป แลวจะเก
งเนอหาหรอ
เปนเมลทดห
งๆ เชน RBL
35
จดหมาย
ฟแวรทม
ทถกสราง
ยบความ
วามเปนส
กบรายชอ
เฮดเดอร
รอไมด
L
36
Amavisd-new เปนสวนตดตอ(Interface)ระหวาง MTA กบไวรสสแกนเนอรและสแปม
ฟลเตอรตางๆ เชน ClamAV และ SpamAssassin ตวดงเดมพนฐานคอ AMaViS ( A Mail Virus
Scanner) แตสงทแตกตางในเวอรชนปจจบนนเขยนดวยภาษา Perl ซงพฒนาโดย Mark Martinec
Amavisd-new สอสารกบตว MTA ผานโลคอลโดเมนหรอใช TCP Socket มความสามารถฟลเตอร
อเมลไดทงกอนและหลงการยอมรบการสอสารจาก MTA สามารถประสานงานการทางานกบไวรส
สแกนเนอรและสแปมฟลเตอรไดหลายๆตวพรอมๆกน ซงคอนขางจะเปนประโยชนแตกไมใชขอดนก
เพราะจะทาใหการทางานชาลง มการตรวจสอบทนานขน นอกจากนการคอนฟกกจะมความซบซอน
มากยงขน
การทางานของ Amavisd จะยนอยระหวาง MTA และซอรฟแวรททาหนาทตรวจสอบอเมล
การตรวจสอบอเมลจะรอคอยอเมลทจะถกสงมาจาก MTA ทาง TCP port 10024 โปรโตคอลทจะใช
สอสารกบ MTA จะใช SMTP หรอ LMTP ในการรบขอความและสงกลบคาตอบสถานะของเมลท
ตรวจสอบทาง TCP port 10025 ขณะเดยวกนสามารถใชโลคอลโดเมนซอกเกต (local domain
socket) ตดตอสอสารกบ MTA หากอยเครองเดยวกนกบ MTA ดงรปท 2-12
รปท 2-12 กระบวนการทางานระหวาง Postfix, Amavisd-new, SpamAssassin
2.4.1 หลกการทางานของสแปมฟลเตอร
[3]การกลนกรองสแปมสามารถทาไดจากทงฝ งเซรฟเวอรและฝ งไคลเอนท จากรปท 2-13
เปนการทางานของแอนตสแปมในฝ งของผใชและรปท 2-14 เปนการทางานในฝ งของเซรฟเวอร การ
ทางานในฝ งของเซรฟเวอรกจะมสองรปแบบ รปแบบแรกคอการตดตงระบบคดแยกสแปมเมลลงบน
เซรฟเวอรทาทหนาทรบสงเมลโดยตรง และแบบทสองคอการตงเมลเกตเวยขนมาทาหนาทคดกรองส
SpamAsassin
ClamAV
Internet Mail port 25
Amavisd-new
qmgr
Other Mail Server(internal/internet)
on port 10025
Perl module
Unix socket
Postfix
cleanup
smtpd
smtpd
on port 10024
trivial rewrite
แปมโ
ฟรอเ
ททาห
จากร
ทางา
1
2
3
4
5
จากร
โดยเฉพาะ แ
เมล เชน hotm
หนาทเกบเมล
รปท 2-13 เ
นดงน
. MTA ทาก
2. นาอเมลท
3. โปรแกรม
4. โปรแกรม
5. เมอสแปม
จะสงอเมล
รปท 2-14 เป
แบบทสองนเห
mail, Gmail
ลบอกซของผ
ปนการทางา
การรบอเมลแ
ทรบมาเกบเข
มเมลไคลเอน
มอเมลไคลเอน
มฟวเตอรทาก
ลทเปนสแปม
รปท 2
นการทางาน
หมาะสมกบร
เปนตน ซงร
ผใช ซงตองม
รปท 2-13
านของสแปม
แลว
ขาเมลบอกใน
ตจะเขามาดง
นตสงตอเมล
การตรวจสอบ
มไปในโฟลเต
2-14 การทาง
นของสแปมฟ
ระบบใหญทม
รปแบบนกจะ
มการรบสงเม
3 การกรองส
มฟลเตอรในส
นเซรฟเวอร
งขอมลจากเม
ใหโปรแกรม
บแลวกจะแย
ตอรเฉพาะทต
งานของแอนต
ลเตอรในฝ งข
มการรบสงเม
เปนการลดภ
ลเปนจานวน
สแปมทฝ งผใช
สวนทเกดขนใ
มลบอกของผ
สแปมฟลเตอ
กอเมลดกบอ
ตวโปรแกรมส
ตสแปมในฝ ง
ของเซรฟเวอ
มลเปนจานวน
ภาระการทางา
นมาก
ช
ในฝ งclient
ผใชแลวเกบไว
อรในเครองข
อเมลทเปนส
สรางขนมา
เซรฟเวอร
อรโดยมข นตอ
นมาก เชนผใ
านของเมลเซ
ซงมรายละเ
วทเครองของ
องผใชเพอค
แปมออกจาก
อนดงน
37
ใหบรการ
ซรฟเวอร
เอยดการ
งผใช
ดกรอง
กกน และ
38
1. MTA เปดการสอสารกบ MTA ภายนอก
2. MTA รบเมลควเขามาแลวสงตอใหโมดลสแปมฟวเตอร
3. สแปมฟลเตอรไดรบเมลจาก MTA ทาการตรวจเชคคอนเทนท(Content) ตางๆทาการให
คะแนนแลวสงกลบไปยง MTA
4. MTA จาแนกเมลสงตอไปยงดาตาเบสเมลบอกของแตละผใชตามลกษณะประเภทของเมล
5. เมลถกสงไปยงผใชเมอมการตดตอจากเมลไคลเอนต
2.5 สรปทายบท
บทนไดแนะนาโครงสรางการทางานทจาเปนของระบบอเมล โปรโตคอลสอสารของระบบ
อเมล และมการพดถง RFC ทจาเปน ระบบการทางานของสแปมฟลเตอรทใชอยในปจจบน
39
บทท 3
กระบวนการทางาน
บทนจะกลาวถงสภาพปญหา การวเคราะหปญหา ผลกระทบของสแปมเมลทเกดจากขนทบรษท
ดราโก พซบ จากด และวธการแกไขปญหา ในสวนทสองจะกลาวถงการออกแบบระบบทใชในการ
แกปญหาขางตน โดยแบงออกเปนสองสวน สวนแรกจะเปนการออกแบบระบบมาตรฐาน ซง
ประกอบดวย ระบบปฏบตการ ซอรฟแวรททาหนาท MTA ซอรฟแวรทควบคมการทางานของตวกรอง
สแปม และซอรฟแวรทาหนาทตรวจสอบสแปมเมล สวนทสองเปนสวนทผจดทาไดพฒนาขนเพมเตม
โดยมชอเรยกวา “email whitelist” ซงจะมสวนของอนเทอรเฟซการทางานกบฐานขอมล MySQL โดย
พฒนาดวยภาษา PHP
3.1 การตรวจสอบและการวเคราะหสภาพปญหา
ปญหาทสงผลกระทบเปนอนดบแรกคอความลาชาในการรบสงอเมล เนองจากการสญเสย
ปรมาณแบนวธการใชงานไปกบอเมลขยะทสงเขามาเปนจานวนมาก ในหนงวนมจานวนอเมลขยะไม
นอยกวา 80 เปอรเซนต การคดแยกทผดพลาดของซอรฟแวรแอนตสแปมทใชงานอยทาใหอเมลบาง
ฉบบหายไป หรอถกยายเขาไปอยในโฟลเดอรอเมลขยะ ทาใหผใชหาอเมลทตองการไมพบ มเมลขยะ
จานวนมากทไมไดถกตรวจพบถกสงมารวมไวกบอเมลปกตในกลองเมลขาเขา(inbox) ทาใหผใชงานตอง
ทาการคดแยกเอง ทาใหเสยเวลาการทางาน บางครงเกดความผดพลาดในการคดแยกโดยทาการลบ
อเมลปกตไปดวย ทาใหเกดปญหาการทางานสบเนองตอมาเปนลาดบ ทาใหการสอสารกบบรษทคคาม
ปญหาและกลายเปนปญหาสบเนองไปยงสวนงานอน
ในรปท 3-1 เปนจานวนปรมาณของอเมลขยะทสงเขามาในแตละวน ทาใหในแตละวนจะตอง
เสยเวลาในการคดแยกอเมลขยะจานวน 200-400 ฉบบ นอกจากการเกดปญหากบระบบอเมลแลวยง
กอใหเกดปญหาการใชงานอนเตอรเนตตามมา เนองจากการสญเสยแบนวธไปกบสแปมเมลจานวนมาก
ปญหาสาคญอยางหนงทเกดขนทบรษทดราโก คอไมสามารถสงเมลโดยตรงจากบรษทฯถง
ลกคาได หรอถาสงไดกชามาก เนองจากมปญหาการตด Blacklist ของชวงไอพทใชงานอยซงแสดงให
เหนตามรปท 3-2 เนองจากเซรฟเวอรปลายทางไมยอมเปดการสอสาร เมอเมลเซรฟเวอรของบรษท ดรา
โก พยายามทจะขอเปดคอนเนคชน (connection)เพอทาการสอสารเพอสงอมลกจะถกปฏเสธ
รปท 3-2 แสสดงการตดแ
รปท 3-1 จา
บลคลสในระ
นวนสแปมใน
ะดบทสองของ
นรอบสปดาห
ง DNSBL U
ห
CEPROTECCT- Level 2
40
ป
จะสบเน
ของการไ
ลกคารอ
line dow
ปรมาณค
ไวให ซง
หยดลง
อนหนงใ
ก
ผใชงาน
ผใชงานอ
ปญหาทสาค
องมาจากกา
ไมสามารถส
คาตอบทเรง
wn หรอ line
ความเสยหาย
งเมอวตถดบ
ซงกเปนควา
ในองคกรธรก
การสงเกตส
อยางเพยงพ
อานกจะทาให
ญทสดของระ
รตดแบลคลส
สงเมลไปยงป
งดวนซงเกยว
stop ขนได
ย หรอแมแต
( material)
ามสญเสยขอ
กจสมยใหม
สงผดปกตจะ
พอกจะชวยผ
หทราบถงสา
รปท 3
ะบบเมลคอก
ส เมอสงเมล
ปลายทางได
วพนกบกระบ
ด ซงนนหมาย
การสงของจา
หมดลงหร
องบรษทฯอก
ทาใหรบรสถ
ดแลระบบได
เหตทอเมลส
-3 อเมลทถก
การไมสามาร
ลไปถงปลายท
อาจทาใหบ
บวนผลตของ
ยความบรษท
าก vendor ห
รอผผลตสงข
กเชนกน ดงน
ถานการณข
ดมาก รปท 3
สงไปไมถงผร
กปฏเสธจากเ
ถรบ-สงเมลไ
ทางกจะถกป
รษทฯเกดคว
งลกคา ถาเก
ทจะตองถกล
หาก vendor
องใหไมทน ก
นนปญหากา
องปญหาได
3-3 เปนต
รบปลายทาง
เซรฟเวอรปล
ไปยงผรบปลา
ปฏเสธกลบมา
วามเสยหาย
ดความลาชา
กคาปรบเปน
r ไมไดรบเมล
กระบวนการ
รรบสงอเมลจ
อยางทนทว
ตวอยางของเ
ลายทาง
ายทางได ซง
า(reject) ผ
อยางใหญห
าอาจจะเกดเห
นเงนจานวนม
ลกจะไมไดเต
รผลตของบรษ
จงเปนปญหา
งท การใหค
เมลทถกปฏ
41
งปญหาน
ลกระทบ
ลวง เชน
หตการณ
มาก ตาม
ตรยมของ
ษทกตอง
าทสาคญ
ความรแก
เสธ หาก
ล
สามารถ
ใหบรการ
ใหขอมล
จ
www.sp
ไอพเดยว
ลกษณะการ
เขาไปตรวจส
รการตรวจส
ลจานวนมากจ
จากรปท 3-5
amcop.net
ว เวบไซทแห
เกดปญหาเช
สอบไดทเวบ
อบแบลคลสจ
จากผใหบรกา
รปท
5 เปนอก
ใหรายละเอ
หงนมการทา
ชนนจะม E
ไซทของผให
จากหลายๆท
ารแบลคลสต
ท 3-4 เวบไซ
หนงเวบทนา
ยดเกยวกบโ
งานรวมกบท
Error code
หบรการ เชน
ท เวบไซทน
ตตางๆ
ซทของผใหบ
าสนใจทใหข
โดเมนทสงสแ
ทาง Cisco
แจงบอก
นตามรปท 3-
นนบเปนเวบไ
รการตรวจสอ
ขอมลเกยวก
แปมในคลาส
หากสงสยวา
-4 เปนเวบไ
ไซททนาสนใ
อบแบลคลสต
บโดเมนและ
สตางๆอยางล
าโดเมนตดแบ
ไซท DNSBL
ใจทสดเวบห
ต
ะไอพทเปนส
ละเอยดจนถง
42
บลคลสต
.Info ซง
นงเพราะ
สแปมเมล
งในระดบ
เมอคลก
แสดงในร
รปท
เขาไปทไอพ
รปท 3-6 เว
ท 3-5 เวบไซ
รปท 3-6 เ
พแตละไอพจะ
บนมบรการใ
ทสแปมคอป
วบไซทของ
ะมรายละเอย
ใหตรวจสอบไ
ใหบรการราย
cisco ทเชอม
ยดทละเอยดข
ไอพแบลคลส
ยละเอยดตาง
มโยงจาก sp
ขนและจะเชอ
ส
งๆเกยวกบส
amcop.net
อมโยงกบเวบ
สแปม
บไซทของ C
43
isco ดง
ร
เปนเวบไ
ทงสองเว
รปท 3-7 หน
ไซท www.sp
วบไซทเปนอ
นาเพจ Block
pamhelp.org
งคกรทใหบร
รป
king list เปน
g ใหบรการต
รการฟร
รปท 3-
ปท 3-8 เวบไ
นหนาทใหบร
ตรวจสอบเมล
7 เพจ Block
ไซทตรวจสอ
การตรวจเชค
ลเซรฟเวอรว
king List
บ Open rela
คการตดแบล
ามการทา op
ay
ลคลสตและใน
pen relay ห
44
นรปท3-8
รอไม ซง
3.2 ขนต
ข
ระบบแล
2
ตอนการออก
ขนตอนนจะ
ะจดคาคอนฟ
1. รปท 3-9 การตดตง
2. Postfix จใชกาหนด
กแบบระบบ
กลาวถงการ
ฟกกเรชนเพอ
เปนรปการเ งอยางละเอย
ะมไฟลสวนหดคาคอนฟกก
บ
รออกแบบระ
อสรางเมลเก
รมตนการตดดจะอยในสว
รปท 3-9 กา
หลกๆสองไฟการทางานรว
รปท 3-10
ะบบ ซงจะแบ
ตเวยแอนตส
ดตงระบบปฏนของภาคผน
ารตดตง Uni
ฟลทตองทากวมกบไฟล m
0 /etc/postfi
บงออกเปนส
สแปมซงประก
ฏบตการ Unixนวก
ix FreeBSD
ารคอนฟก ใaster.cf ทแส
x/main.cf
สองสวน สวน
กอบไปดวย
x FreeBSD
ในรปท 3-10สดงในรปท 3
นแรกจะทาก
8.1 x64 โด
0 เปนไฟล m3-11
45
การตดตง
ยขนตอน
main.cf ท
3
4
whitelist
smptd_r
3. รปท 3-12เรยกใชซ
4. SpamAssคอ local.
สวนทสองเป
t เพอให Pos
recipient_res
2 เปนไฟล อรฟแวรแอน
ร
sassin ทาหcf
ปนสวนทผจด
stfix ใช
strictions ซง
รปท 3-11
amavisd.coนตสแปม แล
รปท 3-12 /us
นาทกรองสแ
ดทาไดทาเพม
ชในการตรวจ
งรายชออเมล
/etc/postfix
onf ทตองทละซอรฟแวรต
sr/local/etc/a
แปมเมล ถกเ
มขนมาซงมช
จสอบตวตน
ลจะถกเกบไว
x/master.cf
าการปรบแตตรวจสอบไวร
amavisd.con
เรยกใชโดย a
ชอวา email
ของผสงกบ
วในดาตาเบ
ตงเพอใหAmรส เชน Spa
nf
amavis ไฟล
whitelist คอ
Lookup
ส MYSQL
avisd-New ทamAssassin,
ลทตองทาการ
อการเพมระบ
table
โดยทผใชใ
46
ทาหนาท,ClamAV
รคอนฟก
บบรายชอ
ทชอวา
ในบรษท
สามารถ
เพจพฒน
extensio
2
ตารา
DR
CR
)
เขาไปเพมรา
นาดวยภาษา
on PHP ททา
1. ทาการต
2. ทาการอ
ตาราง s
ตารางท
งท 3-1 คาส
ROP TABLE
REATE TABL
`domainid
`status`
`CompanyN
PRIMARY K
ENGINE=In
ายชอโดเมนข
า PHP โดย
างานบนเวบเ
ดตงฐานขอม
รปท 3
อกแบบและส
essions เพอ
3-1
ง sql สรางด
IF EXISTS
LE `domain
d` varchar
varchar(2
Name` varc
KEY (`doma
nnoDB DEFA
ของผตดตอแ
ยในรปท 3-13
เซรฟเวอร A
มล mySQL,
3-13 หนาเพ
สรางฐานขอม
อใชเกบรายช
าดาเบส whi
S `domain`
n` (
r(20) NOT
2) NOT NUL
char(30) D
ainid`)
AULT CHARS
และของลกคา
3 เปนหนา
pache 2.2 โ
Apache We
พจสแดงเวอรช
มล whitelist
ชอโดเมน เกบ
itelist
`;
NULL DEFA
LL DEFAULT
DEFAULT ''
SET=utf8;
าเขาไปไดดว
เพจทแสดงแ
โดยขนตอนก
eb server แล
ชนของภาษา
สรางตารา
บรายชอในกา
AULT '',
T 'OK',
',
ยตวเองผานท
แสดงถงความ
การดาเนนงา
ละPHP
า PHP
ง domain
ารลอกอน แล
ทางหนาเวบ
มถกตองในก
านในโครงงาน
ตารางwhite
ละเกบคาเซส
47
บ โดยเวบ
การตดตง
นมดงน
list และ
สชน ตาม
48
DROP TABLE IF EXISTS `sessions`;
CREATE TABLE `sessions` (
`sid` varchar(10) NOT NULL,
`uid` varchar(10) NOT NULL,
PRIMARY KEY (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Table structure for `users`
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`uid` varchar(10) NOT NULL,
`password` varchar(10) NOT NULL,
`firstname` varchar(50) NOT NULL,
`lastname` varchar(50) NOT NULL,
`address` varchar(100) NOT NULL,
`phone` varchar(50) NOT NULL,
`email` varchar(50) NOT NULL,
PRIMARY KEY (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3. ออกแบบหนาเวบเพจเพอใชในการลอกอนและหนาเพจทใชในการปอนขอมล จานวน 4
หนา ซงประกอบไปดวยหนา index.php ,domain.php ,record.php ,showdata.php
4. ทาการคอนฟกใหpostfix รจกฐานขอมล mysql เพอทาการอานรายชออเมลทตองการ
กาหนดเปนwhitelist
5. ทาการทดสอบระบบ
3.3 กระ
3
ร
การทางา
บวนการทา
3.3.1 ขนตอ
Index.php
รปท 3-14 เป
านรวมกบฐา
1. รปทwhitฟลล
งาน
อนการทางา
p
l
No
รป
ปนแผนผงท
นขอมล mys
ท 3-15 หนาเtelist ตาราล sid ในตารา
รป
นของเวบแอ
login
yes
ท 3-14 การท
แสดงใหเหน
sql
พจ index.phาง users เมอาง sessions
ปท 3-15 หนา
อพพลเคชน
domain.php
ทางานของเว
นขนตอนการท
hp จะใชเปนอลอกอนผาน และเขาสหน
าเวบเพจสาห
น
white
record
วบแอบพลเค
ทางานของเว
นหนาลอกอนนกจะทาการนา domain.p
หรบหนาลอก
elist
.php sho
ชน
วบเพจแตละห
น ชอผใชจะถกสรางเซสชนhp
อน
owdata.php
หนาทสมพน
กเกบอยในฐนขนมาสงเขา
49
นธกนและ
ฐานขอมล าไปเกบท
2. รปท
เพจ
3. รปท
dom
ขอม
ท 3-16 หนา
record.php
ท 3-17 เพจ r
main ฟลล d
มลแลว
รปท 3-17
เพจ domain
ดวยเมธอด
รปท 3-16 ห
record.php จ
domainid แ
7 เพจแสดงส
n.php จะทา
post
หนาเพจทใชบ
จะรบขอมลจ
และ status แ
สถานะการเส
หนาทเกบขอ
บนทกขอมล
าก domain.
และแสดงขอ
สรจสนการบน
อมลทผใชปอ
php แลวบน
ความใหทรา
นทกขอมล
อนเขามาแลว
นทกขอมลลง
าบวาไดทาก
50
วสงตอให
ยงตาราง
ารบนทก
3
E
4. รปท
Com
3.3.2 การทา
รปท
ท 3-18 หน
mpanyName
างานของPo
ท 3-19 การท
นาเพจ sh
ขนมาแสดง
รปท 3
ostfixรวมกบ
Postfix
No
Reject
ทางานของแอ
howdata.php
3-18 showda
บฐานขอมล
White
white
black
Yes
อพพลเคชน
p จะทาหน
ata.php
ล E-mail wh
elist
elist
klist
Yes
No
E-mail Whit
นาทดงขอมล
itelist
Amavis
Amavis
elist กบ Pos
ลฟลล doma
Spam
stfix
51
ainid และ
mAssassin
ร
ในโครงง
รปท 3-19 เป
งานน โดยขน
1. รปท
สงเขามา
ตางๆตาม
smp
ใดทจะสา
ปนแผนผงขน
นตอนการทาง
ท 3-20 เปนค
เมออเมลถ
มลาดบดงน
ptd_client_r
มารถเขามาต
check_clie
ใหตดตอส
แมไอพหร
มาได และ
check_se
ไดวาจะให
และจะถกบ
นตอนการทา
งานตางๆมด
คาคอนฟกขอ
ถกสงเขามาย
รปท 3-20 ค
restrictions
ตดตอสอสาร
ent_access
สอสารหรอสง
อโดเมนนนจ
จะถกบายพา
nder_access
หอเมลแอสเด
บายพาสการ
างานรวมกนร
ดงตอไปน
อง main.cf ท
ยงPostfix P
คาคอนฟกกเร
s เปน acces
รกบเมลเซรฟ
สวนนจะสา
งเมลมาได ห
จะตดแบลกล
าสการตรวจส
s สวนนจะ
ดรสใดบางท
ตรวจสอบจา
ระหวาง pos
ทเกบอยใน p
Postfixจะทา
รชน main.cf
ss table ทร
ฟเวอรได
มารถระบวา
หากอนญาตส
สต(blacklist
สอบจาก acc
เปนการระบ
ทจะสามารถต
าก access ta
stfix กบระบบ
ostfix ทจะใช
การตรวจสอ
f ของpostfix
ะบวาไคลเอน
ไอพหรอโดเ
สทธไอพหรอ
t) กจะยงสาม
cess table ท
ทแยกยอยใน
ตดตอสอสาร
able ทเหลอ
บอเมล white
ชตรวจสอบอ
อบกบ acces
นตหรอเมลเซ
มนใดทเราจ
อโดเมนใดไว
มารถตดตอส
ทเหลอ
นระดบอเมลแ
รหรอตดตอเ
52
elist ทใช
อเมลทถก
ss table
ซรฟเวอร
ะอนญาต
ในสวนน
สอสารเขา
แอสเดรส
เขามาได
53
reject_unknown_client สวนนจะทาการตรวจสอบชอกบไอพแอสเดรสของเมล
เซรฟเวอรทกาลงสอสารอยวามปรากฏอยในPublic Name Server(DNS) หรอไม
หากMTA ทตดตอสอสารอยไมไดมรายชอ A record ใน Public Name Server
MTA นนๆกจะถกปฏเสธการสอสาร
smtpd_sender_restrictions เปน access table ทใชตรวจสอบผททาการสงอเมลเขา
มา จะทางานถดจาก smtpd_client_restrictions
check_sender_access สวนนจะระบวาจะอนญาตหรอไมอนญาตใหผสงใด
ตดตอสอสารเขามา สามารถระบเปนอเมลเดรสได มความหมายเดยวกนกบ
check_sender_access ของ smptd_client_restrictions แตตางกนทใน
โครงงานนจะใชใสรายชออเมลทจะทาการปฏเสธ โดยจะระบคาเปน reject เชน
[email protected] reject เปนตน
reject_non_fqdn_sender ใชตรวจสอบชอของผสงวามชอกบโดเมนไม หากมแต
ชอยางเดยวกจะถกปฏเสธการสอสาร
reject_unknown_sender_domain ใชตรวจสอบโดเมนของผสงวามอยจรงหรอไม
โดยจะทาการตรวจสอบกบ public dns
smtpd_recipient_restrictions เปน access table ทใชตรวจสอบสทธรายชอของผรบ
check_recipient_access ใชระบโดเมนทจะอนญาตใหรบอเมล หากไมมรายชอ
ปรากฏ postfix จะปฏเสธการนาสงอเมล โดยรายชอโดเมนทถกระบจะถกสงตอให
spamassassin ทาการตรวจสอบเนอหาอท
reject_rbl_clients ปฏเสธไอพแอสเดรสทตดแบลคลสตจากองคกรหรอหนวยงานท
ระบ
reject_unauth_destination ปฏเสธรายชออเมลทไมมอยจรงในระบบ
reject_unknown_reciepient_domain ปฏเสธโดเมนทไมมรายชอหรอไมไดระบใน
check_recipient_access
permit_mynetworks อนญาตใหไอพแอสเดรสทระบไวใน mynetworksใน main.cf
ทาการตดตอสอสารกนได
54
2. เมอผานการตรวจสอบจาก access table แลวหากไมตดแบลคลสตหรอไมขดตอ
access tableใดๆกจะถกสงตอไปยงAmavisเพอทาการตรวจสอบลกษณะเนอหากบ
SpamAssassin อกทหนง
3. หากตรงกบกฎขอหามตางๆ เชนตดblacklist หรอเมลเซรฟเวอรทตดตอสอสารไมม
รายชอ A record ใน public DNS กจะถกสงตอไปตรวจสอบกบฐานขอมล Whitelist หากม
รายชอในฐานขอมล Whitelist กจะถกสงตอไปยง Amavis และ SpamAssassin เพอ
ตรวจสอบเนอหาตอไป หากไมมรายชอในฐานขอมล Whitelist อเมลกจะถกปฏเสธ
3.4 สรปทายบท
บทนแสดงใหเหนถงขนตอนตางๆในการทาโครงงาน โดยแบงแยกออกเปนสองสวนหลกๆคอ
สวนของคอนฟกกเรชนเซรฟเวอรและสวนของการออกแบบเพมเตมในสวนของ Email Whitelist เพอ
เพมประสทธภาพการคดกรองอเมลขยะ
55
บทท 4
การทดลองและผลการทดลอง
บทนจะทาการทดสอบประสทธภาพของระบบแอนตสแปมทสรางขน โครงงานนไดใช Postfix
ทาหนาทเมลเกตเวย ทางานอยบนระบบปฏบตการ Unix FreeBSD 8.1 ซอรฟแวรทใชในการ
ตรวจจบ สแปมจะใช SpamAssassin สภาพแวดลอมการทดลอง เมลเกตเวยจะทางานอยท DMZ
Zone หลงไฟลวอลลชนนอก หลงจากคดแยกเมลสแปมเลวจงสงตอไปยงเมลเซรฟเวอรภายในอกท
หนง การทดลองจะเรมจากการจาลองการคนหาอเมลเปาหมายโดยใชโปรแกรมอเมลบอตทจะคนหา
อเมลแอสเดรสตามเวบไซทตางๆทมรายชออเมลโดเมนทตองการ เมอไดรายชอแลวกจะทาการ
ทดลองสงอเมลรปแบบตางๆทสรางขนเอง จากทงเครองทจาลองเปนเซรฟเวอรและจาก ISP ทเปด
ใหบรการรเรยเมล ในทในใชเมลเซรฟเวอรของ TOT ทาการสงอเมลทจาลองขนไปยงบรษท ดราโก
พซบ
สวนทสองจะเปนการทดสอบสวนของระบบ Whitelist ทผจดทาเพมขนมา
4.1 สภาพแวดลอมการทดลอง
รปท 4-1 โครงสรางเนตเวรกทใชในการทดลอง
รปท 4-1 เปนแผนผงระบบภายในของบรษทดราโก พซบ ทใชในการทดลองในโครงงานน
ซงจะประกอบไปดวยไฟลวอลลชนใน ไฟลวอลลชนนอก มเมลเกตเวยทสรางขนตงอยใน Perimeter
56
Zone ทาการคดกรองอเมลขยะออกและสงตออเมลทผานการตรวจสอบแลวใหกบเมลเซรฟเวอรทอย
โซนใน
อปกรณทใชประกอบในการทดลอง
1) ระบบเครอขายของบรษทดราโก พซบ
Postfix 2.7.2 on Unix FreeBSD 8.1
Microsoft Exchange Server 2007 SP3 on Windows Server 2008
2) เมลเซรฟเวอรของ TOT ISP
smtprelay1.totisp.net
smtp.totisp.net
3) คอมพวเตอรททาจาลองเปนสแปมเมอร
Windows Server 2008R2 ตดตงเซอรวส SMTP
4) ซอรฟแวรทใชประกอบการทดลอง
Super Email Spider 2.99
SpamAssassin 3.1.1
Microsoft Outlook 2007
5) เวบแอปพลเคชนสาหรบเพมรายชอ E-mail Whitelist
4.2 รปแบบและขนตอนการทดลอง
1) รปแบบการทดลองในขนแรกจะสาธตการใชโปรแกรม Super Email Spider 2.99 ใน
การคนหาอเมลแอสเดรสปลายทาง
2) ปรบสภาพแวดลอมคอมพวเตอรททาหนาท MTA spammer
3) สรางอเมลทมลกษณะทเปนสแปมในโครงงานนจะสาธตการใช outlook 2007 ทางาน
รวมกบ SMTP service
4) ทาการสงอเมลทมลกษณะเปนสแปมไปยงเปาหมาย โดยแบงเปนสองรปแบบ
รปแบบท 1 สงจากเครองโลคอลโดยตรง
รปแบบท 2 สงผาน ISP
5) ประเมนผลประสทธภาพของระบบแอนตสแปม
6) ทดสอบประสทธภาพการทางานของสวน Whitelist
คนหา
ของโ
4.2.1 วธ
ในการทด
าอเมลเดรสข
ปรแกรม
รปท
การคนหาอ
ดลองตองกา
ของเปาหมาย
ท 4-2 ผลการ
เมลแอสเดร
ารแสดงใหเห
ยไดอยางมปร
รคนหาอเมลแ
รปท 4-3
รสโดเมนเป
หนถงประสท
ระสทธภาพ
แอสเดรสจาก
3 ภาพขยายข
าหมาย
ทธภาพของโ
ดงรปท 4-2
กโปรแกรม S
ของรปท 4-2
โปรแกรมอเ
และ รปท 4-
Super Email
เมลโรบอทท
-3 ซงเปนผล
Spider
57
ทสามารถ
ลพธทได
E-ma
ใชเซอ
เลกน
รปท 4-4
ail ตางๆได
ร
4.2.2 ปร
ในโครงงา
อรวส SMTP
นอย
เปนรายชออ
รปท 4-4 text
บสภาพแวด
านแรกไดแน
P ใหมมาใหก
อเมลทไดทาก
t file ทจากกา
ดลอมการทา
ะนาการใชโป
บ Windows
รปภาพ
การเซฟเปนเ
ารเซฟของโป
างาน
ปรแกรม bulk
ใหเปนประโ
พท 4-5 IIS S
เทกซไฟล สา
ปรแกรม Sup
k e-mail Ma
โยชน โดยตอ
SMTP 7.5
ามารถเกบไว
per Email Sp
il bomber โค
องมการปรบ
วใชกบโปรแก
pider
ครงงานนจะส
แตงสภาพกา
58
กรม Bulk
สาธตการ
ารทางาน
จะตอ
โปรแ
อกตอ
ทากา
โดยป
ได โด
รปท 4-5
องใชการพส
แกรม outloo
อหนงได
เปด IIS S
ารเลอก All e
ปอนคาเมลรเ
รปท 4-8
ดยเขาไปในส
เปนหนาตา
จนตวตน แต
k สามารถเช
SMTP servic
except the
ลยทตองการ
ทาการเชอม
สวนของการส
าง IIS ทควบ
ตเพอใหงาย
ชอมตอเพอส
รปท 4
ce ขนมา ใน
list below ต
รใชงานตามร
มตอ Microso
สรางบญชผใช
บคมการทางา
ยแกการทดล
งเมลได และ
-6 สวนททาก
นสวนของ Pro
ตามรปท 4-6
รปแบบดงน [
oft Outlook เ
ช
านของ SMT
องจงสาธตก
ะยงสามารถร
การปรบคาค
operties SM
6 และปรบเป
[smtp.totisp.
ขา IIS SMT
TP service โ
การปรบแตง
รเรยเมลไปย
อนฟก
MTP Virtual S
ลยนคา Sma
net]
P service เพ
โดยปกตการ
งคาบางอยาง
ยงเปาหมายป
Server ในแท
arthost ตาม
พอใหสามารถ
59
รเชอมตอ
ง เพอให
ปลายทาง
ทบRelay
รปท 4-7
ถสงอเมล
รปท 4-7 กา
รปท 4-8 ก
ารปรบแตง sm
การปรบแตงท
mtp เพอใชร
ทหนาบญชผใ
เลย
ใช
60
4.3 เร
รมการทดล
4.3.1 ทด
เปาหมาย
1. ท
ต
2. ใ
โ
อง
ดสอบประสท
ยในการทดสอ
ทดสอบการท
ตองการ โดยก
รปท
นรปท 4-10
โฆษณาเกยว
ร
ทธภาพการท
อบครงนคอบ
างานของ SM
การสงคาสง
4-9 ทดสอบก
เปนรปแบบอ
กบยา Viagr
รปภาพท 4-1
ทางานของร
บรษท ดราโก
MTP service
telnet localh
การทางานข
อเมลทใชในก
ra เขาไป
0 รปแบบอเ
ระบบสแปมฟ
พซบ ขนตอ
e เพอใหแนใ
host 25 ดงต
องIIS SMTP
การทดสอบ โ
มลทใชทดลอ
ฟลเตอร
อนการทดลอ
จวาสามารถท
วอยางในรป
P service
โดยไดทาการ
องสง
งมดงน
ทางานไดอย
ท 4-9
รแนบไฟลภา
61
างท
าพ
62
3. ทดลองทาการสงและเปด logfile เพอดข นตอนการทางานแบบเรยวไทม ขอมล
ขนตอนการทางานทแสดงในตารางท 4-1 เปน log file ทถกบนทกและแสดงโดย
คาสง tail -f /var/log/maillog ของ Unix FreeBSD
ตารางท 4-1 log file ทแสดงขนตอนการทางานของเมลเกตเวยแบบเรยวไทม
Aug 17 11:13:47 mx-gateway postfix/smtpd[91674]: connect from ruhk-013.totisp.net[118.175.8.13] Aug 17 11:13:48 mx-gateway postfix/smtpd[91674]: 098C98FC37: client=ruhk-013.totisp.net[118.175.8.13] Aug 17 11:13:48 mx-gateway postfix/cleanup[91676]: 098C98FC37: message-id=<000c01cb6db1$3b40c2d0$b1c24870$@net> Aug 17 11:13:51 mx-gateway postfix/qmgr[91597]: 098C98FC37: from=<[email protected]>, size=538345, nrcpt=1 (queue active) Aug 17 11:13:56 mx-gateway postfix/smtpd[91674]: disconnect from ruhk-013.totisp.net[118.175.8.13] Aug 17 11:14:05 mx-gateway postfix/smtpd[91657]: timeout after END-OF-MESSAGE from unknown[127.0.0.1] Aug 17 11:14:05 mx-gateway postfix/smtpd[91657]: disconnect from unknown[127.0.0.1] Aug 17 11:14:06 mx-gateway postfix/smtpd[91657]: connect from unknown[127.0.0.1] Aug 17 11:14:06 mx-gateway postfix/smtpd[91657]: C15A68FC3A: client=unknown[127.0.0.1] Aug 17 11:14:06 mx-gateway postfix/cleanup[91676]: C15A68FC3A: message-id=<000c01cb6db1$3b40c2d0$b1c24870$@net> Aug 17 11:14:06 mx-gateway postfix/smtpd[91657]: disconnect from unknown[127.0.0.1] Aug 17 11:14:06 mx-gateway postfix/qmgr[91597]: C15A68FC3A: from=<[email protected]>, size=539608, nrcpt=1 (queue active) Aug 17 11:14:07 mx-gateway postfix/smtp[91677]: 098C98FC37: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:10024, delay=19, delays=3.3/0.01/0.02/16, sn=2.0.0, status=sent (250 2.0.0 from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as C15A68FC3A) Aug 17 11:14:07 mx-gateway postfix/qmgr[91597]: 098C98FC37: removed Aug 17 11:14:07 mx-gateway postfix/smtp[91680]: C15A68FC3A: to=<[email protected]>, relay=mx2.dracopcb.co.th[192.168.3.53]:25, delay=0.75, delays=0.12/0.3/0.01/0.59, dsn=2.6.0, status=sent (250 2.6.0 <000c01cb6db1$3b40c2d0$b1c24870$@net> Queued mail for delivery) Aug 17 11:14:07 mx-gateway postfix/qmgr[91597]: C15A68FC3A: removed
ตารา
RM8
1(wS
X
X
X
Xt
D
4. ท
เพ
งท 4-2 เปน
Received:MX2.draco8.3.106.1
11:07:18 (unknown with ESMTSep 2010
X-Spam-Fl
X-Spam-Sc
X-Spam-Le
X-Spam-Sttests=[BO
BODY
DRUGDRUGS_ERE
ทาการตรวจส
พมขนมาดงร
header ของ
: from mxopcb.co.t1; Fri, 1
+0700 Re[127.0.0
TP id CF411:09:04
lag: YES
core: 28.
evel: ***
tatus: YeODY_ENHAN
Y_ENHANCE
GS_ANXIETECTILE=2.
สอบอเมลทสง
รปท 4-11 แล
รปท 4-1
งอเมลททากา
x-gatewayth (192.117 Sep 20
eceived: 0.1]) by m4508FC3A4 +0000 (
751
*********
es, scoreNCEMENT=1
EMENT2=1.
TY=0.685,221,
งถงปลายทา
ละตารางท 4
11 เปนอเมล
ารทดลอง
y.dracopc68.3.53)10
from mx-mx-gatewa
for<moUTC)
********
e=28.751.611,
.507, DNS
, DRUGS_D
ง หนาSubje
4-2 เปนเฮดเด
ทปลายทาง
b.co.th ( with Mic
gateway.day.dracopontri@dra
*********
required=
S_FROM_RF
DIET=0.75
ect มการแทก
ดอรของอเมล
(172.16.3crosoft S
dracopcb.pcb.co.thcopcb.co.
*
=5
FC_BOGUSM
57,
กคาวา “***S
ลฉบบเดยวก
3.4) by SMTP Serv
.co.th h (Postfi.th>; Fri
MX=1.464,
63
PAM***”
กน
ver id
ix) i, 17
64
DRUG_ED_SILD=0.17, FB_CIALIS_LEO3=3.055, FB_GVR=0.691,
FB_SOFTTABS=3.174, HS_VPXL=1.399, HTML_MESSAGE=0.001, IMPOTENCE=2.144,
RCVD_IN_BL_SPAMCOP_NET=1.246, RCVD_IN_DNSWL_NONE=-0.0001,
RCVD_IN_SORBS_WEB=0.614, T_RP_MATCHES_RCVD=-0.01, T_SURBL_MULTI1=0.01,
T_URIBL_BLACK_OVERLAP=0.01, URIBL_BLACK=1.775, URIBL_DBL_SPAM=1.7,
URIBL_JP_SURBL=1.948, URIBL_RHS_DOB=0.276, URIBL_SBL=0.644,
URIBL_WS_SURBL=1.659] autolearn=spam
Received: from mx-gateway.dracopcb.co.th ([127.0.0.1]) by
mx-gateway.dracopcb.co.th (mx-gateway.dracopcb.co.th [127.0.0.1])
(amavisd-new, port 10024) with ESMTP id DB3wMTHerrYf for
<[email protected]>; Fri, 17 Sep 2010 11:08:52 +0000 (UTC)
Received: from ruhk-013.totisp.net (ruhk-013.totisp.net [118.175.8.13]) by
mx-gateway.dracopcb.co.th (Postfix) with ESMTP id A77EB8FC37 for
<[email protected]>; Fri, 17 Sep 2010 11:08:49 +0000 (UTC)
Received: from unknown (HELO diamond) ([180.210.216.131]) by
ruhk-013.totisp.net with ESMTP; 17 Sep 2010 11:04:35 +0700
From: =?windows-874?B?qtHCqrnQ?= <[email protected]>
To: <[email protected]>
Subject: ***SPAM*** The US Drugs
Date: Fri, 17 Sep 2010 11:05:25 +0700
Message-ID: <000601cb6db0$877981b0$966c8510$@net>
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="----=_NextPart_000_0007_01CB6DEB.33D859B0"
X
T
C
xGJ;AAG
x
R
ฟงคช
X-Mailer:
Thread-In
Content-L
x-cr-hashGSXl HDQdJphl;1;bQ;Sosha1_vA7BF233B9AA=;Fri, GMT;VABoA
x-cr-puzz
Return-Pa
4.1.2 ทา
ในขนตอน
ชนการทางาน
1. จากร
การท
สามา
: Microso
ndex: Act
Language:
hedpuzzled HObL HsQBvAG4AdAv1;7;{A4292C5};aAB17 Sep 2
AGUAIABVA
zleid: {A
ath: help
าการทดสอบ
นแรกจะทาก
น Whitelist
รปท 4-12 เป
ทดลองตดแบ
ารถตรวจสอบ
oft Offic
ttcoAvEvN
th
e: AtP3 Bszh IZWy AByAGkAQA2AA42B-53BlAGwAcAB2010 04:0AFMAIABEA
A42AA42B-
pdesk@tot
บสวนของ E
การแสดงใหเ
รปท 4
ปนการ teln
บลคลสตจาก
บจากลอกไฟ
ce Outloo
N0iDBrQju
BKH6 BTFCI8qE
ABkAHIAYQ0D-47E7-
BkAGUAcwB5:22
AHIAdQBnA
-530D-47E
tisp.net
Email White
เหนถงการท
4-12 การถก
et เขาไปท
ก cbl.abusea
ลของเมลเกต
k 12.0
Lb0IVuv2U
Bbmz B9v
BjAG8AcABB438-rAEAAdABv
HMA
7-B438-A7
list
างานของระ
ปฏเสธการส
mail.dracop
at.org ทา
ตเวย ตามตา
U5gAO6SVQ
vR CjUa D
BjAGIALgB
vAHQAaQBz
7BF233B92
บบแอนตสแ
อสาร
pcb.co.th จะ
าใหไมสามา
ารางท 4-3
Q
DhDj EoOp
BjAG8ALgB
zAHAALgBu
2C5}
แปมทไมไมม
ะเหนไดวาไอ
ารถเปดการส
65
p FYph
B0AGgA
uAGUAd
มสวนของ
อพทใชใน
สอสารได
ตา
On
OrSuhfp
ารางท 4-3 tr
Oct 21 05ninprapha
Oct 21 05reject: RService uusing cblhttp://cbfrom=<monproto=SMT
2. เปดห
3. รปท
หลงจ
ransaction แ
5:36:12 man.com[18
5:38:07 mRCPT fromunavailabl.abuseatbl.abuseantri@ninpTP helo=<
หนาเวบเพจ i
4-14 หลงจา
จากการบนท
แสดงการบลอ
mx-gatewa80.210.21
mx-gatewam ninprapble; Cliet.org; Blat.org/lopraphan.c<montri>
index.php ข
รปท
ากลอกอนแล
กขอมลรายช
อกการสอสาร
ay postfi6.131]
ay postfiphan.com[ent host locked -ookup.cgicom> to=<
ขนมาเพอ log
4-13 หนาเพ
วจะเขาสหนา
ชอจะถกสงไป
ร
x/smtpd[5
x/smtpd[5180.210.2[180.210.see ?ip=180.2montri@dr
gin ตามรปท
พจสาหรบลอ
าเพจ domai
ปเกบไวในฐา
5853]: co
5853]: NO216.131]:.216.131]
210.216.1racopcb.c
4-13
กอน
n.php เพอใช
นขอมล Whi
onnect fr
OQUEUE: : 554 5.7] blocked
131; co.th>
ชเพมรายชอ
itelist
66
rom
7.1 d
อเมล
4. ทากา
ปลาย
ท 4-
คว 4
ารทดลองเชอ
ยทางไดแมวา
-4 ทแสดงให
B6808FC19
รปท 4-14 เพ
อมตอใหมอก
าโดเมนจะตด
หเหนถงรายล
9
รปท 4-15
พจ domain.
ครง คราวนจ
ดแบลคลสต ด
ละเอยดการส
5 แสดงการเช
php สาหรบ
จะเหนไดวาส
ดงทแสดงให
สอสารอนเดย
ชอมตอสาเรจ
เพมขอมล
สามารถจะเชอ
เหนในรปภา
ยวกน สงเกตไ
จ
อมตอเมลเซร
าพท 4-15 แล
ไดจากหมาย
67
รฟเวอร
ละตาราง
ยเลยเมล
68
ตารางท 4-4 แสดงขนตอนการยอมรบการสอสารของเมลปลายทาง
Oct 21 06:33:15 mx-gateway postfix/smtpd[5942]: connect from ninpraphan.com[180.210.216.131]
Oct 21 06:33:53 mx-gateway postfix/smtpd[5942]: 4B6808FC19: client=ninpraphan.com[180.210.216.131]
Oct 21 06:34:41 mx-gateway postfix/cleanup[5947]: 4B6808FC19: message-id=<>
Oct 21 06:34:41 mx-gateway postfix/qmgr[4004]: 4B6808FC19: from=<[email protected]>, size=267, nrcpt=1 (queue active)
Oct 21 06:34:41 mx-gateway dccproc[5966]: missing message body; fatal error
Oct 21 06:34:46 mx-gateway postfix/smtpd[5967]: connect from unknown[127.0.0.1]
Oct 21 06:34:46 mx-gateway postfix/smtpd[5967]: BEACA8FC23: client=unknown[127.0.0.1]
Oct 21 06:34:46 mx-gateway postfix/cleanup[5947]: BEACA8FC23: message-id=<[email protected]>
Oct 21 06:34:46 mx-gateway postfix/smtpd[5967]: disconnect from unknown[127.0.0.1]
Oct 21 06:34:46 mx-gateway postfix/qmgr[4004]: BEACA8FC23: from=<[email protected]>, size=1498, nrcpt=1 (queue active)
Oct 21 06:34:46 mx-gateway amavis[1363]: (01363-11) Passed SPAMMY, [180.210.216.131] [180.210.216.131] <[email protected]> -> <[email protected]>, mail_id: ubLvXwUUdq6N, Hits: 15.169, size: 267, queued_as: BEACA8FC23, 5501 ms
Oct 21 06:34:46 mx-gateway postfix/smtp[5965]: 4B6808FC19: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:10024, delay=74, delays=68/0.01/0/5.5, dsn=2.0.0, status=sent (250 2.0.0 from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as BEACA8FC23)
69
Oct 21 06:34:46 mx-gateway postfix/qmgr[4004]: 4B6808FC19: removed
Oct 21 06:34:47 mx-gateway postfix/smtp[5968]: BEACA8FC23: to=<[email protected]>, relay=mx2.dracopcb.co.th[192.168.3.53]:25, delay=0.23, delays=0.01/0.01/0.01/0.19, dsn=2.6.0, status=sent (250 2.6.0 <[email protected]> Queued mail for delivery)
4.4 สรปทายบท
บทนไดทาการทดสอบประสทธภาพของระบบแอนตสแปมทสรางขนมา นอกจาก
องคประกอบหลกแลว ไดแสดงใหเหนสวนทผจดทาเพมเตมขนมาเพอแกไขปญหาการตรวจสอบ
ผดพลาดจากการตดแบลคลสตของผสงหรอไมไดทาการแมบชอของเมลเซรฟเวอรเขากบไอพ
สาธารณะขององคกรนนๆ
70
บทท 5
สรปผลการทดลอง
จากการใชงานแอพพลเคชนทพฒนาขนในการทางานรวมกบ Postfix, Amavisd-new และ
SpamAssassin ไดผลเปนทนาพอใจ ตวระบบสามารถคดกรองอเมลขยะไดเกอบรอยเปอรเซนต ตลอด
ระยะเวลาสามเดอนททดลองใชงานมอเมลมลกษณะเปนอเมลขยะทสามารถผานระบบกรองสแปม
เมลมาไดอยบาง คออเมลทสงมาจาก Hotmail และ Waso Training แตเมอทาการปรบแตงคอนฟก
กเรชนบางอยางแลวกไมพบอเมลขยะเขามาอก
ผลการทดลองทไดแสดงใหเหนถงประสทธภาพการทางานของระบบคดแยกอเมลขยะไดเปน
อยางด สามารถทางานไดอยางมประสทธภาพ มความยนหยนและมเสถยรภาพในการทางานสง
สามารถตดตงกบระบบเมลเซรฟเวอรไดหลายแพลทฟอรม
จากการทดลองแสดงใหเหนวาการโพสอเมลขององคกรไวบนหนาเพจตางๆถอเปนสงทมความ
เสยงตอการไดรบสแปมเมล
ขอสงเกตทผจดทาโครงงานไดเหนคอ ถาหากเราใชผใหบรการอนเตอรเนตรายใดเราจะสามารถ
เขาใชงานเมลเพอการรเลยเพอสงตอไปยงทตางๆได แมวาเราจะไมมอเมลแอคเคาทจากผใหบรการ
หรอไมไดรบการเปดเผยจากผใหบรการกตาม
5.1 สงทไดรบจากสารนพนธ
1) เขาใจการทางานของระบบอเลคทรอนคเมล (Electornic Mail)
2) ทราบถงปญหาทมาของสแปมอเมล ปญหาทอาจจทาใหระบบอเลคโทรเมลในองคกรใชงาน
ไมได เชน จากการตดแบลคลสต
3) ทราบวธการตรวจสอบปญหาและแนวทางในการแกไขปญหา
4) ทราบถงวธการทบคคลไมพงประสงคใชในการสงอเมลขยะเขามา
5) เขาใจและตระหนกถงปญหาทจะตามมาจากการเกบรกษาอเมลสวนบคคลทไมดพอ
6) เขาใจกลไกการทางานของระบบคดกรองอเมลขยะ
7) สามารถสรางระบบทใชในการคดกรองอเมลขยะทมประสทธภาพโดยไมตองพงพา
ซอรฟแวรเชงพานชยทมราคาสง
71
5.2 แนวทางการปรบปรงและพฒนาตอ
จากการใชงานทผานมาพบปญหาททาใหไมสะดวกตอการใชงานบางอยางดงนคอ
1. สามารถเพมอเมลไดทละหนงรายชอเทานน
2. ไมมหนาใหเพมยสเซอรสาหรบใชในการ log on ตองทาการเพมดวยคาสงใน MySQL โดย
ผดแลระบบ
3. ไมมหนาแสดงรายชอใหดกรณทจาไมไดวารายชอใดทไดเพมไปแลวบาง
4. เมอเพมรายชอและกดเซฟแลว หนาเพจจะถกสงตอไปยงหนาโชวเรคอรดเลย หากตองการ
เพมรายชอจานวนมากหรอมากกวาหนงรายชอจะตองกดปม backspace เพอยอนกลบมาท
หนาทใชในการบนทกรายชออเมล ซงกอใหเกดความไมสะดวก
การแกไขในขอแรกสามารถเพมเทกซบอกใหมมากกวาหนงชองเพอเพมประสทธภาพในการ
บนทกขอมลใหเรวขน ในขอทสองตองทาการเพมหนาเพจสาหรบสราง user account โดยเชอมโยงกบ
ปมbuttonทตองเพมในหนาlogin ในขอทสามตองทาการเพมสวนทแสดงขอมลรายชออเมลทไดเพมเขา
ไปแลว และในขอทสเมอกดปมบนทกขอมลแลวใหหนาเพจยงคงอยทหนาเดมเพอใหสามารถปอน
รายชอเพมเตมได
72
อางอง
[1] Computer Network , Andrew S. Tanebaum, Pearson Education
[2] Unix and Linux System Administration Handbook 4th Edition, Pearson Education 2011
[3] Linux E-mail 2nd Edition, Packt Publishing 2009
การตด1)
2)
ดตง Unix Fเลอกเมนแรก
เลอกประเทศ
FreeBSD 88.x
73
3)
4)
เลอกคยบอรด
เลอกแพคเกจ
ด
Standard
74
5)
6)
แบงพาทชน
กด A เลอกฮาารดดสทงหมด
75
7)
8)
กด Q
เลอก standaard
76
9)
กด A เพอเลออกคา default
77
10)
เลอก Developer , Kernal Developer แและ User
78
11)
เลอก Customm แลวไปยง Poorts
79
12)
13)
เลอก Ports >
ตดตงเขาไป ห
กาหนดชอโฮส
> Port audit
หากมปญหาดา
สและ IP
พอรตออดตจะ
านความปลอดภ
ะทาหนาทตรวจ
ภยจะสงเมลให
จสอบชองโหวด
หผดแลระบบทร
ดานความปลอด
ราบ
ดภยตางๆจากแ
80
แพคเกตท
14)
ใน FreeBSD
ดงนนจงตองท
wheel จงจะส
user root จะ
าการสรางชอผ
สามารถ secu
ะไมสามารถ Se
ผใชเพอใหสามา
re shell เขาเค
ecure Shell เข
ารถใช Secure
ครองเซรฟเวอรไ
ขามาได ตองใช
e Shell ไดและ
ได
ช User ธรรมดา
ตองกาหนดให
าแลว su เปน r
หuser นนอยใน
81
root
นกรป
15)
กาหนดรหสผาาน root
82
16)
เสรจสนการตดตง
83
การอบเ
ตอไป ส
เดตพอรตท
หลงจากทาก
งทควรทาเป
# portsnap
ร
การตดตงระบ
นสงแรกคอก
p fetch extr
การตดตง
บบปฏบตการ
การอบเดตพอ
ract update
รปท 1 ก
รปท 2 กา
ระบบและค
ร FreeBSD
อรททใชในกา
การใชคาสงอ
ารเสรจสนกา
คมอการใชงา
เสรจ กอนทจ
ารตดตง Fre
อบเดตพอรต
รอบเดตพอร
าน
จะทาการตด
eeBSD โดยค
รท
ดตงคาคอนฟ
คาสงทใชคอ
84
กกเรชนใดๆ
4
ๆ
การตดต
จงแนะน
โดยมข น
ตง Vim
เพอใหการจด
นาใหใช Vim
นตอนดงตอไป
1. # cd /us
2. # make
ดคาคอนฟกต
editor แทน
ปน
sr/ports/edito
e install clea
ตางๆใน Fre
VI แตใน F
or/vim-lite
an
รปท 3 เ
รปท 4
eeBSD ทาได
reeBSD ไมไ
เรมการตดตง
4 สนสดการต
ดงาย มประส
ไดตดตงVIM
ง vim editor
ตดตง vim
ทธภาพมากข
มาให จงตอง
ขนและลดคว
งทาการตดต
85
วามผดพลาด
ตงดวยตนเอง
5
ด
ง
3. # mv /u
4. # ln –s
5. # cp /us
6. ทดสอบเ
usr/bin/vi
/usr/local/b
sr/local/shar
เรยกใชคาสง
/usr/bin/vi.b
bin/vim /us
re/vim/vim73
ง “vi /etc/r
รปท 5 สราง
รปท 6 กา
bak
r/bin/vi
3/vimrc_exa
rc.conf”
ง soft link ไป
ารเรยกคาสง
mple.vim
ปยง director
vim โดยใช
/usr/local/sh
ry vi
vi
hare/vim/vim
86
mrc
6
รปท 7 ทดลลองเรยกใชคาสง “ vi //etc/rc.conf”
87
7
การตดต
จาเปนต
องคกรด
สาธารณ
Install B
1.
2.
ตง DNS
ระบบอเลคโ
องทาการแม
ดวย เพอปอง
ในตวอยางข
ณะ 58.137.97
Bind 9 DNS
# cd /usr/po
# make con
โทรนคเมลจะ
มบโฮสเนม (h
กนการถก re
ของบรษท ดร
7.190
S
orts/dns/bind
nfig
ะทางานสมพ
hostname) ข
eject จากปล
ราโก พซบ เม
d9
พนธกบระบบ
ของเมลเซรฟ
ลายทาง
มลเซรฟเวอร
บ DNS เ
ฟเวอรททาห
รทสงออกชอ
ปนหนงเดยว
นาทสงออกเ
อ FW-INT ไ
วกน การสร
เขากบไอพส
ไดทาการแมบ
88
รางระบบเมล
าธารณะของ
บเขากบไอพ
8
ล
ง
พ
3.
4.
5.
6.
7.
8.
# make inst
# cd /etc/n
# cp name
# vi /etc/na
ทาการแกไข
เพม forward
tall clean
amedb/
d.conf nam
amedb/name
ขคา listen-o
ders { ISP’s
med.conf.ba
ed.conf o
n { IP DNS
IP address}
ak (ทาการแ
r # vi n
Server} เป
}; บรเวณปก
บคอบ origin
amed.conf
นไอพของเค
กกา options
nal files)
รอง DNS S
Server นนๆ
89
9
9.
10.
ทาการสรางช
ตาแหนงเกบ
ทาการสราง
# vi /etc/
ชอ forward
บไฟล
Zone file ท
/named/work
Zone และ re
ง Forward Z
king/dracopc
everse Zone
Zone ตามท
cb.co.th.hos
e ตามชอโด
ระบในไฟล
sts ตวอกษรส
เมนองคกรน
named.conf
สเหลองเปนช
นนๆ พรอมท
f โดยใชคาส
ชอ Server
90
ทงระบ
ง
0
11.
ตวเล
12.
13.
14.
ทาการสราง
# vi /etc/
ลขสแดงดาน
ทาการบนทก
โดยใชคาสง
# echo ‘na
แกไขไฟล /e
# vi /etc/re
domain d
nameserver
ทาการสตาร
# /etc/rc.d/n
Reverse Zo
/namedb/wo
นซายเปนหมา
กไฟลใน /etc
med_enable
etc/resolve.c
esolve.conf
dracopcb.com
r 192.168.3
รทเซอรวส dn
named star
one โดยขนต
orking/58.137
ายเลขไอพท
c/rc.conf เพอ
e=”YES”’ >>
conf
m
3.3
ns (named)
rt or service
ตนดวยชอ N
7.97.rev
ตอจาก netw
อให service
>/etc/rc.conf
e named sta
etwork Addr
work address
“named (bin
art
ress ดงตวอย
s ซงกคอ 58
nd) ทางานท
ยางใช 58.1
8.137.97.190
ทกครงทบตเค
91
37.97.rev
0
ครองใหม
1
การตดต
การตดต
ขนตอน
1)
ตง Postfix แ
ตงจะแบงออก
นท 1
Installing Po
1.1. ทาการ
#
#
1.2. Check
#
#
และฐานขอ
กเปนสองขนต
ostfix
Back up Pa
cp /etc/pas
cp /etc/grou
sendmail D
ps aux |gre
/etc/rc.d/se
มล whitelis
ตอน
assword และ
swd /etc/pa
up /etc/grou
eamon
ep sendmail
รปท 1 ต
ndmail fo
st
ะกรป
asswd.bak
up.bak
ตรวจสอบเซอ
rcestop
อรวสเมลททางานอย
92
2
#
#
#
#
#
echo 'send
echo 'send
echo 'send
echo 'send
echo 'postf
รปท 3
รปท 2 ส
mail_enable
mail_submit
mail_outbou
mail_msp_q
fix_enable="
คาสตารทอ
สงคาสงเขาไป
e="NO"'>>/e
t_enable="N
und_enable=
queue_enab
"YES"'>>/etc
อพเดมอนขอ
ปในไฟล /etc
etc/rc.conf
NO"'>>/etc/rc
="NO"'>>/etc
ble="NO"'>>/
c/rc.conf
อง FreeBSDใ
c/rc.conf
c.conf
c/rc.conf
/etc/rc.conf
ในไฟล /etc/rrc.conf
93
3
1.3. Install p
#
#
#
postfix
cd /usr/port
make confi
รปท 4
make insta
ts/mail/postf
g (เลอก MY
4 สาหรบ ma
all clean
รปท
fix
YSQL )
ail gateyway
ท 5 คาสงตด
เลอก option
ดตง postfix
n mysql ,TLLS, TEST,IN
94
ST_BASE
4
รปท 6 ต
รปท 7 พม
อบ y เพอ ad
มพ y เพอทา
dd user ‘Po
าการ registe
stfix’ เขาไปใ
r postfix เขา
ในกรป “mail
าไปในไฟล m
l”
mailer.conf
95
5
1.4. ทาการส
ของsen
# v
da
da
da
da
1.5. แกไขไฟ
#
# t
# v
my
my
รปท 8
สรางไฟล /e
ndmail
vi /etc/perio
aily_clean_h
aily_status_m
aily_status_i
aily_submit_
ฟล main.cf
mv /etc/post
touch /etc/p
vi /etc/postfi
yhostname
ydomain = d
8 เมอตดตงสา
etc/periodic.c
odic.conf
oststat_ena
mail_rejects_
nclude_subm
queuerun="
tfix/main.cf
ostfix/main.c
ix/main.cf
= your mail
dracopcb.co
าเรจจะม use
conf แลวเพ
able="NO"
_enable="N
mit_mailq="
"NO"
/etc/postfix
cf
หรอใชคาสง
l server nam
o.th(your dom
er “postfix|*|
พมขอความดง
O"
NO"
x/main.cf.ba
postconf –e
me
main)
125|125” เพ
งตอไปนเพอ
k
e
พมขนมา
หยดการทาง
96
งาน routine
6
97
myorigin = dracopcb.co.th (your domain)
mynetworks = your mail gateway’s ip or your network’s ip
mydestination =
local_recipient_maps =
relay_domains = dracopcb.co.th ( your domain)
transport_maps= hash:/etc/postfix/transport
virtual_alias_maps = hash:/etc/postfix/virtual
alias_maps = hash:/etc/aliases
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/db/postfix
mail_owner = postfix
setgid_group = maildrop
unknown_local_recipient-reject_code = 550
message_size_limit = 10485760” (10MB)
max_use = 20
smtpd_helo_required = yes
disable_vrfy_command = yes
smtpd_banner = $domain ESMTP (NO UCE and NO Abuse)
smtpd_recipient_restrictions =
check_recipient_access hash:/etc/postfix/riepient_access,
reject_rbl_client bl.spamcop.net,
# v
dr
dr
#
reject_rbl_
reject_una
reject_non
reject_unk
permit_my
vi /etc/postfi
**** rec
racopcb.com
racopcb.co.t
postmap /e
_client cbl.a
auth_destina
n_fqdn_recip
known_recip
ynetworks
รปท
ix/recipient_
cipient_acce
m OK
th OK
etc/postfix/re
abuseat.org,
ation,
pient,
pient_domai
9 คาคอนฟก
_access
ess *****
(change
(change
ecipient_acc
,
n,
ก main.cf
e to your do
e to your do
cess
omain)
omain)
98
8
99
# vi /etc/postfix/virtual_alias
***** virtual ****
root [email protected]
postmaster [email protected]
abuse [email protected]
virus [email protected]
spam [email protected]
Virusalert [email protected]
# postmap /etc/postfix/virtual_alias
1.6. transport file ระบชอโดเมนขององคกรและเมลเซรฟเวอรปลายทางทใชรบเมล(relay)
# vi /etc/postfix/transport
******* transport ********
dracopcb.co.th relay:[mx.dracopcb.co.th]
dracopcb.com relay:[mx.dracopcb.co.th]
or
dracopcb.co.th smtp:[192.168.3.2]
dracopcb.com smtp:[192.168.3.2]
# postmap /etc/postfix/transport
1.7. เซฟและทาการสตารท postfix พรอมกนนนทาการเปด logfile เพอดวามแจง error หรอไม
โดยทาการเปดสองหนาตาง หนาตางแรกพมพวา
# tail –f /var/log/messages
# postfix start (หนาตางทสอง )
ถงขนตอนน
ทางานพอรต
te
น Postfix จะส
ต 25 โดยทด
elnet mx-gw-
รปท
สามารถทาหน
ลองสงเมลมา
-in.dracopcb
รปท 10 ก
ท 11 แสดงค
นาทเปนเมล
าทเมลเกตเว
b.com 25
การทดสอบกา
ความสาเรจใน
เกตเวยทไมม
วยโดยใชคาส
ารทางานพอ
นการตดตอท
ม spamAssa
สง
รต 25
างพอรต 25
assin ทาการ
100
รทดสอบการ
0
2. ทาก
2.1.
2.2.
การตดตง Am
ไปท /usr/po
เลอก Optio
#
mavisd-New
orts/security
# make con
รป
on SpamAss
# make insta
y/amavisd-ne
nfig
รปท 12 am
ปท 13 Spam
sassin เพอท
all clean
ew แลวเรยก
mavisd-new
mAssassin เล
ทาการตดตง S
กคาสง
เลอก option
ลอก option
SpamAssas
n การตดตง
การตดตง
ssin
101
1
102
2.3. หลงจากเสรจสนการตดตงทาการแกไขไฟล เปลยนแปลงคาตางๆดงน
# vi /usr/local/etc/amavisd.conf
@bypass_virus_checks_maps (Uncomment)
$mydomian = ‘dracopcb.co.th’
$MYHOME = ‘/var/amavis’; (Uncomment)
@local_domains_maps = ([“.$mydomain”,”dracopcb.com”])
$notify_method = ‘smtp:[127.0.0.1]:10025’ (Uncomment)
$forward_method = ‘smtp:[127.0.0.1]:10025’ (Uncomment)
$final_spam_destiny = D_DISCARD; (Uncomment)
สงคาสง echo ‘amavisd_enable=”YES”’>>/etc/rc.conf
2.4. ทาการปรบแตงคาคอนฟก local.cf ของ SpamAssassin
# cd /usr/local/etc/mail/spamassassin
# ls -l
# cp local.cf.sample local.cf
# vi /usr/local/etc/mail/spamassassin/local.cf or # vi local.cf ทาการแกไขสวน
trusted_networks 192.168.3. (Network Address ตามดวยจด) internal_networks 192.168.3. Add ***** SPAM ***** to the Subject header of spam emails (Uncomment )
# sa-update
2.5. ทาการแกไขไฟล master.cf โดยการเพมขอความในตารางดานลางตอทายบรรทด
# vi /etc/postfix/master.cf
smtp inet n - n - - smtpd
smtp-amavis unix - - y - 2 smtp -o smtp_data_done_timeout=1200
103
-o smtp_send_xforward_command=yes -o disable_dns_lookups=yes 127.0.0.1:10025 inet n - y - - smtpd -o content_filter= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o disable_dns_lookups=yes -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000
2.6. แกไขไฟล main.cf
# vi /etc/postfix/main.cf
conten_filter = smtp-amavis:[127.0.0.1]:10024
2.7. ทาการเปดสองหนาตาง หนาตางแรกเรยกคาสง
# tail –f /var/log/maillog เพอด errors ตางๆ
# /usr/local/etc/rc.d/amavisd start หรอ service amavisd start (หนาตางทสอง)
# postfix reload
รป
รปท
ปท 15 ไฟล
14 ไฟลดงเด
master.cf ห
ดมของ mas
ลงจากทมกา
ster.cf
ารเพมขอควาาม
104
4
ขนตอน
สองจะเปApache
นท 2
การตดตงในปนการเพมค Web Serve
1) ตดตง M
นขนตอนแรกสวามสามารถ
er, PHP, My
MySQL # cd /usr/po# make all
# echo ‘mys# service m# mysql –u > UPDATE -> User=’ro> DELETE > FLUSH P> quit; # mysql –u (enter your
สามารถสรางการทางานขSQLและฐาน
orts/databasinstall clean
รปท 1
sql_enable=mysql start root mysql user SET Pot’; FROM user
PRIVILEGES
root –p password)
งเมลเกตเวยของระบบกรอนขอมล E-ma
ses/mysql51n
16 การเลอก
=”YES”’>>/et
Password=P
r WHERE US;
ทมระบบกรอองสแปมใหดยail Whitelist
-server
option ของ
tc/rc.conf
PASSWORD
User=’ ’;
องสแปมไดดใยงขน ซงใน
mysql
D(‘your_pass
ในระดบนงแนขนตอนนจ
sword’) WHE
105
แลว ในสวนทะมการตดตง
ERE
5
ทง
106
> CREATE DATABASE `whitelist`; > GRANT ALL PRIVILEGES ON whitelist.* TO postfix@localhost -> IDENTIFIED BY ‘postfix’; > quit;
ทาสาเนา `project_whitelist.sql` มาไวท /tmp # cd /tmp # mysql –u root –p whitelist < project_whitelist.sql
(Enter mysql’s root password) # cp /usr/local/share/mysql/my-huge.cnf /var/db/mysql/my.cnf # chmod 640 /var/db/mysql/my.cnf # vi /var/db/mysql/my.cnf
innodb_data_home_dir = /var/db/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/db/mysql/
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
max_allowed_packet = 10M
2) ทาการตดตง Apache Web Server
# cd /usr/ports/www/apache22 # make config (เลอก MYSQL support) # make install clean (หนาตางอนๆเลอกคา default) # echo ‘apache22_enable=”YES”’>>/etc/rc.conf # vi /usr/local/etc/apache22/httpd.conf
ServerAdmin [email protected] ServerName mx-gw-in.dracopcb.com:80
<IfModule d Director</IfModule>
AddType aAddType aAddType aAddType aAddType aLoadModu
# /usr/local/# service ap
dir_moduleryIndex ind>
application/x-application/x-application/x-application/x-pplication/x-le php5_mo
รปท 17 การ
/etc/rc.d/apapache22 sta
e> dex.php ind
-httpd-php -httpd-php -httpd-php-s-httpd-php .-httpd-php .odule libexec
รเลอก optio
ache22 conart
ex.php3 ind
.php
.php3 source .phpshtml phtml c/apache22/
n ของ Apac
nfigtest
dex.html ind
s
/libphp5.so (
che 2.2
dex.htm
(ถามแลวไมต
107
ตอง)
7
3) ตดตง P
PHP 5 # cd /usr/po# make con
รปท 1
รปท 19 กา
# make inst# cp /usr/lo
orts/lang/phpnfig (select M
8 สแดงการเ
ารเลอก optio
tall clean ocal/etc/php
p5-extensionMYSQL)
เลอก option
on support A
.ini-producti
ns
mysql ของ
Apache We
on /usr/loca
PHP5-Exten
b Server ขอ
al/etc/php.in
ntion
อง PHP5
ni
108
8
109
# vi /usr/local/etc/php.ini
register_globals = On upload_tmp_dir = /tmp session.save_path = /tmp session.cookie_path = / include_path = “.” extension=php_mysql.dll (uncomment) extension=php_mysqli.dll (uncomment) extension=php_pdo_mysql.dll (uncomment)
# service apache22 restart
4) สาเนาเพจ index.php, record.php, domain.php, showdata.php, logo.jpg ไปไวท /tmp cd /tmp cp /tmp/*.php /usr/local/www/apache22/data/ cp logo.jpg /usr/local/www/apache22/data
5) แกไขไฟล /etc/postfix/main.cf และสรางไฟล /etc/poftfix/whitelist.cf
# vi /etc/postfix/main.cf smtpd_client_restrictions = check_client_access hash:/etc/postfix/client_access, check_sender_access mysql:/etc/postfix/whitelist.cf, reject_unknown_client smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access, reject_non_fqdn_sender, reject_unknown_sender_domain
# touch /etc/postfix/whitelist.cf # vi /etc/postfix/whitelist.cf
dbname = whitelist hostname = localhost user = postfix password = poftfix table = domain
6) ทดสอบกerror ใหทาก
select_field where_field# vi /etc/posdracopcb.codracopcb.co# postmap # postfix re# reboot
การทางานโดการแกไขตาม
# tail –f /va# tail –f /va# telnet loc# telnet loc# telnet loc
= status = domainidstfix/client_aom reject o.th reject /etc/postfix/load
รปท 20 ไฟ
ยการ telnetมท logfile แจ
ar/log/messaar/log/maillogcalhost 25 calhost 1002calhost 1002
d access /client_acce
ฟลคอนฟกท
t ไปยงพอรตจง
age g
24 25
ess
ทสมบรณของ
ต 25, 10024
main.cf
, 10025 ทลละพอรตตามล
110
ลาดบ หากม
0
ม
111
คมอการใชงาน 1. ทาการสราง User ทใชในการ log on โดยการเขาไปในสวนของฐานขอมล MySQL แลวพมพคาสง
# mysql ‐u postfix ‐p whitelist
(Enter password)
> INSERT INTO `users` VALUES ('montri', 'password', 'Montri', 'Ninpraphan', 'Thailand',
'0819890951', '[email protected]');
>quit;
2. เปดเวบบราวเซอรทเครอง client พมพ URL ของเซรฟเวอรเมลเกตเวย เชน http://mx‐gw‐int หรอ http://mx‐
gw‐int/index.php
3. ทาการปอนยซเซอรทไดทาการสรางไวในขอทหนง ในทนคอ “montri” พาสเวรดคอคาวา “ password” กดป ม
Login
4. ในหนา Domain Name ทาการปอนรายชออเมลทตองการระบเปน whitelist ในชอง E‐mail address ชอง
Status พมพ OK (แตถาหากตองการ REJECT อเมลใดๆ กสามารถพมพ REJECT เขาไปแทนได) ชอง Company
Name พมพชอหนวยงานหรอองคกร ซงสามารถละไวได จากนนทาการกดป ม Save ขอมลกจะถกจดเกบเขาส
ฐานขอมลทไดสรางไว