Warning: Parameter 3 to mb_videobot() expected to be a reference, value given in /home/www/virtual/susethailand.com/htdocs/libraries/joomla/event/dispatcher.php on line 136
Sendmail-Fedora
บทนำ
ต่อ ไปนี้เป็นตัวอย่างขั้นตอนการเซ็ต Mail Server ที่เป็น Sendmail บน Fedora Core 5 ให้ทำงานร่วมกับ squirrelmail ที่ต้องเชื่อมต่อเมล์เซิร์ฟเวอร์ผ่าน IMAP และจะกล่าวถึงการทำให้โปรแกรม Mail Client อย่างเช่น Outlook, Kmail, Mozilla mail ฯลฯ สามารถรับส่งเมล์ได้โดยผ่านโปรโตคอล POP3 หรือ IMAP โดยโปรแกรมที่เป็น IMAP & POP3 Server จะใช้ของ Dovecot รวมถึงการติดตั้งโปรแกรม Antivirus ที่เป็น Clamav และโปรแกรมป้องกันสแปมที่เป็น Spamassassin ด้วย
ขั้นตอนการติดตั้ง
การติดตั้งขอติดตั้งผ่านเมนู Add/Remove Applications ซึ่งประกอบด้วยโปรแกรมต่อไปนี้
- โปรแกรม Sendmail ประกอบด้วยโปรแกรม Semdmail และโปรแกรม Sendmail-cf โดย Sendmail-cf เป็นไฟล์คอนฟิกกูเรชันของโปรแกรม Sendmail ใช้กำหนดหน้าที่การทำงานต่าง ๆ
- โปรแกรมที่ทำหน้าที่เป็น IMAP & POP3 Server ซึ่งขอใช้เป็นโปรแกรม dovecot (Dovecot Secure imap server)
- โปรแกรม Web-based email ที่เป็น Squirrelmail
- โปรแกรมป้องกันสแปมที่เป็น spamassassin
- สำหรับโปรแกรมป้องกันไวรัส clamav ผู้เีขียนขอติดตั้งด้วยการ Download โปรแกรมจากเว็บมาติดตั้งด้วยคำสั่ง rpm ครับ
โปรดระวัง จากรูปข้างบนนี้อย่า remove โปรแกรม cyrus-sasl ออกนะครับ เพราะจะส่งผลให้ลบ sendmail และ squirrelmail ออกไปด้วย
การคอนฟิก Sendmail
- แก้ไข ไฟล์ /etc/mail/sendmail.mc ในบรรทัดที่เขียนว่า DAEMON_OPTIONS(‘Port=smtp,Addr=127.0.0.1, Name=MTA’) ให้เปลี่ยน 127.0.0.1 เป็น 0.0.0.0 เพื่อเปิดกว้างให้ทุกคนสามารถใช้ Sendmail (SMTP) ได้ แล้ว run macro ดังนี้:
#make -C /etc/mail
หมาย เหตุ ไฟล์ sendmail.mc เป็น macro file ซึ่งเมื่อเราแก้ไขค่าในไฟล์นี้แล้วและใช้คำสั่ง make -C /etc/mail ก็จะทำให้มีการเปลี่ยนแปลงค่าในไฟล์คอนฟิกคือไฟล์ sendmail.cf ตามที่เราสั่งจากไฟล์มาโคร ซึ่งจริง ๆ แล้วเราสามารถทำการคอนฟิกตรงที่ไฟล์ sendmail.cf ได้เลย แต่การคอนฟิกจากไฟล์มาโครอาจจะสะดวกกว่าครับ
กำหนดว่าจะอนุญาตให้ เครื่องหรือเครือข่ายไหนมารีเลย์ผ่าน smtp ของเราได้บ้าง โดยให้กำหนดที่ไฟล์ /etc/mail/access ซึ่งอาจมีข้อความเป็น 3 บรรทัดแรกของรูปข้างล่าง ส่วน 3 บรรทัดล่างเป็นส่วนที่ผู้เขียนเพิ่มเข้าไปใหม่เพื่ออนุญาตให้เครือข่ายของ ผู้เขียนที่มี IP ขึ้นต้นด้วย 202.129.16, 172.24.51, 61.19 สามารถใช้งานได้
หมายเหตุ ในกรณีระบบเมล์ของท่านไม่สนับสนุนการใช้งานเมล์ผ่านโปรแกรม Mail Client อย่าง Outlook , Kmail, Mozilla mail ฯลฯ ก็ไม่ต้องเซ็ตในข้อนี้นะครับเพราะค่า default ของการรีเลย์มีการอนุญาตให้สำหรับ localhost.localdomain, localhost, 127.0.0.1 อยู่แล้ว ซึ่งการใช้สำหรับ Web-based email ที่เป็น squirrelmail ก็สามารถใช้งานได้โดยไม่ต้องทำข้อนี้ครับ
จากนั้นให้แปลงข้อมูลจาก access ไปเป็น access.db ดังนี้ :
#makemap hash access < access
3. กำหนดโดเมนที่จะรับ mail เป็นการกำหนดว่าจะให้โดเมนไหนรับเมล์ได้บ้าง โดยให้ใส่ชื่อโดเมนที่จะยอมรับเมล์ในไฟล์ /etc/mail/local-host-names ซึ่งในที่นี้เราจะอนุญาตให้รับเมล์ของโดเมน itwizard.info ก็ให้เพิ่มค่าโดเมนดังกล่าวเข้าไปในไฟล์ /etc/mail/local-host-names ดังนี้
4. ทำการ start หรือ restart โปรแกรม Sendmail โดยอาจจะทำผ่าน GUI หรืออาจใช้คำสั่งดังนี้ :
#service sendmail restart
การคอนฟิกโปรแกรม IMAP & POP3 Server (Dovecot)
ไฟล์ คอนฟิกของ Dovecot คือไฟล์ /etc/dovecot.conf ซึ่งในที่นี้ผู้เขียนใช้ค่าคอนฟิกที่เป็น Default ก็สามารถใช้งานได้ทั้งที่เป็นแบบ Webmail (Squirrelmail) และใช้กับ Mail Client ซึ่งค่าที่สำคัญของการคอนฟิกก็อาจจะเ็็ป็นค่าที่ำกำหนดว่าจะบริการโปรโตคอ ลอะไรบ้างดังรูป ซึ่งผู้เขียนเข้าใจว่าค่า Default จะเป็นการบริการทุกโปรโตคอลที่เกี่ยวข้องคือ imap, imaps, pop3 และ pop3s และถ้าต้องการจะบริการเฉพาะบริการโปรโตคอนไหน ก็ให้เอาเครื่องหมาย # หน้าคำว่า protocols ออกป้อนเฉพาะโปรโตคอลที่ต้องการเท่านั้น
สำหรับ ค่าคอนฟิกอื่น ๆ ของ Dovecot ผู้เขียนไม่ขอกล่าวถึงนะครับ ใครต้องการจะใช้ฟังก์ชันที่ Advanced มากกว่านี้ก็ขอให้ศึกษาเองก็แล้วกัน
และสำหรับการ restart บริการของ Dovecot สามารถใช้คำสั่ง service dovecot restart ดังรูปได้
การคอนฟิกโปรแกรม Squirrelmail
- เปลี่ยนไดเร็คทอรี่เข้าไปยังตำแหน่งที่มีไฟล์คอนฟิกของ Squirrelmail ดังนี้
cd /usr/share/squirrelmail/config
- รันไฟล์ที่ใช้ในการคอนฟิกคือ conf.pl ดังนี้
./conf.pl
3. จากนั้นก็ปรับค่าคอนฟิกที่จำเป็นซึ่งของผู้เขียนเริ่มต้นจากข้อ 1 คือ Organization Preferences ดังรูป
4. จาำกนั้นก็เลือกเมนูข้อ 2 คือ Server Settings ซึ่งตรงนี้จำเป็นต้องกำหนดค่าของ Domain เพราะจะถูกแสดงในรายละเอียดของเมล์ที่ส่งไปยังผู้รับว่ามาจากโดเมนไหน
5. จากนั้นผู้เขียนขอเลือกเมนูข้อ 4 เิพื่อกำหนดให้ Hide SM attributions เป็น true
6. และสุดท้ายผู้เขียนเลือกเมนูข้อ 10 เพื่อกำหนดค่าของภาษาให้เป็นไทยดังรูป
7. และสุดท้ายให้เลือกเมนู S เพื่อ Save data ซึ่งผลของการปรับเปลี่นค่าของคอนฟิกทั้งหมดจะอยู่ที่ไฟล์ /usr/share/squirrelmail/config/config.php
การคอนฟิก Spamassassin
ใน ที่นี้ขอใช้ตัวช่วยนะครับให้ลอง Search หาคำว่า How to config spamassassin จาก Google จากนั้นจะเจอเว็บไซต์ที่เ็ป็น SpamAssassin Configuration Generator จากเว็บไซต์ http://www.yrex.com/spam/spamconfig.php ซึ่งเป็นเว็บไซต์ที่เป็นเครื่อง มือสำหรับอำนวยความสะดวกในการสร้างไฟล์
คอนฟิกของ Spamassassin แบบอัตโนมัติ
- ทำการเลือกค่าต่าง ๆ ตามคำแนะนำ และตามระดับขั้นที่้ต้องการ
- เืมื่อเลือกค่าทุกอย่างแล้วก็คลิ๊กปุ่ม Generate the Configuration File
- จาก นั้นก็จะได้ค่าของไฟล์คอนฟิกของ Spamassassin ดังรูป ซึ่งเราสามารถดาวน์โหลดหรือจะก็อปปี้ไป Paste ในไฟล์คอนฟิกของ Spamassassin ก็ได้
4. ไฟล์คอนฟิกของ Spamassassin จะเป็นไฟล์ /etc/mail/spamassassin/local.cf (สำหรับ system-wide configuration) หรือ ~user/.spamassassin/user_prefs (สำหรับ individual user) ซึ่งในที่นี้ผู้เขียนขอคอนฟิกเฉพาะ system-wide configuration (/etc/mail/spamassassin/local.cf) ก็ให้ก็อปปี้ค่าคอนฟิกที่ถูก Generated ขึ้นมาไปไว้ในไฟล์ดังกล่าว แต่เพื่อความปลอดภัย อาจจะต้องสำเนาไฟล์ต้นฉบับไว้ก่อนก็ดีนะครับ
5. จากนั้นเราสามารถ restart การทำงานของ spamassassin ได้ดังรูป
การติดตั้ง ClamAV
1. ดาวน์โหลดโปรแกรมจากเว็บไซต์ www.clamav.net โดยใ้ห้เลือกหัวข้อที่เป็น binary packages and ports
2. เลือกดาวน์โหลดสำหรับ RedHat - Fedora ดังรูป แล้วเลือก Fedora5
3. จากรูปข้างล่างจะเห็นว่ามีโปรแกรมอยู่หลายโปรแกรม แ้ล้วจะต้องติดตั้งตัวไหนบ้าง ล่ะ ?
4. ให้อ่านข้อมูลในไฟล์ clamav.spec ก็จะรู้ว่าแต่ละไฟล์ทำหน้าที่อะไรบ้างดังนี้
- clamav (clamav-0.88.4-1.i386.rpm ) ซึ่งมีชื่อทาง service เป็น frechclam
Clam AntiVirus เป็น GPL anti-virus toolkits for UNIX จุดประสงค์หลักของ Software อันนี้คือเพื่อรวมกับ Mail Server (attachment scanning) ซึ่งคุณสมบัติของ Package จัดให้ีมี :
- a flexible and scalable multi-threaded daemon
- a command line scanner
- and a tool for automatic updating via Internet
โดย โปรแกรมจะอาศัย shared library ที่ถูกเผยเพร่กับ Package ซึ่งคุณสามารถใช้ซอ์็ฟแวร์ด้วยตัวคุณเอง ที่สำคัญที่สุด ฐานข้อมูลไวรัส (virus database) ต้องทันสมัย (up to date) อยู่เสมอ
- clamav - milter : This package contains ClamAV's sendmail filter using MILTER interface.
ซึ่งผู้เขียนได้ลองติดตั้งโปรแกรมตัวนี้แล้วแต่บอกตรง ๆ ครับว่ายังใช้งานไม่เป็นครับ ในที่นี้จึงไม่ขอกล่าวถึง
- clamav - server : clamd an anti-virus daemon
This package contains clamd. The daemon listens for incoming connections on Unix or TCP socket and scans files or directories on demand.
- clamav - devel : Development header files and libraries
This package contains the development header files and libraries necessary to develope your own clamav based applications.
- clamav - db : virus patterns DB
This package contains the virus patterns database. You need this package only on systems not connected to internet. In all other cases get the new, fresh and actual version from net. Run command 'freshclam --verbose' as root.
- clamav-0.88.4-1.i386.rpm (freshclam)
- clamav-server-0.88.4-1.i386.rpm (clamd)
6. ทำการติดตั้งโปรแกรม clamav ดังรูป
จากรูปจะเห็นว่าเมื่อมีติดตั้งโปรแกรมเสร็จแล้วโปรแกรมจะมีการดาวน์โหลดฐานข้อมูลไวรัสโดยอัตโนมัติเพื่อให้รู้จักกับ
ไวรัสตัวใหม่ได้
และถ้าเราจะเรียกใช้โปรแกรมตัวนี้เพื่อการอัพเดตฐานข้อมูลไวรัสเองก็สามารถเรียกได้ด้วยการเรียกไฟล์ /usr/bin/freshclam ดัีงรูป
7. ทำการติดตั้งโปรแกรม clamav-server (มีชื่อ service เป็น clamd) ดังรูป
8. เพื่อให้รู้ว่าโปรแกรมที่เราติดตั้งไปแล้วได้ติดตั้งส่วนต่าง ๆ ของโปรแกรมไว้ที่ไหนบ้างก็สามารถดูได้ด้วยการใช้คำสั่ง ดังรูป
จากรูปจะเห็นว่ามีการสร้างไฟล์ /etc/cron.daily/freshclam ซึ่งเข้าใจว่าเป็นการตั้งเวลาให้มีการ update ไวรัส
9. การทดสอบ clamav แบบ manual
เราสามารถใช้คำสั่ง clamscan ซึ่งเป็นโปรแกรมสแกนไวรัสสำหรับไฟล์และไดเร็คทอรี่ ซึ่งมีรูปแบบของคำสั่งดังนี้ :
clamscan [options] [file/directory/-]
เช่น
clamscan -r /home/<user>
10. ในกรณีที่ต้องการให้โปรแกรม freshclam และ clamd มีการ start service ทุกครั้งเมื่อมีการเปิดเครื่องเราสามารถใช้คำสั่ง chkconfig ได้ดังนี้ :
# chkconfig freshclam on
# service freshclam start
# chkconfig clamd on
# service clamd start
11. โปรแกรมทั้งสองมีชื่อใน Service ของระบบว่า clamd และ freshclam ดังรูป
Finish.
ที่มา : โดย : อดิศร ขาวสังข์






































