Categories
שרתים וירטואליים

אבטחת שרת אינטרנט

וצעצוע של סיפור.

  • לעדכן באופן תדיר
  • להחליף את הסיסמאות לעיתים תכופות תוך וידוא שהן באורך 8 תווים לפחות (אותיות גדולות וקטנות באנגלית, מספרים וסמלים) ולהוסיף אימות דו-שלבי
  • להגדיר חומת אש
  • להפעיל הגנת DDOS
  • לסרוק את קבצי השרת ולעבור על הלוגים באופן תכוף

לחסום התחברות של המשתמש root ב-SSH- להוסיף לקובץ etc/ssh/sshd_config/ את ההוראה:

PermitRootLogin no

להגדיר אילו לוגים יישמרו והיכן בקובץ etc/rsyslog.conf/.

להגדיר מערכת למניעת חדירות Fail2ban:

  • להפעיל את mod_remoteip (במידה ומשתמשים ברברס פרוקסי)
  • ליצור את הקובץ etc/fail2ban/jail.local/ ולהשתמש בהוראות, לדוגמא כדי להפעיל הגנה ממושכת על SSH:
[recidive]
enabled = true

[sshd]
enabled = true

להגדיר מספר קבצי לוג:

logpath = /var/www/clients/client12/web*/log/access.log
          /var/www/clients/client13/web*/log/access.log

לבטל חסימה שנוצרה השתמשו בפקודה:

 fail2ban-client set sshd unbanip $IP

להסתיר פרטי שרת ווב אפאצ'י- להוסיף לקובץ etc/apache2/apache2.conf/ את ההוראות:

ServerTokens Prod
ServerSignature Off

להסתיר פרטי ה-PHP- להוסיף לקובץ php.ini את ההוראות:

expose_php = off

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

Categories
שרתים וירטואליים

ניהול שרת דואר

לשיפור שיעורי השליחה המוצלחת של דוא"ל מהשרת:

  • להגדיר לשמות המתחם: DMARC ,DKIM ,SPF
  • לוודא ששם השרת קיים בערכים: A record ,rDNS, ממשק ניהול השרת, בתצורת ה-MTA (כולל mailname),וה-Content filter שבשימוש

להגדיר relay host ב-Postfix עם הפקודות:

apt-get install libsasl2-modules
postconf -e 'relayhost = $relay_host_ip'
postconf -e 'smtp_sasl_auth_enable = yes'
postconf -e 'smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd'
postconf -e 'smtp_sasl_security_options ='
echo "$relay_host_ip   yourEmail:yourPassword" > /etc/postfix/sasl_passwd
chown root:root /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd
/etc/init.d/postfix restart
Categories
שרתים וירטואליים

פרוקסמוקס

והמכונית היפנית.

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

לגיבוי קבצי התצורה של השרת עצמו השתמשו בפקודה:

tar -zcvf /var/lib/vz/dump/srv_etc_root-$(date +"%Y_%m_%d-%H_%M_%S").tar.gz /etc /root

לביטול אפשרות שחזור/הסרת LXC, הפעילו את אפשרות ה-Protection. כדי לאפשר למשתמשים לבצע גיבויים, העניקו להם הרשאת PVEDatastoreUser על נתיב האחסון והרשאת PVEVMUser על נתיב המכונה הוירטואלית.

להגבלת מספר הגיבויים האוטומטיים שיישמרו, השתמשו באפשרות Max Backups (בדאטה סנטר => אחסון).

לשימוש ב-NAT יחדיו עם פרוקסמוקס, צרו Linux bridge עם ה-LAN IP, ולהתאמת חומת האש המובנית לעבודה עם המכונות הוירטואליות הוסיפו את ההוראות לקובץ etc/network/interfaces/:

post-up   iptables -t raw -I PREROUTING  -i fwbr+ -j CT --zone 1
post-down iptables -t raw -D PREROUTING  -i fwbr+ -j CT --zone 1

להגדרת חוקי NAT ו-port forwarding עם iptables הוסיפו לקובץ etc/network/interfaces/ את ההוראות:

post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '$LAN-IP-SUBNET' -o eno1 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '$LAN-IP-SUBNET' -o eno1 -j MASQUERADE
post-up iptables -t nat -A PREROUTING -i eno1 -p tcp -m multiport --dports $PORTS -j DNAT --to $DESTINATION-LAN-IP
post-down iptables -t nat -D PREROUTING -i eno1 -p tcp -m multiport --dports $PORTS -j DNAT --to $DESTINATION-LAN-IP

לקבלת תעודת SSL של Let's Encrypt למספר שרתים שנמצאים מאחורי NAT, הגדירו port forwarding לפורט 80 לשרת הרלוונטי לזמן הולידציה.

להגדרת אחסון חדש גשו לשרת => אחסון ולדאטה סנטר => אחסון.

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

Categories
שרתים וירטואליים

ISPConfig

והחלילן מהמלין.

ISPConfig הינה מערכת קוד פתוח לניהול שרת ולאחסון אתרים בלינוקס, היא מאפשרת ניהול מספר שרתים מאותו ממשק כולל ניהול שרת ווב, ניהול שרת דוא"ל וניהול שרת DNS.

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

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

לשינוי קונפיגורציות השרת יש להשתמש בנתיב usr/local/ispconfig/server/conf-custom/ ושל הממשק בקובץ /usr/local/ispconfig/interface/lib/config.inc.local.php.

להפעלת SSL לאתר, תחילה הפעילו את ה-SSL ואז את ה-Let’s Encrypt SSL, בנוסף תוכלו להשתמש באופציות ההפניה מ-HTTP ל-HTTPS ומ-domain.ltd ל-www.domain.ltd (לאחר יצירת סאב דומיין אוטומטי www). לניקוי תעודת SSL ישנה השתמשו בפקודה (תעודה חדשה יותר תהה עם סיומת מספר גבוהה יותר):

certbot delete

להפעלת SSL באתר וורדפרס מאחורי רברס פרוקסי- להוסיף לקובץ wp-config.php את ההוראה:

$_SERVER['HTTPS'] = 'on';

לשימוש ב-ISPConfig מאחורי NAT, הפעילו את האפשרות Skip Lets Encrypt Check (System => Server Config => Web => SSL Settings), השתמשו ב-WAN IP בהגדרות ה-DNS ובהגדרות האתרים, וב-LAN IP בתצורת שרת ובכתובות IP של השרת.

להגדרת רברס פרוקסי השומר על כתובת המבקש המקורי ולא מעביר בקשות לתעודות SSL בשרת הווב אפאצ'י, השתמשו בהוראות:

ProxyPreserveHost On
ProxyPass /.well-known/acme-challenge !
ProxyPass /$PATH http://$LAN-IP:$PORT/$PATH
ProxyPassReverse /$PATH http://$LAN-IP:$PORT/$PATH
ProxyPass / http://$LAN-IP:$PORT/
ProxyPassReverse / http://$LAN-IP:$PORT/

לשיפור יציבות השרת השתמשו באפשרות rescue (תחת Server Config).

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

php /usr/local/ispconfig/server/cron_debug.php --cronjob=500-backup.inc.php

להקשחת מדיניות הדוא"ל ערכו את ההוראות בקובץ etc/postfix/main.cf/:

smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_invalid_hostname, reject_non_fqdn_hostname, reject_unknown_recipient_domain, reject_non_fqdn_recipient, reject_unauth_destination, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_rbl_client cbl.abuseat.org,reject_rbl_client dul.dnsbl.sorbs.net,reject_rbl_client ix.dnsbl.manitu.net, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unknown_client_hostname, check_client_access mysql:/etc/postfix/mysql-virtual_client.cf

להגדרת PureFTP לשימוש ב-passive mode (מאפשר שימוש מאחורי חומת אש), השתמשו בהוראות:

echo "30510 30610" > /etc/pure-ftpd/conf/PassivePortRange
service pure-ftpd-mysql restart

להתמודדות עם חסימת CSRF בעת מחיקת משאבים כלשהם יש למחוק אותם ישירות בבסיס הנתונים.

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

Categories
שרתים וירטואליים

אימות דו-שלבי

וקים דוטקום.

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

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

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

להגדרת TOTP כשלב אימות שני בוורדפרס:

  • להתקין ולהפעיל את התוסף
  • לסרוק את קוד ה-QR דרך האפליקציה
  • ללחוץ עדכן פרופיל

להגדרת TOTP כשלב אימות שני בוובמייל Roundcube:

  • להתקין ולהפעיל את התוסף
  • להפעיל את האפשרות דרך לשונית הגדרות

להגדרת TOTP כשלב אימות שני ב-phpMyAdmin:

  • להתקין ולהפעיל את הפיצ'ר
  • להפעיל את האפשרות דרך לשונית הגדרות

להגדרת TOTP כשלב אימות שני בשרת וירטואלי ל-SSH:

  • להתקין ולהפעיל את החבילה
  • בקובץ etc/pam.d/sshd/ להפוך להערה את include common-auth @ ולהוסיף auth required pam_google_authenticator.so
  • בקובץ etc/ssh/sshd_config/ לשנות את הערך ChallengeResponseAuthentication ל-yes, ואת הערך PasswordAuthentication ל-no, ולהוסיף AuthenticationMethods publickey,keyboard-interactive
  • להפעיל מחדש את ה-SSH service

להגדרת TOTP כשלב אימות שני בממשק ניהול השרתים:

  • ללחוץ על כפתור ה-TFA בהגדרות משתמש
  • ליצור קוד סודי רנדומלי (אופציונלי)
  • לקבוע שם מנפיק (אופציונלי)
  • לסרוק את קוד ה-QR עם האפליקציה
  • להכניס את הסיסמא
  • להכניס את ערך ה-TOTP מהאפליקציה
  • ללחוץ החל

כפי שבוודאי שמתם לב- קים דוטקום איים לתבוע את כל שירותי הרשת המרכזיים המציעים צורת אימות זו, על בסיס פטנט שרשם בשנת 2000. לעת עתה הפטנט שלו בוטל על ידי משרד הפטנטים האירופי, בשל פטנט דומה הנרשם ע"י AT&T כבר בשנת 1998.