VPS או יעודי?

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

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

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

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

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

ב-VPS המצב שונה: השרת הוא וירטואלי וגם אם השרת יעלה באש, ניתן לקחת את הדיסקים ולהעביר לשרת פיזי אחר ולהפעיל את השרתים הוירטואליים מחדש, או לחלופין, אם החומר שמור על מערך RAID-1 חומרה לדוגמא, ניתן לקחת דיסק אחד, לשלוף ממנו את קבצי השרת הוירטואלי, להעתיק אותם לשרת אחר שפועל ולהפעיל את השרת. ה-Downtime במקרים כאלו אצל ספק רציני יהיה בין שעה לשעתיים, הרבה פחות מ-24 שעות בהשוואה לשרת פיזי.

אם אתה צריך את כל הכח שהשרת יכול להציע לך ולא אכפת לך שהשרת יהיה 24 שעות למטה, אז במקרים כאלו עדיף לשכור שרת פיזי ולא VPS.

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

אירוח שרת יעודי–כדאי?

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

מה קרה? החלטתי לחסל את העסק? להוריד את האירוח? לא ממש Smile

נתחיל עם משהו פשוט: לא חשוב מה השרת שיש לך, חשובים הדברים הבאים:

  • מה גודל השרת ב-U. המידות הם 1U, 2U והלאה
  • כמה נקודות חשמל אתה צריך לשרת? 1? 2? (2 במקרה שיש לך RPS כלומר Reduntant Power Supply)
  • כמה כתובות אתה צריך? (אתה צריך לפחות כתובת אחת חיצונית לשרת, אך אם יש לך מודול שליטה מרחוק כמו iDrac/ILO/IMM/IPMI בהתאם ליצרן – תצטרך כתובות IP נפרדת לכך)
  • כמה חשמל השרת שלך צורך? אם יש לך שרת עם 4 מעבדים (לא ליבות)  כשכל אחד מהמעבדים צורך המון והשרת שלך עמוס נון סטופ, תהיה לך תוספת למחיר בכל חודש בהתאם לצריכה.

כיום, המחירים בארץ לאחסון שרת 1U נעים בין 250-450 שקל (לא כולל מע”מ, בד”כ לא כולל כתובות IP נוספות, הזנות חשמל נוספות וכו’, תלוי בספק), ובמחיר הזה לא תמיד שווה להכניס שרת משלך לחווה.

מדוע? יש לכך מספר סיבות:

  • ישנם לא מעט ספקים שמציעים באותו מחיר להשכיר ללקוח שרת פיזי. בד”כ לא מדובר על שרתים חדשים (ברוב המקרים מדובר על שרת שכבר “קרעו אותו” או שהוא ישן ויד שניה), אבל היתרון על פני שרת משלך (אם גם שלך ישן) זה שהספק מחויב לתקן תקלות חומרה בזמן קצר. תתקשר לכל חברת שרתים ותשאל אותה כמה יעלה לשלוח טכנאי ולהחליף לך ציוד. תהיה בטוח שזול – זה לא. ישנם כמובן ספקים שמשכירים שרתים חדשים “מהקופסא” במחירים שגבוהים בהרבה מ-400 שקל לחודש, ולפעמים שווה להשכיר מהספק שרת (כל עוד זה עונה על מה שאתה מחפש), כך שכדאי לשמוע הצעות ולראות אם זה שווה עבורכם להשכיר ואם זה כולל SLA.
  • שרתי VPS כיום נותנים ביצועים יותר גבוהים משרתים יעודיים (בהשוואה לשרתים ישנים כמובן), ושרתי VPS קל לספק לתחזק אותם בהשוואה לתחזוקת שרת יעודי. אם יש בעיית חומרה (ולספק יש תשתית רצינית), הוא יכול להעביר את ה-VPS שלך משרת אחד לשרת אחר, כך שניתן לקבל ביצועים גבוהים והמשך עבודה כאילו זה היה השרת ברזל שלך.

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

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

  • ודא כי הספק מתחייב לרוחב פס סימטרי יעודי משלך (ללא טריקים של הכפלה, הווה אומר אם אתה מקבל 10 מגהביט סימטרי, אז תוכל להעלות או להוריד 10 מגהביט, יש ספק או 2 שמשתמשים בטריקים לאמר “10 מגה” בשעה שהם מתכוונים ל-5 מגה והם מחשבים בנפרד את ההעלאה או הורדה. אצל ספקים כאלו לא מומלץ לארח). ודא כי זה מה שהינך מקבל ושהספק מתחייב שרוחב הפס שלך יהיה פנוי רק לשימושך.
  • אם יש לך שרת עם 2 חיבורי חשמל (RPS), ודא כי אתה מקבל הזנה נפרדת לכל ספק, כך שאם יש תקלה בהזנה אחת, השרת שלך יקבל חשמל מההזנה הנפרדת.
  • אם אין לך בשרת מודול לשליטה מרחוק (IPMI/iLO/IMM/iDrac) הוסף זאת לשרת שלך ואל תסמוך על KVM של הספק המארח. לעיתים תצטרך בשעת לילה מאוחרת (שהספק כבר לא עונה לטלפונים או שבחווה עסוקים) להתחבר מרחוק לפתור תקלה וכניסת SSH או RDP לא אפשרית – ואז השקעה קטנה זו (בסביבות 50-100 דולר, תלוי בלוח אם, בלוחות רבים זה כבר מובנה) תחזיר את עצמה ותוכל לטפל בתקלה במהירות.
  • ודא כי בחבילה כלול חיבור רשת נוסף לאותה שליטה מרחוק עם כתובת IP וודא כי החיבור מוגדר.
  • אם יש לך מספר שרתים פיזיים (או מספר שרתי VPS) ויש לך איש טכני טוב, מומלץ שתנהל בעצמך חומת אש. כך תחסוך לעצמך זמן אם יש תקלה ואתה צריך לחסום דברים מסויימים. לשם כך עליך לבקש כתובות מ-2 סגמנטים שונים (סגמנט אחד חיצוני שישמש כ-WAN וסגמנט אחד לשרתים, שישמש כ-LAN).
  • אם אתה מחליט לשכור שרתים לטווח ארוך, נסה למצוא דיל שלאחר תקופה (נאמר שנתיים) אתה מקבל בעלות על השרתים שאתה משכיר. אין הרבה ספקים שנותנים זאת, אך שווה לחפש את זה, כך בעצם השכרת השרת הופכת ל-Leasing וההשקעה מחזירה את עצמה לאחר שנתיים.
  • ודא כי שרותי אצבע (לחיצת Reset) כלולים במחיר חבילת האירוח.
  • אם אין לך ידע טכני מספק לניהול שרת פיזי (או ניהול שרתים וירטואליים בנושא הקמה וכו’) בקש במחיר החבילה תמיכה בסיסית או מלאה, בהתאם לצורך שלך.

בהצלחה

על שרתים וירטואליים (VPS) והתקפות

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

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

איך זה מבוצע? ישנם מאות אלפי מחשבים בעולם שלא מעודכנים בעדכוני תוכנה שסוגרים פרצות, ומחשבים אלו הותקפו בעבר והותקן עליהם (ללא ידיעת המשתמש כמובן) תוכנה זדונית שמחברת אותם למעין "רשת" ולאותה רשת יש שרת (או כמה שרתים) עם מפעיל (או מספר מפעילים) וברגע שהמפעיל נותן פקודת התקפה, אותם מחשבים אישיים בעולם שהותקנה עליהם התוכנה הזדונית, משמשים בעצם כ"עבדים" והם מתחילים לשלוח (שוב, ללא ידיעת המשתמש) בקשות מזוייפות לכתובת IP מסויימת שניתנה על ידי המפעיל. שרת ה-VPS המותקף מקבל את הפקודות ומנסה להחזיר תשובות, אך הבעיה היא שכתובת היעד (לאן שרת ה-VPS אמור לשלוח את התוכן שהוא התבקש לספק) מזוייפת ולכן השרת לא יכול לספק את הבקשה ועד שהוא "מבין" שיש לו בעיה, לוקחות מספר שניות. נכפיל את זה בבקשות של עשרות או מאות אלפים שמגיעות בעת ובעונה אחת, וכל שרת VPS "יחנק" תוך מספר דקות והאתר ירד מהאוויר.

בעבר המצב היה כזה, שעל מנת להתקיף אתר מסויים, היה צריך שיתוף פעולה מאסיבי מצד חוליגנים שונים. הם היו צריכים להתקין תוכנה על המחשב ולהשתתף (מה שכמובן מפליל, ולך תסביר לילד משועמם שהשתתף שהרגע הוא עוד חשוד ברשימת המתקיפים אם ה-FBI חוקר זאת). כיום, "תודות" לקבוצה בשם אנונימוס, פותח טריק חדש: תן Like לעמוד מסויים, והמחשב שלך (גם בלי שום תוכנה מותקנת להתקפה) מתחיל להתקיף יעד מסויים, כלומר משתמשים רבים שכלל לא התכוונו להתקיף מישהו בחיים שלהם, נמצאים עכשיו מתקיפים שרתים מסויימים שמי שבנה את דף הלייק – התכוון אליהם.

מצב ממש לא נעים.

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

התקפות קטנות (מאות עד אלפים בודדים)

  • אתם רואים שהשרת שלכם בקושי מגיב וכל החיבורים של שרת ה-Web שלכם תפוסים (אפשר לראות זאת בלינוקס דרך SSH עם הפקודה: server httpd status או service httpd fullstatus – ב-CentOS/RHEL/Fedora. להפצות אחרות יש שינוי קטן מבחינת פקודות). הדבר הראשון שניתן לעשות הוא לגבות את קובץ httpd.conf (אם יש לכם cPanel לדוגמא, הוא נמצא ב- usr/local/apache/conf/httpd.conf ואם זה הגירסה שמגיעה עם CentOS/RHEL/Fedora אז המקום הוא etc/httpd/conf.d/httpd.conf/) ולשנות אותו בהתאם להוראות שמופיעות כאן. שימו לב: מומלץ לאחר ההתקפה להחזיר את המצב לקדמותו. מומלץ לאחר ביצוע השינויים להתחיל את השרת עם פקודת restart ולא עם reload.
  • אם יש לך חומת אש פנימית בשרת מבוסס Linux, מומלץ להתקין חומת אש חינמית כמו CSF ואז ניתן להשתמש בהגדרות כמו שמופיעות כאן כדי להפחית ולחסום התקפות אם הן קטנות עד בינוניות (תלוי בכמות המתקיפים, גודל שרת VPS, כמות זכרון, רוחב פס וכו')
  • התקנת מודול ב-Apache שנקרא Mod_Evasive. מודול זה יודע להבין בצורה לא רעה שהשרת Apache מותקף והוא יודע לנהוג בהתאם. מומלץ לקרוא את ההוראות איתו (למשתמשי cPanel החיים קלים, פשוט תעקבו אחרי ההוראות כאן).
  • ניתן באמצעות פקודה כמו הפקודה בשורה הבאה כדי לקבל מעין טבלה עם 2 קבוצות מספרים. מצד שמאל יהיה בסדר עולה כמות הבקשות ומצד ימין כתובת ה-IP ששולחת את הבקשות לשרת שלכם. כל מה שצריך לעשות זה לכתוב חוק דינמי (עם CSF זה csf -d ip כאשר ip זו הכתובת שרוצים לחסום) לחסום את הכתובות עם הכי הרבה בקשות, רק שימו לב שלא לחסום את עצמכם בטעות אם רצות אפליקציות שלכם פנימית בשרת:
netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

 התקפות בינוניות עד מאסיביות

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

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

אפשרות נוספת (וקצת יותר יקרה): לקחת שרת וירטואלי (VPS) אחר לא מאותו ספק (אי אפשר לדעת אף פעם אם התקפה היא רק מול IP אחד או מול טווח ענק של כתובות של אותו ספק) ועליו להקים אתר בסיסי של השרות שלך, לבנות רפליקציה של ה-DB בין האתרים. ב"יום הדין" בשרת העיקרי תצטרך לעשות את הדברים הבאים:

  • קובץ robots.txt שיודיע לגוגל לא לסרוק בכלל את האתר שלך ( /  :Disallow ). הדבר האחרון שאתה רוצה שגוגל יאנדקס את הדף בסעיף הבא. (מקדמי אתרים אינם ממליצים זאת).
  • שינוי קובץ httpd.conf בשרת ה-Apache לפי ההוראות מעלה
  • קובץ index.html (לא PHP ולא בשום שפה אחרת שמכריחה את השרת Apache/NGINX לפנות למודולים שונים כדי ליצור את הקובץ) ובו יהיה הסבר קצרצר על כך שיש התקפה נגדך, ולינק ל-VPS השני שלך (בלי redirect, בלי קוד 301, בלי הפניה אוטומטית, אתה לא רוצה לקחת את ההתקפה איתך ל-VPS השני). כך הלקוח עדיין יוכל לקבל ממך שרות.

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

ישנם גם פתרונות אחרים נגד התקפות DDoS ו-DoS הכוללים קופסאות שבעצם יודעות לנטר את הרשת ולהבחין בנקל בהתקפה ו"להרוג" חלק לא קטן ממנה, אבל כל קופסא כזו עולה בסביבות ה-10,000 דולר ומעלה (כמו של IntruGuard). יש גם פתרונות מבוססי מכונות וירטואליות כמו של Sophos אבל במקרים רבים הם פתרונות ברמה של ספק קטן או ללקוח שיש לו כמה שרתים. בכל מקרה, כיום גם עם מכונת Linux רגילה ניתן למנוע התקפות שונות.