How to secure CPanel server
How to secure CPanel server
שרתי centos
1. יש להירשם ולרכוש רישוי לCloud Linux דרך האתר:
Cloudlinux.com
לאחר ההרשמה יש לשמור את ה-Activation Key בצד.
2. יש להוריד ולהריץ את הסקריפט: cldeploy
במידה והרישוי לcloudlinux על בסיס IP יש להריץ את הסקריפט עם –i
יש לאתחל את השרת לאחר ההרצה.
סדר הפעולות:
$ wget http://repo.cloudlinux.com/cloudlinux/sources/cln/cldeploy $ sh cldeploy -k <activation_key> or $ sh cldeploy -i # if you have IP based license $ reboot
|
3. לאחר ההתקנה, יש להתקיןאת החבילה CageFS בעזרת הפקודות:
$ yum install cagefs $ /usr/sbin/cagefsctl --init |
הפקודה האחרונה יוצרת תיקיית skeleton ששוקלת כ-7GB. במידה ואין מספיק מקופ פנוי ב/usr, אפשר להשתמש בפקודה הבאה ע"מ למקם את התיקייה במיקום אחר:
$ mkdir /home/cagefs-skeleton $ ln -s /home/cagefs-skeleton /usr/share/cagefs-skeleton |
במידה ושיניתם את מיקום ה skeleton יש לשנות את הגדרות cPanel ב-WHM.
הגדרות של הplugin CageFS נמצאות בWHM תחת Plugins.
ניתן להפעיל את הפלאגין ולבחור איזה יוזרים יפעלו עם CageFS
4. יש להגדיר את תיקיות tmp ו-shm ללא הרצה (execute)
רקע – האקרים יכולים לנצל תיקיות זמניות כמו tmp ע"מ להחדיר קבצים זדוניים ולבצע הרצה לקוד מסויים בשביל לפרוץ לשרת. כדי למנוע את זה יש לחסום הרצה לתיקיות הזמניות:
- להוסיף את nodev,nosuid, noexec ל/tmp
יש לערוך את הקובץ
vi /etc/fstab |
Locate the /tmp line: UUID=0aef28b9-3d11-4ab4-a0d4-d53d7b4d3aa4 /tmp ext4 defaults 1 2 |
Change it to: UUID=0aef28b9-3d11-4ab4-a0d4-d53d7b4d3aa4 /tmp ext4 defaults,nodev,nosuid,noexec 1 2 |
לאחר השינוי יש לשמור את הקובץ.
- להוסיף את nodev,nosuid, noexec ל/dev/shm
- יש לערוך את הקובץ
vi /etc/fstab |
Locate the /dev/shm line: tmpfs /dev/shm tmpfs defaults 0 0 |
Change it to: tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0 |
לאחר השינוי יש לשמור את הקובץ
במידה ו/tmp לא מוגדר כpartition אלא ב-/var/tmp
vi /etc/fstab |
Append the following line: /tmp /var/tmp none rw,noexec,nosuid,nodev,bind 0 0 |
לאחר השינוי יש לשמור את הקובץ
- ע"מ להחל את ההגדרות מבלי לאתחל את השרת בצע את הפקודות הבאות:
# Bind /var/tmp to /tmp mount -o rw,noexec,nosuid,nodev,bind /tmp/ /var/tmp/ # Remount /tmp mount -o remount,noexec,nosuid,nodev /tmp # Remount /dev/shm mount -o remount,noexec,nosuid,nodev /dev/shm verify new settings: mount | egrep --color -w '^(tmpfs|/tmp)|/tmp' |
5. יש לוודא בcPanel שמותקן Apache 2.4, php 5.5, ב suphp Apache seExe
6. יש להתקין תוספות ל cPanel
- ConfigServer Security & Firewall
cd /usr/src rm -fv csf.tgz wget https://download.configserver.com/csf.tgz tar -xzf csf.tgz cd csf sh install.sh |
לאחר ההתקנה יש להגדרות בממשק cPanel
1. יש להוסיף פורטים עבור שירותים מיוחדים לדוגמה מערכת גיבוי PRTG
TCP_IN = 20,21,22,25,53,80,110,143,443,465,587,993,995,2077,2078,2082,2083,2086,2087,2095,2096,2322,4243,4242,4200,4280,4282,161
2. להוסיף IP של המשרד ושל PRTG ל
3. להפעיל RESTRICT_SYSLOG
4. להפעיל TESTING=0
5. לבדוק אם הכול עובד ואין חסימות מיותרות
6. ליישם את כל ההמלצות של Check Server Security
- Web Application Firewall | Free ModSecurity Rules from Comodo
1. לוודא Mod Security 2.9.0 מותקן
2. להריץ את פקודות ההתקנה:
# wget https://waf.comodo.com/cpanel/cwaf_client_install.sh # chmod 0755 cwaf_client_install.sh # ./cwaf_client_install.sh |
3. ללחוץ OK על כל מסכי ההתקנה
- לאחר ההתקנה יש לוודא שההתקנה הסתיימה בהצלחה ולבצע עדכון לRules ול-Client ב WHM-Plugins
ClamAV Scanner
Linux Malware Detect (סריקה לילית)
https://www.rfxn.com/projects/linux-malware-detect
# wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
# tar -xvzf maldetect-current.tar.gz
# cd cd maldetect-1.4.2/
# chmod 0755 install.sh
# ./install.sh
יש לקפנג את Linux Malware Detect אחרי ההתקנה
# nano /usr/local/maldetect/conf.maldet email_alert=1 email_addr=gacanepa@localhost email_subj="Malware alerts for $HOSTNAME - $(date +%Y-%m-%d)" quar_hits=1 quar_clean=1 quar_susp=1 clam_av=1 |
יש להבין אופן העבודה מול הרשאות קבצים:
1. תיקיות 0755
Owner |
Group |
World |
|
Read |
Y | Y | Y |
Write |
Y | X | X |
Execute |
Y | Y | Y |
2. קבצים 0644
Owner |
Group |
World |
|
Read |
Y | Y | Y |
Write |
Y | X | X |
Execute |
X | X | X |
יש להבין את צורת העבודה של חשבונות:
1. מומלץ לפתוח חשבון עבור כל דומיין.
2. אם יש sub-domain או דומיינים לטסטים, מומלץ לפתוח מחוץ לתיקייה public_html
1. אופטימיזציה
2. OptimumCache
http://docs.cloudlinux.com/index.html?optimumcache.html
mariaDB
3. דרישות (מינימום מומלצות) חומרה
2 CPU
2GB RAM memory
80GB disk space