אבטחת הגישה ל-phpmyadmin
[important]
הערה : בכל המקומות שהם אני כותב htaccess, אני מתכוון שהנקודה נמצאת לפני שם הקובץ.
[/important]
אומנם ההתקנה היא ממש קלילה , אבל , עדין לא סיימנו, כיוון שהגישה הפשוטה ל-phpmyadmin יכולה לשמש יעד להתקפות של האקרים.
ולכן נחוץ לאבטח את הגישה.
דרך פשוטה לעשות זאת , היא באמצעות gateway לפני האפליקציה, עושים זאת עם הקובץ המובנה של apache שנקרא .htaccess.
מה זה gateway של apache ?
זוהי שיטה פשוטה שאפשר להגדיר באמצעות apache חסימת גישה לדפים / תיקיות באמצעות סיסמא.
ראשית, נתחיל בכך שנאפשר htaccess overrive כלומר, קובץ ה-htaccaess "יוחלף" בקובץ שיהיה בתיקית ה-phpmyadmin , אל דאגה, אלו הגדרות רק עבור תיקיה זו, עבור שאר התיקיות, הקובץ המקורי ימצא בשימוש.
לשם כך נערוך את קובץ ההגדרות שמוכן מראש כבר, באמצעות עורך הטקסט nano
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
כדי לאפשר htaccess override צריך להוסיף את השורה AllowOverride All בתוך הקטע שמתחיל ב
<Directory /usr/share/phpmyadmin>
זה נראה כך:
<Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AllowOverride All . . .
צא מהעורך באמצעות ctrl+x ןשמור בלחיצה על Y.
עכשיו נאתחל את שרת ה-apache כדי שההגדרה תיכנס לתוקף
sudo service apache2 restart
יצירת קובץ htaccess חדש
עכשיו אחרי ההגדרה, אם ניצור קובץ htaccess חדש בתיקיה של phpmyadmin , אז שרת ה-apache יתייחס אליו בתיקיה הספציפית הזו
בא ניצור קובץ כזה.
sudo nano /usr/share/phpmyadmin/.htaccess
בתוך הקובץ החדש, נקליד את ההגדרות הבאות:
AuthType Basic AuthName "Restricted Files" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-user
נסביר את מה שכתבתנו
authName – ההגדרה הזו מקפיצה הודעה שזוהי תיקיה שדורשת הזדהות.
autoUserFile – זוהי פשוט הגדרה היכן נמצא הקובץ שמכיל את הסיסמא , הקובץ הזה צריך להיות קובץ שאין גישה אליו מהאינטרנט, כלומר לא מתחת לספריה /var/www .
require valid-user – ההגדרה הזו קובעת שרק יוזר מורשה יכול לגשת, ובעצם, ההגדרה הזו חוסמת יוזרים לא מוכרים מלהיכנס.
נשמור ונצא (Ctrl+X ואז Y ).
יצירת קובץ הסיסמא להזדהות – htpasswd
עכשיו ניצור את הקובץ שיכיל את הסיסמא. בדיוק בספריה שהגדרנו בשורה autoUserFile
כדי לעשות זאת, צריכים חבילה קטנה נוספת , נתקין אותה
sudo apt-get install apache2-utils
עכשיו האפשרות של htpasswd מותקנת.
ניצור קובץ מתאים
sudo htpasswd -c /etc/phpmyadmin/.htpasswd username
עכשיו תתבקש לבחור סיסמא, ואחרי כן, הקובץ נוצר,ומכיל את הסיסמא.
אם אתה רוצה לתת גישה לעוד משתמש, תעשה זאת בלי הדגל -c , כך:
sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser
מרגע זה, תוכנת phpmyadmin מוגנת סיסמא, וכל מי שיגלוש לכתובת שלה, יתבקש להקליד סיסמא נוספת, עוד לפני הסיסמא של phpmyadmin.
הערת אגב למי שעבד עם אחסון שיתופי עד עכשיו : בדרך כלל, גירסת ה-phpmyadmin שקיימת באחסון שיתופי, מוגבלת. עכשיו התקנתם גירסה, מלאה (המאפשרת נניח, גם להוסיף יוזרים ועוד…) תיהנו !