הקשחת שרת אובונטו: אוטומציה, אבטחה, ניטור

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

היכולות שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

30 הדקות הראשונות לאחר התקנת Ubuntu Server הן קריטיות. התמונה המוגדרת כברירת מחדל אינה מוכנה לעומסי ייצור: SSH פתוח, גישת סיסמת root, מגבלת קבצים פתוחים של 1024, ללא עדכונים אוטומטיים. תוך היום הראשון, מאות בוטים מרשתות הבוטים Mirai ו-Qbot סורקים את השרת. בפועל, 80% מהשרתים בתשתית הלקוחות שלנו מגיעים עם בעיות אלה. לאחרונה פנתה אלינו סטארטאפ: השרת שלהם נפרץ ביום השני לאחר הפריסה, ונתוני משתמשים דלפו. תיקנו את הנזק והגדרנו מחדש את המערכת כדי למנוע הישנות. תהליך ה-hardening שלנו ל-Ubuntu Server מבטיח שהמערכת מוכנה להתקפות מהיום הראשון.

אנו מגדירים את Ubuntu Server מאפס — מ-bare-metal ועד מופעי ענן ב-AWS, GCP, Yandex Cloud. בנוסף לאבטחה, אנו מייעלים ביצועים: מגדירים swap, מגדילים file-max, בוחרים מתזמני I/O (none ל-SSD, mq-deadline ל-HDD), ומפעילים TCP BBR לתפוקת רשת. כל זה מפחית השהיות ומונע קריסות בעומסי שיא. Canonical ממליצה לבצע hardening לאחר התחברות ראשונה.

אילו בעיות אנו פותרים

  • אבטחה כברירת מחדל: תמונות ענן לעיתים קרובות מאפשרות התחברות root. אנו משביתים אימות סיסמה, מגדירים fail2ban עם maxretry=3, bantime=3600, findtime=600, ו-UFW עם רשימת היתרים למנהלים. בנוסף: ביקורת משתמשים, הסרת חשבונות לא בשימוש, הגדרת sudo דרך קבוצת wheel.
  • ביצועים: מגבלת קבצים פתוחים ברירת המחדל (1024) אינה מתאימה ליישומים עמוסים. אנו מגדילים אותה ל-65536 ומתאימים את vm.swappiness (10–20 לשרתי DB, 60 למחשבים שולחניים). לשרתי אינטרנט בעומס גבוה, אנו מגדירים net.core.somaxconn = 1024.
  • ניהוליות: ללא אוטומציית עדכונים, השרת חשוף לפגיעויות. אנו מגדירים unattended-upgrades עם התראות, ומשלבים ניטור דרך Prometheus node_exporter ואיסוף לוגים מרכזי דרך Loki.

למה התקנה סטנדרטית לא מתאימה לייצור

לפי המלצת Canonical, יש לבצע hardening לאחר התחברות ראשונה. מדדנו: הזמן לפריצת שרת עם SSH פתוח וסיסמה הוא פחות משעתיים. לכן 30 הדקות הראשונות לאחר ההשקה הן קריטיות. אם החורים האלה לא נסגרים, אתה מסכן לא רק נתונים אלא גם מוניטין. בפועל, דילוג על hardening של Ubuntu Server מוביל לתקריות: פריצות SSH, השבתות עקב הגדרת רשת שגויה (למשל, השבתת IPv6 ללא הגדרת resolver DNS), כשלים ממיצוי מתארי קבצים.

השוואה הגדרה ידנית אוטומציית Ansible
זמן לשרת 4–8 שעות 2–3 שעות (ראשון)
חזרתיות נמוכה, סיכון לשגיאות גבוהה, מנוהל בגרסאות ב-Git
תחזוקת צי קשה playbook אחד לכולם
עלות תקריות גבוהה הפחתה של 30%

אוטומציית Ansible מאיצה את ההגדרה פי 2–3 בהשוואה לידנית. חיסכון בתקציב על תקריות מגיע ל-30–40% לאחר פריסת האוטומציה.

איך לבצע hardening בסיסי ב-5 שלבים

  1. השבתת התחברות root עם סיסמה והגדרת מפתחות SSH.
  2. התקנה והגדרה של UFW עם רשימת היתרים ל-IP.
  3. התקנת fail2ban עם הגדרות הגנת SSH.
  4. הגדרת unattended-upgrades עם התראות.
  5. הגדלת מגבלת קבצים פתוחים ל-65536.
דוגמה להגדרת fail2ban
# /etc/fail2ban/jail.local [sshd] enabled = true maxretry = 3 bantime = 3600 findtime = 600 

איך להאיץ פריסת שרתים עם אוטומציה

שימוש ב-Ansible או Terraform מפחית את הזמן לכל שרת עוקב ל-2–3 שעות. אנו מכינים roles עבור Debian/Ubuntu (common, security, monitoring, time) ומאחסנים אותם ב-Git יחד עם הגדרות Terraform לספקי ענן. זה מבטיח חזרתיות וגרסאות. בעת יצירת מופע מחדש, basta להריץ playbook אחד. אם אתה צריך הגדרה חזרתית לצי שרתים, צור קשר — נכין roles של Ansible.

איך אנו מגדירים Ubuntu Server turnkey

מקרה קונקרטי: הגדרת שרת ל-Go API בעומס גבוה. לאחר התקנה מינימלית, אנו מבצעים:

# Проверка текущих пользователей и портов
who
ss -tlnp

# Отключаем root-логин по паролю
sed -i 's/^PermitRootLogin.*/PermitRootLogin prohibit-password/' /etc/ssh/sshd_config
sed -i 's/^PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl reload ssh

יצירת משתמש # /etc/fail2ban/jail.local [sshd] enabled = true maxretry = 3 bantime = 3600 findtime = 600 , הוספת מפתח SSH. לאחר מכן הגדרה בסיסית:

# Обновление пакетов
apt update && apt full-upgrade -y

# Временная зона и hostname
timedatectl set-timezone Europe/Moscow
hostnamectl set-hostname prod-api-01

# Лимиты для нагруженных сервисов
cat >> /etc/security/limits.conf << 'EOF'
* soft nofile 65536
* hard nofile 65536
* soft nproc 32768
* hard nproc 32768
EOF

הגדרת אבטחה:

# UFW
ufw default deny incoming
ufw default allow outgoing
ufw allow from <office-ip> to any port 22
ufw --force enable

# fail2ban
apt install -y fail2ban
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

ועדכונים אוטומטיים:

apt install -y unattended-upgrades dpkg-reconfigure --priority=low unattended-upgrades 

לסנכרון זמן אנו משתמשים ב-systemd-timesyncd או chrony — תלוי בדרישות. ליישומים פיננסיים, אנו מתקינים chrony עם הגדרת שרת NTP ידנית. דוגמה להגדרת chrony לייצור:

server 0.pool.ntp.org iburst server 1.pool.ntp.org iburst allow 10.0.0.0/8 

מה כלול בהגדרה

  • ביקורת מצב שרת נוכחי (תמונת ענן, bare-metal).
  • Hardening של SSH, UFW, fail2ban, מגבלות, NTP.
  • התקנה והגדרה של תוכנה למשימה (nginx, PostgreSQL, Redis, Docker).
  • כתיבת סקריפטים ומסירת playbook של Ansible לחזרתיות.
  • תיעוד: הגדרה סופית, מדריך תפעול.
  • תמיכה: 30 ימי ייעוץ חינם לאחר מסירה.

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

תהליך ולוחות זמנים

שלב משך
ביקורת ותכנון 1–2 שעות
התקנה ו-hardening 4–8 שעות
הגדרת תוכנת יישום מ-4 שעות
בדיקות ותיעוד 2–4 שעות
העברת ידע שעה

הגדרה ידנית של שרת אחד אורכת 1–2 ימים. לצי שרתים, אנו משתמשים ב-Ansible — מפחיתים את הזמן ל-2–3 שעות לכל שרת עוקב. חיסכון ממוצע בתקציב הלקוח — 30% על זמן תקריות.

למה להפקיד את ההגדרה בידינו?

אנו עוסקים בתשתית DevOps מעל 5 שנים, השלמנו הגדרות ל-40+ פרויקטים — מסטארטאפים ועד ארגונים. אנו מבטיחים עמידה בשיטות האבטחה הטובות ביותר (CIS benchmark לפי בקשה). כדי להגדיר שרת לפרויקט שלך, צור קשר. קבל ייעוץ על hardening של Ubuntu Server.