thaiall logomy background

ลีนุกซ์ (Linux) : superuser

my town
หน้าหลัก | ลีนุกซ์คืออะไร | แนะนำหนังสือ | superuser | บันทึกปัญหา |
 0979
9.79 ติดตั้ง SSL (Secure Sockets Layer)
: ปกป้องรหัสของผู้ใช้เมื่อเชื่อมต่อกับเครื่องบริการ

SSL (Secure Sockets Layer) เป็นระบบรักษาความปลอดภัยในเว็บไซต์รูปแบบหนึ่งที่เป็นที่นิยมกัน ซึ่ง SSL จะใช้เพื่อเข้ารหัส (encrypt) ข้อมูลตัวมันเอง ใช้เพียงแต่การตรวจสอบหรือยืนยันได้เฉพาะฝั่งผู้ขายเท่านั้นว่ามีตัวตนจริง ไม่สามารถยืนยันตัวผู้ซื้อได้ ซึ่ง SSL จะมีความเร็วในการทำงานมากกว่า PKI ประมาณ 10 - 100 เท่า และยังสามารถใช้งานกับบราวเซอร์ต่าง ๆ ได้ การทำงานจะเริ่มจาก ผู้ใช้งานเริ่มกระบวนการติดต่อไปยังเว็บเซิร์ฟเวอร์ที่มีระบบ SSL หลังจากนั้นเซิร์ฟเวอร์จะส่งใบรับรอง (Server Certificate) กลับมาพร้อมกับการเข้ารหัสด้วยกุญแจสาธารณะ (Public Key) ของเซิร์ฟเวอร์ จากนั้นคอมพิวเตอร์ของฝั่งผู้รับจะทำการตรวจสอบใบรับรองอีกที เพื่อตรวจสอบตัวตนของฝั่งผู้ค้า หลังจากนั้นจะทำการสร้างกุญแจสมมาตร (Symmetric Key) โดยการสุ่มและทำการเข้ารหัสกูญแจสมมาตรด้วยกุญแจสาธารณะของเซิร์ฟเวอร์ที่ได้รับมาเพื่อส่งกลับไปยังเซิร์ฟเวอร์ เมื่อได้รับแล้วก็จะทำการถอดรหัสด้วยกุญแจส่วนตัว (Private Key) ก็จะได้กุญแจสมมาตรของลูกค้ามาใช้ในการติดต่อสื่อสาร เพื่อให้การติดต่อสื่อสารถึงกันได้อย่างปลอดภัย
อ.อิทธิพล เพื่อนของผมทดสอบใช้โปรแกรม sniffer ในเครือข่ายของเรา ทำให้ผมต้องศึกษา SSL อย่างจริงจัง แต่เครื่องเมล์ของผมใช้ Fedora ซึ่งมีเอกสารเกี่ยวกับรุ่นนี้ไม่มากนัก จึงใช้เวลา Config อยู่นานกว่าจะลงตัว Port ของ SSL คือ 443
    ตัวอย่างคำสั่ง #rpm -q httpd #rpm -ql openssl #rpm -q mod_ssl #rpm -qa |grep ssl #yum -y install httpd #yum -y install mod_ssl #find / -name openssl.cnf #openssl version -a #openssl help #openssl speed #ln -s /etc/pki/tls/certs/Makefile /etc/httpd/conf/ #cd /etc/httpd/conf #make server.key #/usr/bin/openssl rsa -in server.key -out server.key #make server.csr #/usr/bin/openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365 #chmod 400 server.* #vi /etc/httpd/conf.d/ssl.conf old #DocumentRoot "/var/www/html" new DocumentRoot "/var/www/html" old #ServerName www.example.com:443 new ServerName yn1.yonok.ac.th:443 old SSLCertificateFile /etc/pki/tls/certs/localhost.crt new SSLCertificateFile /etc/httpd/conf/server.crt old SSLCertificateKeyFile /etc/pki/tls/private/localhost.key new SSLCertificateKeyFile /etc/httpd/conf/server.key #vi /etc/sysconfig/selinux old SELINUX=enforcing เพื่อสั่งเปิด new SELINUX=disabled เพื่อสั่งปิด #vi /etc/httpd/conf/httpd.conf <VirtualHost 202.29.78.1:443> DocumentRoot /var/www/html/ssl ServerName www.isinthia.com:443 SSLEngine on SSLCertificateFile /etc/httpd/conf/server.crt SSLCertificateKeyFile /etc/httpd/conf/server.key </VirtualHost> #/etc/init.d/httpd restart เว็บเพจที่พบข้อมูลเกี่ยวกับ SSL *** http://www.linux-sxs.org/internet_serving/apache2.html ละเอียดชัดเจน *** http://forum.modoeye.com/module30-32.html (สุดยอดจริง ๆ ) *** http://www.madboa.com/geek/openssl/ *** http://fedoracore4.com/SSLv-domain.php *** http://www.macmil.co.jp/macmil/linux017.htm (core 3 และ core 4) http://www.zend.com/tips/tips.php?id=152&single=1 http://www.linuxhelp.net/guides/apachessl/ http://www.moph.go.th/helpdesk/squid/linux-01.php http://nuke.thaihealth.net/article86.html http://bloggang.com/mainblog.php?id=naigod&month=07-12-2005&group=4&blog=1 http://itweb.lib.ru.ac.th/webboard/00193.html http://www.witty.net/books/apache.html http://www.ca.tot.co.th/knowledge_ssl.html (ความหมายไม่ยาว) http://thaicert.nectec.or.th/paper/unix_linux/apache_chklist.php (เป็นเพียง check list) http://www.acisonline.net/article_prinya_eweek_151147.htm (ช่องโหว่ของ SSL) http://www.phpconcept.com/index.php?option=content&task=view&id=12&Itemid=28 (ติดตั้งหลายอย่าง) http://www.tldp.org/HOWTO/SSL-Certificates-HOWTO/x246.html http://www.tldp.org/HOWTO/SSL-Certificates-HOWTO/x195.html http://www.stanton.dtcc.edu/stanton/cs/admin/notes/ssl/ http://bruno.vernay.free.fr/wp/index.php?tag=fedora http://www.joreybump.com/code/howto/smtpauth.html (SSL for SMTP) http://silas.psfc.mit.edu/tp41FC4.html (Thinkpad และ Fedora Core 4) http://fedorasrv.com/postfix-tls.shtml http://www.esensualstudios.com/linux.php http://www.shitomi.jp/server/apache.html http://www.trdlo.cz/webserver.php http://www.scalix.com/community/viewtopic.php?t=1634 http://httpd.apache.org/docs/2.0/ssl/ssl_howto.html http://www.tc.umn.edu/~brams006/selfsign.html http://www.apache-ssl.org/httpd.conf.example http://www.a-yu.com/net/apache07.html http://www.aconus.com/~oyaji/www/apache_linux_ssl.htm http://www.mail-archive.com/modssl-users@modssl.org/msg17111.html

---
สารบัญ
บทที่ 9 : การบริหารระบบ โดย Super User
9.1 กำหนด IP address และ host name
9.5 Shell script เพิ่มผู้ใช้ _crt
9.6 Shell script ลบผู้ใช้
9.9 แก้ไข aliases ของ user account
9.10 เพิ่ม IP ใน Server ตัวเดียวด้วย IFCONFIG
9.11 เพิ่ม Virtual hosts
9.12 ตัวอย่าง router configuration และการ block port
9.50 ความผิดพลาด
9.52 ปรับระบบให้แข็งแรง
9.53 การทำ restricted shell
9.54 ติดตั้ง TCPWrapper เพื่อตรวจสอบ IP เครื่องต้นทาง
9.55 Network security
9.56 Procmail เพื่อกรอง spam mail และ junk mail
9.58 โปรแกรมภาษา c เพื่อสร้าง crypt ให้ shadow
9.59 ลีนุกซ์บนวินโดวส์ ด้วย cygwin (Unix Simulator)
9.61 ลืมรหัสผ่านของ root
9.62 แก้ไข httpd.conf เพื่อแก้ปัญหาของ web server
9.63 วิธีเปิดบริการ FTP server ด้วย vsftpd
9.64 วิธีเปิดบริการ homepage ให้ ~username ใน linux
9.65 วิธีเปิดบริการ samba
9.66 วิธีเปิดบริการ DNS server
9.67 ติดตั้งโปรแกรมสำหรับ Free hosting ด้วย easyhost_free.zip by CyberScript
9.68 ติดตั้งโปรแกรมสำหรับ Web-based mail ด้วย uebimiau-2.7.2-any.zip
9.69 ติดตั้ง DHCP server แจก Dynamic IP
9.71 ติดตั้ง Web Mail ของ Adjeweb หรือ Squirrelmail
9.72 ติดตั้ง squid เป็น Proxy server ที่ 3128
9.73 เพิ่ม incoming ในบริการ ftp
9.74 User authentication ด้วย .htpasswd + .htaccess
9.75 เปิดบริการ SSI (Server Side Include)
9.76 การติดตั้ง Radius
9.77 ติดตั้ง Modem สำหรับให้บริการเรียกเข้ามา
9.78 SMTP สำหรับ outgoing ของ Outlook ..
9.79 ติดตั้ง SSL (Secure Sockets Layer)
9.95 การย้ายระบบ user จากเครื่องหนึ่งไปอีกเครื่องหนึ่ง
9.96 วิธี copy server หรือ host(Backup)
9.97 Server ตัวนี้ให้บริการอะไรได้บ้าง
9.98 ขั้นตอนการทำ server ตัวนี้
9.99 การบำรุงรักษา และตรวจสอบ
Thaiall.com