הגדרת SSL לשרת Tomcat

‏ • 4 בספטמבר, 2004

הקדמה ל- SSL

Secure Socket Layer או בראשי תיבות SSL, היא טכנולוגיה המאפשרת לדפדפני אינטרנט ולשרתי אינטרנט לתקשר דרך תקשורת מאובטחת. הנתונים מוצפנים (encrypt) בצד אחד, מועברים, ואז מפוענחים (decrypt) ע"י הצד השני. בתהליך זה שני הצדדים, גם השרת וגם הדפדפן, מצפינים את כל ההודעות לפני שליחת הנתונים.

היבט חשוב נוסף ב- SSL הוא אימות (Authentication). דבר זה אומר שבניסיון החיבור הראשון בתקשורת עם השרת בחיבור מאובטח, השרת יציג בפניך אישור (Certificate). אישור זה משמש כהוכחה שהאתר באמת מי שהוא אומר.

דבר שכדאי לזכור הוא שהצפנה ופיענוח הם תהליכים הגוזלים משאבים רבים. לכן לא רצוי להפעיל אתרי אינטרנט שלמים על SSL. רק לבחור את האזורים החשובים בהם נתונים רגישים מועברים מצד לצד, כמו דפי הרשמה, ודפי הכנסת סיסמאות.

האישור (Certificate)

האישור שנשתמש בו כאן אינו נחתם ע"י אחת מחברות המוסמכות להנפיק אישורי אימות (Certificate Authority), כמו VeriSign. האישורים שחברות אלה מנפיקות עולות כסף רב והם חשובים לאתרי מסחר אלקטרוני שבהם הגולשים נדרשים להכניס פרטי כרטיס אשראי וכדומה. האישורים שמונפקים ע"י חברות אלו בעצם מבטיחים כי האתר שבו הגולשים נמצאים הוא באמת מי שיקבל את המידע המאובטח שאתם שולחים.

אנחנו נשתמש בכלי הכלול ב- J2SE SDK, הנקרא keytool. ה- keytool יכול ליצור אישורים הנחתמים עצמאית. אישורים אלו הם אישורים פשוטים שלא עברו דרך חברות הנפקה, ולכן הדפדפנים לא יוכלו לאשר את מקוריות האישורים. למרות זאת, יכול להיות שאישור מסוג זה יספיק לך, תלוי בצרכים שלך.

הכנת האישור

אם התקנת את שרת Tomcat יחד עם J2SE 1.4.2, רכיב JSSE כבר יהיה מותקן אצלך. אם לא, עליך להוריד ולהתקין את JSSE דרך http://java.sun.com/products/jsse/.

הכנת האישור נעשית דרך שורת פקודה (Command Prompt) . ה- keytool נמצא בתוך תיקיית BIN שב- SDK שלך. לדוגמא, C:j2sdk1.4.2_05in

על מנת להכין אישור חתום-עצמאית מהתחלה, יש לכתוב את שורת הפקודה הבאה:






1
2  




keytool -genkey -alias tomcat -keyalg RSA
-keystore c:j2sdk1.4.2_05.keystore

הכלי ייצור קובץ .keystore בתוך תיקיית c:j2sdk1.4.2_05. תוכל לשנות את מיקום התיקייה למקום אחר שתרצה.
לאחר הפעלת הכלי, יישאלו מספר שאלות, הכוללות סיסמא שתצטרך להשתמש בה לאחר מכן בהגדרות Tomcat.

הגדרת Tomcat

קובץ ההגדרות הראשי של שרת Tomcat הוא server.xml הנמצא בתיקיית conf שבהתקנת Tomcat, לדוגמא:
C:Program FilesApache Software FoundationTomcat 5.0confserver.xml.

בקובץ זה ישנו חלק הקשור להגדרות ה- SSL:






1
2
3
4
5
6
7
8
9
10  




<!– Define a SSL Coyote HTTP/1.1 Connector on port 8443 –>
<!–
<Connector port="8443"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
–>

יש לבצע את השינויים הבאים:


  1. מחיקה של תגי ההערות (<!– ו- –>)
  2. הוספה של מיקום קובץ ה- .keystore:
    keystoreFile="c:j2sdk1.4.2_05.keystore"
  3. הוספה של הסיסמא:
    keystorePass="yourpass"
לאחר השינויים, הקטע אמור להיראות כך:






1
2
3
4
5
6
7
8
9
10  




<!– Define a SSL Coyote HTTP/1.1 Connector on port 8443 –>
<Connector port="8443"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="c:j2sdk1.4.2_05.keystore" keystorePass="yourpass" />

אחרי השלמת הגדרות אלו, יש לאתחל מחדש את Tomcat. עכשיו תוכל לגשת לשרת Tomcat בצורה מאובטחת, לדוגמא:

https://localhost:8443

שים לב שהפרוטוקול השתנה מ- http:// אל https://.





המאמר נכתב ע"י הדר פורת
Keynetik – בניית אתרים

תגיות: , , ,

תגובות בפייסבוק