CentOS זו מערכת הפעלה סולידית מאוד, ולדעתנו היא הרבה יותר טובה בצד האבטחה מאשר אובונטו, במיוחד כשאנחנו צריכים להפעיל שרת אינטרנט.
במהלך השנים CentOS התפתח הרבה, והמעבר מ CentOS 6.x עד 7.xa הביאו הרבה שינויים בצד האבטחה.
רב נקודות תורפה על גירסאות ישנות של CentOS בגלל התקנות תוכנה בארכיונים (מאגרי YUM) פחות בטוחה. לדוגמה, התקנה פשוטה של PML (Linux, nginx, MySQL & PHP) עלול לגרום לבעיות בזמן אם חבילות אלה לא הותקנו ממקורות בטוחים.
עם ההשקה CentOS 7 הגדר מגבלות על גישת משתמש לקבצי מערכת ומגבלות על התקנת חבילות "לא חתוםאו בלי מפתח GPG. אם נתקלת במאמר זה, קרוב לוודאי שנתקלת בשגיאה:
GPG key retrieval failed: [Errno 14] curl#37 - Couldn't open file ... RPM-GPG-KEY
זה קורה כשאנחנו רוצים להתקין (ym install) או לעשות update (יאם -י update) עבור חבילות תוכנה שאינן מכילות גנו פרטיות משמר (GPG).
מפתחי תוכנה ומפתחים נדרשים שכל תוכנה הכלולה בחבילות ההתקנה (RPM) תהיה מלווה בחתימה. זוהי דרך פשוטה יותר לספק ערבות למשתמשים, כי אלה סל"ד בטוח. המפתח הציבורי המלווה את חבילות ההתקנה מכוסה Red Hat רשת ערוץ ניהול מדריך ו חייב להיות מוקלט עבור כל תוכנה בארכיון.
אם אתה נתקל בשגיאה כזו, מומלץ לחפש ארכיון מפתח ציבורי שממנו ניתן להתקין את התוכנה הרצויה. אם אתה עדיין רוצה להמשיך בהתקנה, הדרך הפשוטה ביותר היא להשבית את אימות המפתח הציבורי בארכיב ההתקנה.
By default, ארכיוני התקנה ו update התוכנה ממוקמת ב-"/etc/yum.repos.d". ערוך עם "nano" או "vi" את קובץ ".repo" שממנו חולץ/מוריד את קובץ ה-.rpm ללא מפתח ציבורי והשבת את "gpgcheck". הגדר את הערך ל- "0".
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
exclude=nginx*
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
שמור את השינויים בקובץ .repo הערוך והפעל אותו שוב update/ התקנה. הכל צריך לעבור חלק.
תודה רבה לך!
תיעוד ההפניה לאתר MySQL נקדח היטב בתהליך התקנה זה. הדיקה שלו עזרה לי לא מעט.