מדריך התקשות ואבטחת שרת אינטרנט של Apache

מדריך מעשי לאבטחת ולהקשחת שרת HTTP של Apache.


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

תצורת ברירת מחדל מספקת מידע רגיש רב שעשוי לעזור להאקר להתכונן להתקפה של היישומים. רוב ההתקפות של יישומי אינטרנט הם באמצעות התקפות XSS, Leakage Info, Session Management ו- SQL Injection אשר נובעות מקוד תכנות חלש ואי היגרה בתשתית של יישומי אינטרנט..

מחקר מעניין מאת טכנולוגיות חיוביות מגלה כי 52% מהיישום הסרוק היו בעלי פגיעות גבוהה.

במאמר זה אדבר על כמה מהשיטות המומלצות לאבטחת שרת Apache HTTP בפלטפורמת לינוקס.

להלן נבדקים בגירסת Apache 2.4.x.

  • זה מניח שהתקנת את Apache בפלטפורמת UNIX. אם לא, תוכלו לעבור על מדריך ההתקנה.
  • אתקשר לספריית ההתקנה של Apache / opt / apache כ- $ Web_Server לאורך מדריך זה.
  • מומלץ לקחת גיבוי של קובץ התצורה הקיים לפני כל שינוי.

קהל

זה מיועד למנהלי Middleware, לתמיכה ביישומים, למנתח מערכות או לכל מי שעוסק או להוט ללמוד התקשות & הנחיות אבטחה.

ידע הוגן בשרת האינטרנט של Apache & הפקודה של UNIX היא חובה.

הערות

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

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

הסר את באנר גרסת השרת

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

תצורת ברירת המחדל תחשוף את גרסת Apache וסוג מערכת ההפעלה כמוצג להלן.

  • עבור אל תיקיית $ Web_Server / conf
  • שנה את httpd.conf באמצעות עורך ה- vi
  • הוסף את ההנחיה הבאה ושמור את httpd.conf

ServerTokens Prod
ServerSignature כבוי

  • הפעל מחדש את האפאצ’י

ServerSignature תסיר את פרטי הגרסה מהדף שנוצר על ידי Apache.

ServerTokens ישנה את הכותרת לייצור בלבד, כלומר אפאצ’י

כפי שתוכלו לראות להלן, גרסה & מידע על מערכת ההפעלה נעלם.

השבת את רישום דפדפן הספריות

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

הבה נבחן איך זה נראה בהגדרות ברירת המחדל.

  • עבור אל ספריית $ Web_Server / htdocs
  • צור תיקיה וכמה קבצים בתוכה

# מבחן mkdir
# מגע היי
# גע שלום

עכשיו, נסה לגשת לאפאצ’י באמצעות http: // localhost / test

כפי שאתה יכול לראות זה חושף מה כל הקבצים / תיקיות שיש לך ואני בטוח שאתה לא רוצה לחשוף את זה.

  • עבור אל ספריית $ Web_Server / conf
  •  פתח את httpd.conf באמצעות vi
  •  חפש ספרייה ושנה את הנחיית האפשרויות ל- None או –Inxes

אפשרויות – מדדים

(או)

אפשרויות אין

  • הפעל מחדש את אפאצ’י

הערה: אם יש לך הנחיות ספריות רבות בסביבתך, עליך לשקול לעשות את אותו הדבר לכולם.

עכשיו, נסה לגשת לאפאצ’י באמצעות http: // localhost / test

כפי שאתה יכול לראות, היא מציגה שגיאה אסורה במקום להציג רשימת תיקיות מבחן.

אטאג

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

כדי למנוע פגיעות זו, בואו ליישם אותה להלן. זה נדרש כדי לתקן את תאימות ה- PCI.

  • עבור אל ספריית $ Web_Server / conf
  • הוסף את ההנחיה הבאה ושמור את httpd.conf

Fileetag אין

  • הפעל מחדש את האפאצ’י

הפעל את Apache מחשבון שאינו מורשה

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

הרעיון כאן הוא להגן על שירותים אחרים הפועלים במקרה של חור אבטחה.

  • צור משתמש וקבוצה בשם apache

# groupdd apache
# userdd –G apache apache

  • שנה את הבעלות על ספריית ההתקנה של אפאצ’י למשתמש שלא נוצר לאחרונה

# chown –R apache: apache / opt / apache

  •  עבור אל $ Web_Server / conf
  •  שנה את httpd.conf באמצעות vi
  •  חפש משתמש & קבץ את ההנחיות ושנה כ- apache לחשבון שאינו מוגדר

אפאצ’י של משתמשים
אפאצ’י קבוצתי

  •  שמור את ה- httpd.conf
  •  הפעל מחדש את אפאצ’י

grep להפעלת תהליך http וודא שהוא פועל עם משתמש Apache

# ps –ef | grep http

אתה אמור לראות שתהליך אחד פועל עם root. הסיבה לכך היא שאפצ’י מקשיב ביציאה 80 ויש להתחיל עם שורש.

הגן על הרשאת ספריית בינארי ותצורה

כברירת מחדל, הרשאה לבינארי ותצורה היא 755 כלומר כל משתמש בשרת יכול להציג את התצורה. אתה יכול לאפשר למשתמש אחר להיכנס לתיקיית conf ו- bin.

  • עבור אל ספריית $ Web_Server
  • שנה הרשאה לתיקייה bin and conf

# chmod –R 750 bin conf

הגנת מערכת הגנה

בהתקנת ברירת מחדל, משתמשים יכולים לעקוף את תצורת ה- Apache באמצעות .htaccess. אם ברצונך למנוע ממשתמשים לשנות את הגדרות שרת ה- Apache שלך, תוכל להוסיף את AllowOverride ל- None כמוצג להלן.

יש לעשות זאת ברמת השורש.

  • עבור אל ספריית $ Web_Server / conf
  •  פתח את httpd.conf באמצעות vi
  •  חפש מדריך ברמת שורש

אפשרויות – מדדים
AllowOrride אין

  •  שמור את ה- httpd.conf
  •  הפעל מחדש את אפאצ’י

שיטות בקשת HTTP

פרוטוקול HTTP 1.1 תומך בשיטות בקשה רבות שאולי אינן נדרשות וחלקן סיכון פוטנציאלי.

בדרך כלל יתכן שתזדקק לשיטות בקשת GET, HEAD, POST ביישום אינטרנט, אשר ניתן לקבוע את תצורתן בהוראת Directory בהתאמה..

תצורת ברירת מחדל תומכת בשיטה OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT בפרוטוקול HTTP 1.1.

  •  עבור אל ספריית $ Web_Server / conf
  •  פתח את httpd.conf באמצעות vi
  • חפש את המדריך והוסף את הדברים הבאים

להכחיש מכל

  • הפעל מחדש את אפאצ’י

השבת בקשת מעקב HTTP

כברירת מחדל שיטת עקיבה מופעלת בשרת האינטרנט של Apache.

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

  •  עשה IP של שרת אינטרנט עם יציאת האזנה
  •  הגש בקשה ל- TRACE כמוצג להלן

#telnet localhost 80
מנסה 127.0.0.1…
מחובר ל localhost.
דמות הבריחה היא ‘^]’.
TRACE / HTTP / 1.1 מארח: מבחן
HTTP / 1.1 200 אישור
תאריך: שבת, 31 אוגוסט 2013 02:13:24 GMT
שרת: אפאצ’י
קידוד העברה: נתח
סוג תוכן: הודעה / http 20
TRACE / HTTP / 1.1
מארח: מבחן
0
חיבור נסגר על ידי מארח זר.
#

כפי שניתן לראות בבקשת TRACE לעיל, היא השיבה לשאילתה שלי. בואו נשבית את זה ונבחן את זה.

  •  עבור אל ספריית $ Web_Server / conf
  • הוסף את ההנחיה הבאה ושמור את httpd.conf

TraceEnable כבוי

  •  הפעל מחדש את האפאצ’י

בצע IP של שרת אינטרנט עם יציאת האזנה ובקש בקשה ל- TRACE כמוצג להלן

#telnet localhost 80
מנסה 127.0.0.1…
מחובר ל localhost.
דמות הבריחה היא ‘^]’.
TRACE / HTTP / 1.1 מארח: מבחן
שיטת HTTP / 1.1 405 אסורה
תאריך: שבת, 31 אוגוסט 2013 02:18:27 GMT
שרת: Apache אפשר: אורך תוכן: 223 סוג תוכן: text / html; charset = iso-8859-1
405 שיטה אסורה

השיטה אינה מותרת

השיטה המבוקשת TRACE אסורה לכתובת האתר /.

חיבור נסגר על ידי מארח זר.
#

כפי שניתן לראות בבקשת TRACE לעיל, היא חסמה את בקשיי בשיטת HTTP 405 אסורה.

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

הגדר עוגיה עם דגל HttpOly ו- Secure

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

  •  ודא כי mod_headers.so מופעל ב- httpd.conf
  •  עבור אל ספריית $ Web_Server / conf
  •  הוסף את ההנחיה הבאה ושמור את httpd.conf

כותרת עריכה Set-Cookie ^ (. *) $ $ 1; HttpOly; Secure

  •  הפעל מחדש את האפאצ’י

התקפת קליקים

Clickjacking היא פגיעויות ידועות ביישומי אינטרנט.

  •  ודא כי mod_headers.so מופעל ב- httpd.conf
  •  עבור אל ספריית $ Web_Server / conf
  •  הוסף את ההנחיה הבאה ושמור את httpd.conf

הכותרת מצרפת תמיד SAMEORIGIN X-Frame-Options

  •  הפעל מחדש את האפאצ’י

X-Frame-Options תומך גם בשתי אפשרויות נוספות שהסברתי כאן.

כלול צד השרת

ל- Server Side Include (SSI) יש סיכון להגדיל את העומס בשרת. אם שיתפת את הסביבה ויישומי אינטרנט עם עומסי תנועה כבדים, עליך לשקול לבטל את ה- SSI על ידי הוספת הכללים בהנחיית אפשרויות.

התקפת SSI מאפשרת ניצול של יישום אינטרנט על ידי הזרמת סקריפטים בדפי HTML או הפעלת קודים מרחוק.

  • עבור אל ספריית $ Web_Server / conf
  •  פתח את httpd.conf באמצעות vi
  •  חפש ספרייה והוסף כלולים בהנחיית אפשרויות

אפשרויות – מדדים – הכללות
הזמנה לאפשר, דחה את הכל מכולם

  • הפעל מחדש את אפאצ’י

הערה: אם יש לך הנחיות ספריות רבות בסביבתך, עליך לשקול לעשות את אותו הדבר לכולם.

הגנת X-XSS

ניתן לעקוף הגנה על חוצה סקריפטים של אתרים (XSS) בדפדפנים רבים. תוכל להחיל הגנה זו על יישום אינטרנט אם המשתמש היה מושבת. זה משמש לרוב חברות ענק ענקיות כמו פייסבוק, טוויטר, גוגל וכו ‘.

  • עבור אל ספריית $ Web_Server / conf
  • פתח את httpd.conf באמצעות vi והוסף את הנחיית הכותרת הבאה

הגדרת כותרת X-XSS-Protection "1; מצב = חסום"

  •  הפעל מחדש את אפאצ’י

כפי שאתה יכול לראות, XSS-Protection הוא המוזרק בכותרת התגובה.

השבת פרוטוקול HTTP 1.0

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

ל- HTTP 1.0 יש חולשת אבטחה הקשורה לחטיפת פעילויות באתר. אנו יכולים להשבית זאת באמצעות מודול mod_rewrite.

  • הקפד לטעון מודול mod_rewrite בקובץ httpd.conf
  •  אפשר הנחיית RewriteEngine כדלקמן והוסף תנאי שכתוב כדי לאפשר רק HTTP 1.1

RewriteEngine On
RewriteCond% {THE_REQUEST}! HTTP / 1.1 $
RewriteRule. * – [F]

תצורת ערך פסק זמן

כברירת מחדל, ערך פסק הזמן של אפאצ’י הוא 300 שניות, מה שיכול להוות קורבן להתקפה איטית של לוריס ו- DoS. כדי להקל על זה, אתה יכול להוריד את ערך הזמן הקצוב ל -60 שניות אולי.

  • עבור אל ספריית $ Web_Server / conf
  • פתח את httpd.conf באמצעות vi
  •  הוסף את הדברים הבאים ב httpd.conf

פסק זמן 60

SSL

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

מפתח SSL

פריצת מפתח SSL קשה, אך לא בלתי אפשרית. זה רק עניין של כוח וזמן חישובי.

כפי שאתה יכול לדעת, שימוש במחשב מתקופת 2009 המתפצח במשך כ- 73 יום מהנדס הפוך מפתח 512 סיביות.

כך שככל שיש לך אורך מפתח גבוה יותר, כך מסובך לשבור את מפתח ה- SSL. מרבית חברות הענק הענקיות משתמשות במפתח 2048 סיביות, להלן אז מדוע איננו עושים זאת?

  •  Outlook.com
  •  Microsoft.com
  •   Live.com
  •  Skype.com
  •  Apple.com
  •  Yahoo.com
  •  Bing.com
  •  Hotmail.com
  •  Twitter.com

אתה יכול להשתמש ב- OpenSSL כדי ליצור CSR עם 2048 ביט כמפורט להלן.

openssl req -out geekflare.csr -newkey rsa: 2048 -nodes -keyout geekflare.key

זה יוצר CSR שתצטרך לשלוח אליו רשות אישורים לחתום על זה. לאחר שתקבל את קובץ האישור החתום, אתה יכול להוסיף אותו לקובץ httpd-ssl.conf

SSLCertificateFile #Certificate חתום על ידי הרשות
SSLCertificateChainFile # חתימה על תעודה שניתנה על ידי סמכות
קובץ SSLCertificateKeyFile #Key שיצרת למעלה

  • הפעל מחדש את שרת האינטרנט של Apache ונסה לגשת לכתובת האתר באמצעות https

צופן SSL

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

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

  • עבור אל תיקיית $ Web_Server / conf / extra
  •  שנה את הנחיית SSLCipherSuite ב- httpd-ssl.conf כמפורט להלן כדי לקבל רק אלגוריתמים להצפנה גבוהים יותר

SSLCipherSuite HIGH:! MEDIUM:! ANULL:! MD5:! RC4

  •  שמור את קובץ התצורה והפעל מחדש את שרת ה- Apache

הערה: אם יש לך הרבה צופים חלשים בדוח ביקורת SSL שלך, אתה יכול לדחות אותם במהירות והוסיפו! בהתחלה.

השבת את SSL v2 & v3

SSL v2 & ל- v3 פגמי אבטחה רבים, ואם אתה פועל למבחן חדירה או תאימות PCI, אתה צפוי לסגור את ממצא האבטחה כדי להשבית SSL v2 / v3.

כל תקשורת SSL v2 / v3 עלולה להיות חשופה להתקפה של איש-אמצע העלולה לאפשר חבלה או חשיפה של נתונים.

בואו ליישם את שרת האינטרנט של Apache כדי לקבל רק את TLS העדכני ביותר ולדחות את בקשת החיבור SSL v2 / v3.

  • עבור אל תיקיית $ Web_Server / conf / extra
  • שנה את הנחיית SSLProtocol ב- httpd-ssl.conf כמפורט להלן כדי לקבל רק TLS 1.2+

SSLProtocol –ALL + TLSv1.2

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

Mod אבטחה

Mod Security הוא חומת אש ליישומי אינטרנט עם קוד פתוח, שתוכל להשתמש בה עם Apache.

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

כדי לספק הגנת יישומי אינטרנט כלליים, כללי הליבה משתמשים בטכניקות הבאות:

  • הגנת HTTP – גילוי הפרות של פרוטוקול HTTP ומדיניות שימוש מוגדרת מקומית
  • בדיקות ברשימה שחורה בזמן אמת – עושה שימוש במוניטין IP של צד שלישי
  • איתור תוכנות זדוניות מבוסס אינטרנט – מזהה תוכן אינטרנט זדוני באמצעות המחאה מול ממשק ה- API של הגלישה הבטוחה של Google.
  • הגנות מפני מניעת שירות מ- HTTP – הגנה מפני הצפות של HTTP והתקפות DoS איטיות של HTTP.
  • הגנה מפני התקפות רשת נפוצות – גילוי מתקפת אבטחה נפוצה ליישומי אינטרנט
  • איתור אוטומציה – איתור בוטים, סורקים, סורקים ופעילות שטח זדונית אחרת
  • שילוב עם סריקת AV לצורך העלאת קבצים – מזהה קבצים זדוניים שהועלו באמצעות יישום האינטרנט.
  • מעקב אחר נתונים רגישים – מעקב אחר שימוש בכרטיסי אשראי וחוסם דליפות.
  • הגנת טרויאנים – איתור גישה לסוסי טרויאנים.
  • זיהוי ליקויי יישום – התראות על תצורות שגויות של יישומים.
  • איתור והסתרה של שגיאות – הסוואת הודעות שגיאה שנשלחו על ידי השרת.

הורד & התקנה

חובה להתקין דרישות קדם להלן בשרת בו ברצונך להשתמש באבטחת Mod עם Apache. אם אחד מאלה אינו קיים, אוסף ההדרכה של Mod Security ייכשל. באפשרותך להשתמש ב- yum install ב- Linux או Centos כדי להתקין חבילות אלה.

  • apache 2.x ומעלה
  • חבילה libpcre –
  •  חבילה libxml2
  • חבילת liblua
  • חבילה libcurl
  •  libapr וחבילת libapr-util
  •  מודול mod_unique_id יחד עם שרת האינטרנט של Apache

כעת, הורד את הגרסה האחרונה ויציבה של Mod Security 2.7.5 מ- כאן

  • העבר את הקובץ שהורדת ל- / opt / apache
  • חלץ את modsecurity-apache_2.7.5.tar.gz

# gunzip –c modsecurity-apache_2.7.5.tar.gz | זפת xvf –

  • עבור אל התיקייה שחולצה modsecurity-apache_2.7.5

# cd modsecurity-apache_2.7.5

  • הפעל את סקריפט התצורה כולל נתיב apxs ל- Apache הקיים

# ./configure –with-apxs = / opt / apache / bin / apxs

  • לקמפל & התקן בעזרת סקריפט

# עשה
# עשה התקנה

  • לאחר סיום ההתקנה, היית רואה mod_security2.so בתיקיית המודולים תחת / opt / apache

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

תצורה

כדי להשתמש בתכונת אבטחת Mod עם Apache, עלינו לטעון את מודול האבטחה mod ב- httpd.conf. המודול mod_unique_id הוא דרישה מוקדמת לביטחון Mod.

מודול זה מספק משתנה לסביבה עם מזהה ייחודי לכל בקשה, שעוקב אחר Mod Security ואינו משמש אותו.

  • הוסף בעקבות שורה לטעינת מודול עבור אבטחת Mod ב- httpd.conf ושמור את קובץ התצורה

LoadModule unique_id_module modules / mod_unique_id.so
LoadModule security2_module modules / mod_security2.so

  •  הפעל מחדש את שרת האינטרנט של Apache

אבטחת Mod מותקנת כעת!

הדבר הבא שעליך לעשות הוא להתקין את כלל הליבה של Mod Security כדי לנצל את מלוא התכונה שלו.

ניתן להוריד את כלל הליבה האחרון מעקב אחר קישור, שהוא בחינם. https://github.com/SpiderLabs/owasp-modsecurity-crs/zipball/master

  • העתק מיקוד כלל ליבה שהורדת לתיקייה / opt / apache / conf
  • פתח את קובץ כלל הליבה
  • אולי תרצה לשנות את שם התיקיה למשהו קצר וקל לזכור. בדוגמה זו, אני שם את השם ל- crs.
  • עבור לתיקיית crs ושנה את שמם modsecurity_crs10_setup.conf.example ל- modsecurity_crs10_setup.conf

כעת, בואו לאפשר כללים אלה לגרום להם לעבוד עם שרת האינטרנט של Apache.

  •  הוסף את הדברים הבאים ב httpd.conf

כלול conf / crs / modsecurity_crs_10_setup.conf כלול conf / crs / base_rules / *. Conf

בתצורה שלעיל, אנו טוענים את קובץ התצורה הראשי של Mod Security modsecurity_crs_10_setup.conf וכללי הבסיס base_rules / *. Conf המסופקים על ידי כללי אבטחה של Mod Security כדי להגן על יישומי אינטרנט.

  •  הפעל מחדש את שרת האינטרנט של Apache

הגדרת בהצלחה את תצורת האבטחה עם Apache!

כל הכבוד. כעת, שרת האינטרנט של אפאצ’י מוגן על ידי חומת אש ליישומי אינטרנט של Mod Security.

מתחילים

בואו נתחיל עם כמה מהתצורות הקריטיות ב- Mod Security להתקשות & יישומי אינטרנט מאובטחים.

בחלק זה, אנו נבצע את כל שינוי התצורה ב- /opt/apache/conf/crs/modsecurity_crs_10_setup.conf.

נתייחס /opt/apache/conf/crs/modsecurity_crs_10_setup.conf כאל setup.conf בסעיף זה למטרה לדוגמא..

חשוב להבין מהם כללי OWASP שמוצעים בחינם. ישנם שני סוגים של כללים המסופקים על ידי OWASP.

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

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

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

אם אתה מחפש CSRF, מעקב אחר משתמשים, חטיפת פעילויות באתר וכו ‘, תוכל לשקול להשתמש בכללים אופציונליים. יש לנו את הכללים הבסיסיים, האופציונליים והניסויים לאחר חילוץ קובץ ה- zip של crs שהורד מדף ההורדה של OWASP.

קובץ תצורת כללי זה זמין בתיקיה crs / base_rules, crs / optional_rules ו- crs / experimental_rules. בואו נכיר כמה מחוקי הבסיס.

  • modsecurity_crs_20_protocol_violations.conf: כלל זה מגן מפני פגיעויות בפרוטוקול כמו פיצול תגובה, הברחת בקשות, שימוש בפרוטוקול שאינו מותר (HTTP 1.0).
  • modsecurity_crs_21_protocol_anomalies.conf: זה כדי להגן מפני בקשה, שחסרה ב- Host, Accept, User-Agent בכותרת..
  • modsecurity_crs_23_request_limits.conf: כלל זה תלוי ביישום ספציפי כמו גודל בקשה, גודל העלאה, אורך פרמטר וכו ‘..
  • modsecurity_crs_30_http_policy.conf: זה כדי להגדיר ולהגן על שיטה מותרת או אסורה כמו חיבור, עקבות, הגשה, מחיקה וכו ‘.
  • modsecurity_crs_35_bad_robots.conf: איתור רובוטים זדוניים
  • modsecurity_crs_40_generic_attacks.conf: זה כדי להגן מפני הזרקת פקודות מערכת הפעלה, הכללת קבצים מרחוק וכו ‘.
  • modsecurity_crs_41_sql_injection_attacks.conf: כלל זה כדי להגן על בקשת הזרקת SQL ועיוור SQL עיוור.
  • modsecurity_crs_41_xss_attacks.conf: הגנה מפני בקשת סקריפטים חוצה אתרים.
  • modsecurity_crs_42_tight_security.conf: איתור והגנה על מעבר במדריך.
  • modsecurity_crs_45_trojans.conf: כלל זה לגילוי פלט ניהול קבצים גנרי, העלאת דף דלת אחורית HTTP, חתימה ידועה.
  • modsecurity_crs_47_common_exceptions.conf: זה משמש כמנגנון חריג להסרת פוזיטיביות שגויות נפוצות שעלולות להיתקל בהן כמו חיבור דמה פנימי של אפאצ’י, פינגר SSL וכו ‘..

רישום

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

יומן איתור באגים: זה כדי לשכפל את הודעות שגיאת Apache, אזהרה והודעות מיומן השגיאות.

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

כברירת מחדל תצורה תכתוב את שני היומנים. עם זאת, אתה יכול לשנות בהתבסס על הדרישה שלך. היומן נשלט בהנחיית SecDefaultAction. בואו נסתכל על תצורת רישום ברירת המחדל ב- setup.conf

SecDefaultAction “שלב: 1, דחה, יומן”

כדי לרשום ניפוי באגים, יומן ביקורת – השתמש ב”יומן “כדי לרשום יומן ביקורת בלבד – השתמש ב” nolog, auditlog” כדי לרשום יומן באגים בלבד – השתמש ב”יומן, noauditlog “באפשרותך לציין את מיקום יומן הביקורת שיש לאחסן בו נשלט על ידי SecAuditLog הנחיה.

בוא נכתוב יומן ביקורת ל- /opt/apache/logs/modsec_audit.log על ידי הוספת כמוצג להלן.

  • הוסף הנחיית SecAuditLog ב setup.conf והפעל מחדש את שרת האינטרנט של Apache

SecAuditLog /opt/apache/logs/modsec_audit.log

  • לאחר ההפעלה מחדש, אתה אמור לראות את modsec_audit.log שנוצר

אפשר מנוע כלל

כברירת מחדל, כלל המנוע אינו פעיל, כלומר אם אינך מפעיל את מנועי ה- Rule, אינך משתמש בכל היתרונות של Mod Security.

מנוע כלל הפעלה או השבתה נשלט על ידי הנחיית SecRuleEngine.

  • הוסף הנחיית SecRuleEngine ב setup.conf והפעל מחדש את שרת האינטרנט של Apache

SecRuleEngine On

ישנם שלושה ערכים עבור SecRuleEngine:

  • מופעל – כדי לאפשר מנוע כלל
  • כבוי – לביטול מנוע כלל
  • DetectionOnly – אפשר את מנוע ה- Rule אך לעולם לא יבצע פעולות כמו חסימת, דחייה, ירידה, הרשאה, פרוקסי או הפניה מחדש.

ברגע שמנוע הכלל פועל – אבטחת Mod מוכנה להגנה באמצעות כמה מסוגי ההתקפה הנפוצים.

הגנה נפוצה על סוג התקפה

כעת שרת האינטרנט מוכן להגן באמצעות סוגי התקפה נפוצים כמו XSS, הזרקת SQL, הפרת פרוטוקולים וכו ‘כפי שהתקנו את Core Core והפעלנו את ה- Rule Engine. הבה נבחן כמה מהם.

התקפת XSS

  •  פתח את Firefox וגש ליישום שלך והניח תג בסוף או בכתובת האתר
  •  עקוב אחר התיקייה modsec_audit.log בתיקיית apache / logs

תבחין בבקשת חסימות אבטחה מפני שהיא מכילה תג שהוא שורש התקפת ה- XSS.

Attack Traversal Attack: – פיגועי Traversal Directory יכולים ליצור נזק רב על ידי ניצול של פגיעויות וקובץ גישה למערכת. Ex – / etc / passwd, .htaccess, וכו ‘.

  •  פתח את Firefox וגש ליישום שלך באמצעות מעבר במדריך
  •  עקוב אחר התיקייה modsec_audit.log בתיקיית apache / logs

http: // localhost /? ../…/boot

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

שנה באנר שרתים

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

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

הערה: כדי להשתמש באבטחת Mod כדי לתפעל את באנר השרת מכותרת עליונה, עליך להגדיר את ServerTokesn למלואו ב httpd.conf של שרת האינטרנט של Apache..

  • הוסף הנחיית SecServerSignature עם שם השרת הרצוי לך ב setup.conf והפעל מחדש את שרת האינטרנט של Apache

SecServerSignature YourServerName

דוגמה:

[/ opt / apache / conf / crs] #grep SecServer modsecurity_crs_10_setup.conf
SecServerSignature geekflare.com
[/ opt / apache / conf / crs] #

תצורה כללית

בואו ונבדוק כמה מהתצורות הכלליות כשיטות עבודה מומלצות.

הגדר את האזנה

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

כשאתה משאיר תצורת אפאצ ‘להאזנה בכל ה- IP עם מספר יציאה כלשהו, ​​זה עלול ליצור את הבעיה בהעברת בקשת HTTP לשרת אינטרנט אחר. זה די נפוץ בסביבה המשותפת.

  • הגדר את הנחיית האזנה ב- httpd.conf עם IP ויציאה מוחלטים כדוגמה המוצגת להלן

האזינו 10.10.10.1:80

רישום גישה

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

כברירת מחדל, Apache אינו מוגדר ללכידת נתונים אלה. עליכם להגדיר אותם באופן ידני באופן הבא.

  • כדי לתפוס זמן שנדרש כדי להגיש את הבקשה ואת מזהה ה- SESSION ביומן הגישה
  •  הוסף% T & % sessionID ב- httpd.conf תחת הנחיית LogFormat

LogFormat "% h% l% u% t "% {sessionID} ג" "% r" %>s% b% T" נפוץ

אתה יכול להפנות http://httpd.apache.org/docs/2.2/mod/mod_log_config.html לקבלת רשימה מלאה של פרמטר הנתמך בהנחיית LogFormat בשרת האינטרנט של Apache.

השבת טעינת מודולים לא רצויים

אם קיבלתם התקנה והתקנתם עם כל המודולים, יש סיכויים גדולים שיהיו טעונים רבים במודולים ב- Apache, שאולי לא נדרשים.

השיטה הטובה ביותר היא להגדיר את תצורת אפאצ’י עם מודולים נדרשים ביישומי האינטרנט שלך. למודולים הבאים יש חששות לאבטחה, וייתכן שתהיה מעוניין להשבית את httpd.conf של שרת האינטרנט Apache.

WebDAV (Authoring and Versioning מבוססי-אינטרנט) מודול זה מאפשר ללקוחות מרוחקים לתפעל קבצים בשרת ובכפוף להתקפות מניעה מהשירות. כדי להשבית את התגובה הבאה בכתובת httpd.conf

#LoadModule מודולים dav_module / mod_dav.so
#LoadModule מודולי dav_fs_module / mod_dav_fs.so
# כלול conf / extra / httpd-dav.conf

מידע מודול מודול mod_info יכול לדלוף מידע רגיש באמצעות .htaccess ברגע שמודול זה נטען. כדי להשבית את התגובה הבאה בכתובת httpd.conf

#LoadModule info_module modules / mod_info.so

הפניה: זה לא היה אפשרי ללא הנחיות מהקישור הבא:

אז זו הייתה כמה מהשיטות הטובות ביותר שתוכלו להשתמש בהן כדי לאבטח את שרת האינטרנט של Apache.

אם אתה חדש ב- Apache HTTP, אני ממליץ לקחת קורס ניהול Apache HTTP.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map