How to disable outdated versions of SSL/TLS in Apache

outdated versions of SSL/TLS

החל מיום ה 30/07/2018, ולצורך תאימות בתקן PCI על בעלי אתרים לבטל את התמיכה בפרוטוקלי TLS 1.0/1.1 וכן ב SSL 2.0/3.0. פרוטוקולים אלה מיושנים ואינם מספקים הגנה נאותה היות והם חשופים להתקפות. לכן, על מנת לבטל הת התמיכה יש לבצע הסרה של הגרסאות הנ"ל מהגדרות השרת ומתוך הבנה שהיום כמעט כל הדפדפנים המודרנים תומכים בגרסת TLS 1.2.

במדריך זה אסביר כיצד לבטל את התמיכה בפרוטוקולים המיושנים לאתרים המבוססים על Apache או אתרים המשתמשים בתעודה של Let's Encrypt.

הסרת הפרוטוקולים משרת ה Apache

קובץ הגדרות ה SSL של שרת ה apache נמצא בנתיב הבא:

/etc/apache2/mods-enabled/ssl.conf

במידה והנכם משתמשים בתעודה של Let's Encrypt, מיקום הקובץ יהיה:

/etc/letsencrypt/options-ssl-apache.conf

כעת, פתחו את הקובץ לעריכה באמצעות העורך (במדריך זה אשתמש ב nano)'ואתרו את ההגדרה של התמיכה ב SSL:

#   SSL Protocol support:

# List the enable protocol levels with which clients will be able to
# connect.  Disable SSLv2 access by default:

SSLProtocol all -SSLv2 -SSLv3 

הוסיפו בתחילת השורה את הסמן # על מנת להפוך אותה לשורת הערה והכניסו תחתיה את השורה הבאה:

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

פעולה זו ביטלה בעצם את השימוש בפרוטוקולים SSL 2.0/3.0 וכן TLS 1.0/1.1.

כעת נבצע הסרה של תמיכה בחבילות הצפנה ישנות. לצורך כך אתרו את החלק בקובץ שמתחיל ב:

SSL Cipher Suite

ונראה כך:

#   SSL Cipher Suite:

# List the ciphers that the client is permitted to negotiate.
# See the mod_ssl documentation for a complete list.
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA

גם כאן, הוסיפו את הסימן # בתחילת השורה שמתחילה ב SSLCipherSuite על מנת להפוך אותה להערה
וכתבו תחתיה את השורה הבאה:

SSLCipherSuite HIGH:!aNULL:!MD5:!3DES

ואם השורה הבאה איננה קיימת או שערכה off הוסיפו אותה או שנו את ערכה ל on:

SSLHonorCipherOrder on

כעת, שמרו את הקובץ ואתחלו את שרת ה apache באמצעות הפקודה הבאה:

systemctl restart apache2

בהצלחה!

Be the first to comment

Leave a Reply

כתובת האימייל שלך לא תפורסם


*