הקשחת Ubuntu 14.04 שרת
הקשחת היא תהליך של צמצום נקודות תורפה ואבטחת מערכת מנקודות התקפה אפשריות. צמצום הפגיעויות כולל הסרה של שירותים מיותרים, שמות משתמש ויומני כניסה וביטול יציאות מיותרות. במאמר זה אנחנו הולכים להראות לך איך אתה יכול להקשיח שרת אובונטו.
דרישות
אובונטו 14.04 שרת LTS עם SSH פתוח מותקן.
תחילת העבודה: עדכן את המערכת
שמירת המערכת מעודכנת לאחר התקנת כל מערכת הפעלה. פעולה זו תקטין את הפגיעויות הידועות הקיימות במערכת שלך.
עבור Ubuntu 14.04 הפעל את הפעולות הבאות:
suduo apt- לקבל עדכון sudo apt- לקבל שדרוג sudo apt-get autoremove sudo apt-get autoclean
אפשר עדכוני אבטחה אוטומטיים
הפעלת עדכונים אוטומטיים יכולה להיות חשובה מאוד לאבטחת השרת שלך. כדי להתקין את "שדרוגים ללא השגחה", לרוץ
sudo apt-get להתקין שדרוגים ללא השגחה
כדי להפעיל אותו, הפעל את הפקודה הבאה:
sudo dpkg-reconfigure -plow ללא השגחה-שדרוגים
פעולה זו תיצור את הקובץ "/etc/apt/apt.conf.d/20auto-upgrades" שמוצג למטה.
APT :: תקופתי :: עדכון-חבילה-רשימות "1"; APT :: תקופתי :: Unattended-Upgrade "1";
יצירת "צל משתמש" עם כוחות sudo
שימוש "צל משתמש" במקום חשבון השורש הוא הכרחי מטעמי אבטחה. תוכל ליצור משתמש שלא יהיה קל למשתמשים אחרים לנחש. במדריך זה נשתמש "maketech111" בשם המשתמש.
כדי ליצור משתמש, הפעל את הפקודה הבאה:
sudo useradd -d / home / maketech111 -s / bin / bash -m maketech111
כדי להעניק למשתמש גישה לסודו, הפעל את הפקודה הבאה:
sudo usermod -a -G sudo maketech111
כדי להגדיר סיסמה, הפעל את הפקודה הבאה:
sudo passwd maketech111
הערה: ודא שהסיסמה שלך היא באורך של לפחות שמונה תווים ומכילה שילוב מורכב של מספרים, אותיות וסימני פיסוק.
כדי להסיר את סיסמת הסיסמה עבור sudo, ערוך את קובץ sudoers.
סודו ננו / וכו '/ sudoers
הוסף / ערוך כמתואר למטה.
maketech111 ALL = (ALL) NOPASSWD: כולם
שמור את הקובץ וצא.
השבת חשבון שורש
השבתת חשבון הבסיס נחוצה מטעמי אבטחה.
כדי להשבית את חשבון הבסיס, השתמש בפקודה הבאה:
sudo passwd שורש
אם עליך להפעיל מחדש את החשבון, הפעל את הפקודה הבאה:
sudo passwd שורש
הוספת מחיצת SWAP
שרתי Ubuntu מסוימים אינם מוגדרים באמצעות SWAP. SWAP משמש כאשר כמות הזיכרון הפיזי הכולל (RAM) מלאה.
כדי לבדוק את מרחב ה- SWAP, הפעל את הפקודה הבאה:
sudo swapon - s
אם אין קובץ SWAP, אתה אמור לקבל את הפלט הבא.
סוג שם הקובץ גודל Priority משמש
כדי ליצור את הקובץ 4 GB SWAP תצטרך להשתמש בפקודה "dd".
sudo dd אם = / dev / אפס של = / swapfile bs = 4m count = 1000
כדי להגדיר את קובץ ה- SWAP, הפעל את הפקודה הבאה:
/ swapfile
כדי להפעיל את קובץ ה- swap, הפעל
sudo swapon / swapfile sudo swapon - s
זה יהיה פלט כמו הבאות:
שם קובץ גודל גודל קובץ משומש / swapfile 4096000 0 -1
כדי להפעיל אותו לצמיתות, ערוך את הקובץ "/ etc / fstab".
sudo nano / etc / fstab
הוסף את השורה הבאה:
/ swapfile החלפת swap ברירת המחדל 0 0
שפר את הביצועים של SWAP
הגדר ערך swappiness נכונה כדי לשפר את הביצועים הכוללים של המערכת.
באפשרותך לעשות זאת באמצעות הפקודה הבאה:
sudo echo 0 / / proc / sys / vm / swappiness sudo הד vm.swappiness = 0 / /cc / sysctl.conf
אתחל מחדש את המערכת כדי לבדוק אם ה- SWAP מופעל כראוי.
השבת את IPv6
מומלץ להשבית את IPv6 מכיוון שהוא גורם לבעיות בחיבור האינטרנט להיות איטי.
כדי להשבית את IPv6, ערוך את הקובץ "/etc/sysctl.conf".
sudo nano /etc/sysctl.conf
ערוך כמתואר להלן:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
כדי לטעון מחדש את התצורה, הפעל
sudo sysctl -p
השבת IRQBALANCE
IRQBALANCE משמש להפיץ interrupts חומרה על פני CPU מרובים כדי להגדיל את ביצועי המערכת. מומלץ להשבית IRQBALANCE כדי למנוע הפרעות בחומרה בחוטים שלך.
כדי להשבית IRQBALANCE, לערוך "/ etc / default / irqbalance"
sudo nano / etc / default / irqbalance
ולשנות את הערך ENABLED ל -0:
ENABLED = 0
תקן באגס OpenSSL לב
Heartbleed הוא פגיעות חמורה ב- OpenSSL. זה מאפשר למשתמש מרוחק לדלוף את הזיכרון עד 64k chunks. האקרים יכולים לאחזר את המפתחות הפרטיים כדי לפענח את כל הנתונים כמו שם המשתמש של המשתמש וסיסמאות.
הבורג הלבבי נמצא ב- OpenSSL 1.0.1 ונמצא בגרסאות הבאות:
- 1.0.1
- 1.0.1a
- 1.0.1b
- 1.0.1c
- 1.0.1d
- 1.0.1e
- 1.0.1f
כדי לבדוק את הגירסה של OpenSSL במערכת שלך, הפעל את הפקודות הבאות:
sudo openssl גרסה -v sudo openssl גרסה -b
זה יהיה פלט משהו כמו:
OpenSSL 1.0.1 10 מרס 2012 נבנה ב: יום רביעי 2 ינואר 18:45:51 UTC 2015
אם התאריך הוא ישן יותר מ "יום שני 7 אפריל 20:33:29 UTC 2014", ואת הגירסה היא "1.0.1", אז המערכת שלך חשופה לביקורת heartbleed.
כדי לתקן את הבאג, עדכן את OpenSSL לגירסה העדכנית ביותר והפעל
suduo apt- לקבל עדכון sudo apt- לקבל שדרוג openssl libssl-dev sudo apt-cache מדיניות openssl libssl-dev
עכשיו לבדוק את הגירסה ולהפעיל
sudo openssl גרסה -b
זה יהיה פלט משהו כמו:
בנוי ב: יום שני 7 אפריל 20:31:55 UTC 2014
לאבטח את המסוף, זיכרון משותף, / tmp ו / var / tmp
מאובטח את המסוף
כברירת מחדל, הרבה מסופים מופעלים במערכת שלך. ניתן לאפשר רק מסוף אחד ולהשבית את המסופים האחרים.
כדי לאפשר רק "tty1" להשבית מסופים אחרים, לערוך את "/ etc / securetty" הקובץ.
סודו ננו / etc / securetty
הוסף / ערוך את השורות הבאות:
tty1 # tty2 # tty3 # tty4 # וכו '...
כדי לאבטח את הקובץ / etc / securetty, שנה את הרשאת הקובץ והפעל את הפקודות הבאות:
שורש chode chode: root / etc / secto chmod 0600 / etc / securetty
זיכרון משותף מאובטח
כל משתמש יכול להשתמש בזיכרון משותף כדי לתקוף שירות פועל, כגון apache או httpd. כברירת מחדל, זיכרון משותף מותקן קריאה / כתיבה עם הרשאת ביצוע.
כדי להפוך אותו בטוח יותר, לערוך את "/ etc / fstab" קובץ.
sudo nano / etc / fstab
הוסף את השורה הבאה:
tmpfs / ריצה / shm tmpfs ro, noexec, nosuid 0 0
כדי לבצע את השינויים ללא אתחול מחדש, אתה יכול לרוץ
sudo mount -a
מאובטח / tmp ו / var / tmp
ספריות זמניות כגון / tmp, / var / tmp, ו / dev / shm לפתוח את הדלת עבור התוקפים לספק שטח להפעלת סקריפטים ו הרצה זדונית.
תיקייה מאובטחת / tmp
יצירת קובץ מערכת הקבצים 1GB עבור מחיצת / tmp.
sudo dd אם = / dev / אפס של = / usr / tmpDSK bs = 1024 count = 1024000 sudo mkfs.ext4 / usr / tmpDSK
יצירת גיבוי של התיקיה הנוכחית / tmp:
sudo cp -avr / tmp / tmpbackup
הר את המחיצה החדשה / tmp, והגדר את ההרשאות המתאימות.
sudo mount -t tmpfs-loop, noexec, nosuid, rw / usr / tmpdsk / tmp sudo chmod 1777 / tmp
העתק את הנתונים מתיקיית הגיבוי והסר את תיקיית הגיבוי.
sudo cp -avr / tmpbackup / * / tmp / sudo rm -rf / tmpbackup
הגדר / tmp ב fbtab.
sudo nano / etc / fstab
הוסף את השורה הבאה:
/ usr / tmpDSK / tmp tmpfs לולאה, nosuid, noexec, rw 0 0
בדוק את הערך fstab שלך.
sudo mount -a
Secure / var / tmp:
חלק מהתוכנות משתמשות בתיקיה זו כתיקיה זמנית, לכן אנחנו צריכים גם לאבטח את זה.
כדי לאבטח / var / tmp, ליצור קישור סימבולי שהופך / var / tmp נקודת ל / tmp.
sudo mv / var / tmp / var / tmpold sudo ln -s / tmp / var / tmp sudo cp -avr / var / tmpold / * / tmp /
הגדר מגבלות אבטחה והשבית שירותים לא רצויים
הגדר מגבלות אבטחה
כדי להגן על המערכת מפני פיגועי מזלג, עליך להגדיר מגבלת תהליך עבור המשתמשים שלך.
כדי להגדיר את זה, לערוך את "/etc/security/limits.conf" קובץ,
sudo nano /etc/security/limits.conf
וערוך את השורה הבאה:
קשה nproc 100 @ group1 קשה nproc 20
זה ימנע ממשתמשים של קבוצה מסוימת מתוך מקסימום של עשרים תהליכים ולהגדיל את מספר התהליכים למאה למשתמש 1.
השבת שירותים מיותרים
הרבה שירותים אובונטו לוקח זיכרון שטח דיסק ייתכן שיהיה עליך להשתמש. השבתה או הסרה של שירותים מיותרים יכולים לשפר את ביצועי המערכת הכוללים.
כדי לברר אילו שירותים פועלים כעת, הפעל את הפקודה הבאה:
רשימת Grep פועל
ניתן להשבית אותו על ידי הפעלת פקודה זו.
sudo update-rc.d -f service_name הסר את ה- sudo apt-get purge service_name
תקן פגוש Bash Shellshock:
פגיעות Shellshock מאפשרת להאקרים להקצות משתני סביבה של Bash ולצבור גישה לא מורשית למערכת. פגיעות זו קלה מאוד לניצול.
כדי לבדוק את הפגיעות של המערכת, הפעל את הפקודה הבאה:
sudo env i = '(({:;}; הד המערכת שלך הוא חשש "באש -c" הד מבחן בש פגיעות "
אם אתה רואה את הפלט הבא, זה אומר שהמערכת שלך היא פגיעה.
המערכת שלך היא בדיקת BP חשוף פגיעות
כדי לתקן את הפגיעות, הפעל את הפקודה הבאה:
sudo apt- לקבל עדכון; sudo apt- לקבל להתקין - רק לשדרג bash
אם תפעיל את הפקודה שוב, תראה:
bash: אזהרה: VAR: התעלמות הגדרת פונקציה ניסיון bash: שגיאה ייבוא הגדרת פונקציה עבור VAR 'Bash מבחן הפגיעות
סיכום:
כאן הסברנו דברים בסיסיים שאפשר לעשות כדי להקשיח את אובונטו. כעת יש לך מספיק הבנה של נוהלי אבטחה בסיסיים שניתן ליישם בשרת אובונטו שלך. אני מקווה כי הודעה זו תהיה שימושית עבורך.
הפניה : אובונטו הקשחת מדריך