הגדרת SSL לשרת Tomcat
הקדמה ל- 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" />
–>
יש לבצע את השינויים הבאים:
- מחיקה של תגי ההערות (<!– ו- –>)
- הוספה של מיקום קובץ ה- .keystore:
keystoreFile="c:j2sdk1.4.2_05.keystore" - הוספה של הסיסמא:
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 – בניית אתרים
תגובות בפייסבוק