חזרה לפיד
articlesמקור: Security Docs — mysql

הקשחה ראשונית של MySQL

אמ;לק

פעולה פשוטה אך הכרחית לאחר התקנת MySQL: הסרת משתמשים ברירת מחדל וסיסמאות ריקות. צעד מניעתי בסיסי כנגד תוקפים.

סיכום בעברית: מערכת VibeSec · מדיניות המקורות

נוסף ל-VibeSec:

כותרת מקורית: mysql_secure_installation

$cat article.txt

>פעולה פשוטה אך הכרחית לאחר התקנת MySQL: הסרת משתמשים ברירת מחדל וסיסמאות ריקות. צעד מניעתי בסיסי כנגד תוקפים.

התוכן המלא בעברית

תרגום אוטומטי מהמקור; מונחים טכניים נשארו באנגלית. לנוסח המחייב — הכתבה המקורית.

6.4.2 mysql_secure_installation — שיפור אבטחת התקנת MySQL

תוכנית זו מאפשרת לך לשפר את האבטחה של התקנת ⁦MySQL⁩ בדרכים הבאות:

• אתה יכול להגדיר סיסמה לחשבונות שורש.

• אתה יכול להסיר חשבונות שורש שנגישים מחוץ למארח המקומי.

• אתה יכול להסיר את מסד הנתונים של הבדיקה (שכברירת מחדל ניתן לגשת לכל המשתמשים, אפילו משתמשים אנונימיים), והרשאות המאפשרות לכל אחד לגשת לבסיסי נתונים עם שמות שמתחילים ב-⁦test_⁩ .

mysql_secure_installation עוזר לך ליישם המלצות אבטחה דומות לאלו המתוארות בסעיף 2.9.4, "Securing the Initial MySQL Account".

שימוש רגיל הוא להתחבר לשרת המקומי ⁦MySQL⁩; להפעיל את ⁦mysql_secure_installation⁩ ללא ארגומנטים:

⁦mysql_secure_installation⁩

כאשר מבוצע, ⁦mysql_secure_installation⁩ מבקש ממך לקבוע אילו פעולות לבצע.

ניתן להשתמש ברכיב ⁦validate_password⁩ לבדיקת חוזק הסיסמה. אם התוסף אינו מותקן, ⁦mysql_secure_installation⁩ ינחה את המשתמש אם להתקין אותו. כל סיסמאות שהוזנו מאוחר יותר נבדקות באמצעות הפלאגין אם הוא מופעל.

ניתן להשתמש ברוב אפשרויות הלקוח הרגילות ⁦MySQL⁩ כגון --host ו--port בשורת הפקודה ובקבצי אפשרויות. לדוגמה, כדי להתחבר לשרת המקומי דרך ⁦IPv6⁩ באמצעות יציאה 3307, השתמש בפקודה זו:

⁦mysql_secure_installation --host=::1 --port=3307⁩

⁦mysql_secure_installation⁩ תומך באפשרויות הבאות, שניתן לציין בשורת הפקודה או בקבוצות [⁦mysql_secure_installation⁩] ו-[client] של קובץ אפשרויות. למידע על קבצי אפשרויות המשמשים תוכניות ⁦MySQL⁩, ראה ⁦Section⁩ 6.2.2.2, "שימוש ב-⁦Option Files⁩" .

טבלה 6.9 ⁦mysql_secure_installation⁩ אפשרויות

• --help , -? Command-Line Format --help הצג הודעת עזרה וצא.

• --defaults-extra-file= file_name Command-Line Format --defaults-extra-file=file_name Type File name קרא את קובץ האפשרויות הזה לאחר קובץ האפשרויות הגלובלי אך (ב-Unix) לפני קובץ האפשרויות של המשתמש. אם הקובץ אינו קיים או שאינו נגיש בדרך אחרת, מתרחשת שגיאה. אם file_name אינו שם נתיב מוחלט, הוא מפורש ביחס לספרייה הנוכחית. למידע נוסף על זה ועל אפשרויות אחרות של קבצי אפשרויות, ראה סעיף 6.2.2.3, "Command-Line Options that Affect Option-File Handling".

• --defaults-file= file_name Command-Line Format --defaults-file=file_name Type File name השתמש רק בקובץ האפשרויות הנתון. אם הקובץ אינו קיים או שאינו נגיש בדרך אחרת, מתרחשת שגיאה. אם file_name אינו שם נתיב מוחלט, הוא מפורש ביחס לספרייה הנוכחית. למידע נוסף על זה ועל אפשרויות אחרות של קבצי אפשרויות, ראה סעיף 6.2.2.3, "Command-Line Options that Affect Option-File Handling".

• --defaults-group-suffix= str Command-Line Format --defaults-group-suffix=str Type String קרא לא רק את קבוצות האפשרויות הרגילות, אלא גם קבוצות עם השמות הרגילים בצירוף סיומת str. לדוגמה, mysql_secure_installation קורא בדרך כלל את הקבוצות [client] ו-[mysql_secure_installation]. אם אפשרות זו ניתנת בתור --defaults-group-suffix=_other, mysql_secure_installation קורא גם את הקבוצות [client_other] ו-[mysql_secure_installation_other]. למידע נוסף על זה ועל אפשרויות אחרות של קבצי אפשרויות, ראה סעיף 6.2.2.3, "Command-Line Options that Affect Option-File Handling".

• --host= host_name , -h host_name Command-Line Format --host התחבר לשרת MySQL במארח הנתון.

• --no-defaults Command-Line Format --no-defaults אל תקרא שום קבצי אפשרויות. אם הפעלת התוכנית נכשלת עקב קריאת אפשרויות לא ידועות מקובץ אפשרויות, ניתן להשתמש ב--no-defaults כדי למנוע את קריאתן. היוצא מן הכלל הוא שקובץ .mylogin.cnf נקרא בכל המקרים, אם הוא קיים. זה מאפשר לציין סיסמאות בצורה בטוחה יותר מאשר בשורת הפקודה גם כאשר נעשה שימוש ב--no-defaults. כדי ליצור את .mylogin.cnf, השתמש בכלי השירות mysql_config_editor. ראה סעיף 6.6.7, "mysql_config_editor — MySQL Configuration Utility". למידע נוסף על זה ועל אפשרויות אחרות של קבצי אפשרויות, ראה סעיף 6.2.2.3, "Command-Line Options that Affect Option-File Handling".

• --password= password , -p password Command-Line Format --password=password Type String Default Value [none] אפשרות זו מתקבלת אך מתעלמים ממנה. בין אם נעשה שימוש באפשרות זו ובין אם לא, mysql_secure_installation תמיד יבקש מהמשתמש להזין סיסמה.

• --port= ⁦port_num⁩ , -⁦P⁩ ⁦port_num⁩ ⁦Command-Line Format⁩ --port=⁦port_num⁩ ⁦Type Numeric Default Value⁩ 3306 עבור חיבורי ⁦TCP/IP⁩, מספר היציאה לשימוש.

• --print-defaults Command-Line Format --print-defaults הדפס את שם התוכנית ואת כל האפשרויות שהיא מקבלת מקבצי אפשרויות. למידע נוסף על זה ועל אפשרויות אחרות של קבצי אפשרויות, ראה סעיף 6.2.2.3, "Command-Line Options that Affect Option-File Handling".

• --protocol={TCP|SOCKET|PIPE|MEMORY} Command-Line Format --protocol=type Type String Default Value [ראה טקסט] Valid Values TCP SOCKET PIPE MEMORY פרוטוקול התעבורה לשימוש עבור התחברות לשרת. זה שימושי כאשר פרמטרי החיבור האחרים גורמים בדרך כלל לשימוש בפרוטוקול שונה מהפרוטוקול הרצוי. לפרטים על הערכים המותרים, ראה סעיף 6.2.7, "Connection Transport Protocols".

• --socket= path , -S path Command-Line Format --socket={file_name|pipe_name} Type String עבור חיבורים ל-localhost, קובץ ה-socket של Unix לשימוש, או, ב-Windows, השם של ה-pipe לשימוש. ב-Windows, אפשרות זו חלה רק אם השרת הופעל כאשר משתנה המערכת named_pipe מופעל כדי לתמוך בחיבורי צינור בשם (named-pipe). בנוסף, החיבור חייב להיות חבר בקבוצת Windows המצוינת על ידי משתנה המערכת named_pipe_full_access_group.

• --ssl* אפשרויות המתחילות ב--ssl מציינות אם להתחבר לשרת באמצעות הצפנה ומציינות היכן למצוא מפתחות ואישורי SSL. ראה Command Options for Encrypted Connections.

• --ssl-fips-mode={OFF|ON|STRICT} Command-Line Format --ssl-fips-mode={OFF|ON|STRICT} Deprecated Yes Type Enumeration Default Value OFF Valid Values OFF ON STRICT שולט על הפעלת מצב FIPS בצד הלקוח. האפשרות --ssl-fips-mode שונה מאפשרויות --ssl- xxx אחרות בכך שהיא אינה משמשת ליצירת חיבורים מוצפנים, אלא כדי להשפיע על אילו פעולות הצפנה להתיר. ראה סעיף 8.8, "FIPS Support". ערכי --ssl-fips-mode אלה מותרים: OFF : השבת את מצב FIPS.

אם ⁦OpenSSL⁩ ⁦FIPS⁩ ⁦Object Module⁩ אינו זמין, הערך המותר היחיד עבור --ssl-fips-mode הוא ⁦OFF⁩ . במקרה זה, הגדרת --ssl-fips-mode ל-⁦ON⁩ או ⁦STRICT⁩ גורמת ללקוח להפיק אזהרה בעת ההפעלה ולפעול במצב שאינו ⁦FIPS⁩.

אפשרות זו הוצאה משימוש. צפו שהוא יוסר בגרסה עתידית של ⁦MySQL⁩.

• --tls-ciphersuites= ciphersuite_list Command-Line Format --tls-ciphersuites=ciphersuite_list Type String חבילות הצופן המותרות עבור חיבורים מוצפנים המשתמשים ב-TLSv1.3. הערך הוא רשימה של שם חבילת צופן אחד או יותר מופרדים בנקודתיים. חבילות ההצפנה שניתן להגדיר עבור אפשרות זו תלויות בספריית SSL המשמשת להידור MySQL. לפרטים, ראה סעיף 8.3.2, "Encrypted Connection TLS Protocols and Ciphers".

• --tls-sni-servername= server_name Command-Line Format --tls-sni-servername=server_name Type String כאשר צוין, השם מועבר לספריית ה-libmysqlclient C API באמצעות האפשרות MYSQL_OPT_TLS_SNI_SERVERNAME של mysql_options(). שם השרת אינו תלוי רישיות. כדי להציג איזה שם שרת הלקוח ציין עבור ההפעלה הנוכחית, אם בכלל, בדוק את משתנה המצב Tls_sni_server_name. Server Name Indication (SNI) הוא הרחבה לפרוטוקול TLS (יש להדר את OpenSSL באמצעות הרחבות TLS כדי שאופציה זו תפעל). היישום של SNI ב-MySQL מייצג את צד הלקוח בלבד.

• --tls-version= protocol_list Command-Line Format --tls-version=protocol_list Type String Default Value TLSv1,TLSv1.1,TLSv1.2,TLSv1.3 (OpenSSL 1.1.1 ומעלה) TLSv1,TLSv1.1,TLSv1.2 (אחרת) פרוטוקולי ה-TLS המותרים לחיבורים מוצפנים. הערך הוא רשימה של שם פרוטוקול אחד או יותר מופרדים בפסיקים. הפרוטוקולים שניתן להגדיר עבור אפשרות זו תלויים בספריית SSL המשמשת להידור MySQL. לפרטים, ראה סעיף 8.3.2, "Encrypted Connection TLS Protocols and Ciphers".

• --use-default Command-Line Format --use-default Type Boolean בצע באופן לא אינטראקטיבי. ניתן להשתמש באפשרות זו עבור פעולות התקנה ללא השגחה.

• --user= user_name , -u user_name Command-Line Format --user=user_name Type String שם המשתמש של חשבון ה-MySQL שישמש להתחברות לשרת.

#hardening#docs#mysql#security-hardening#setup
קרא במקור

קריאה וכלים קשורים

אבטחת MySQL / MariaDBמונחי אבטחה והסברים בעברית