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

דרישות

אובונטו 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 מבחן הפגיעות 

סיכום:

כאן הסברנו דברים בסיסיים שאפשר לעשות כדי להקשיח את אובונטו. כעת יש לך מספיק הבנה של נוהלי אבטחה בסיסיים שניתן ליישם בשרת אובונטו שלך. אני מקווה כי הודעה זו תהיה שימושית עבורך.

הפניה : אובונטו הקשחת מדריך