Tag Archives: ssh

התקנת שרת Ssh + אבטחה בסיסית של שרת Ssh

התקנת שרת SSH

שרת SSH

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

yum install openssh
chkconfig sshd on
service sshd start

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

ssh username@computername

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

הדרך הבסיסית והפשוטה ביותר להגן על השרת שלנו היא באמצעות הגבלת המשתמשים שיכולים להכנס למחשב ומניעת מנהל המערכת להכנס למחשב מרחוק. בצורה זאת גם אם מישהו יצליח לפרוץ לשרת הוא לא יוכל לעשות נזק מערכתי אלה רק מקומי.
הגדרות השרת נמצאות בקובץ /etc/ssh/sshd_config
נפתח את הקובץ ונשנה את השורות הבאות

Protocol 2
PermitRootLogin no
MaxAuthTries 3
AllowUsers user1 user2

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

SSLH : להתחבר לשרת WEB ב-HTTPS וב-SSH דרך אותו פורט

07.07.10SSLH : להתחבר לשרת WEB ב-HTTPS וב-SSH דרך אותו פורט
הגישה לשרת ב-SSH בפורט 22 יכולה להיות בעייתית מכל מני סיבות :

  1. יתכן וספק אחסון האתר חוסם פורט 22 כחלק ממדיניות האבטחה שלו
  2. באופן כללי לא נרצה לפתוח גישת SSH בפורט 22 (מומלץ מאוד לשנות את פורט החיבור כדי להימנע מהתקפות אוטומאטיות)
  3. לפתוח גישה בפורט 22 ובפורט 443 על אותו שרת WEB יכול להיות פגיעה במדיניות אבטחת המידע של בעל האתר (למה לפתוח 2 פורטים ב-FIREWALL ?)

הפתרון הפשוט ביותר מובנה ברוב הפצות לינוקס והוא SSLH.
מה הוא SSLH ?
SSLH הינו סקריפט קטן ופשוט שיודע לנתב כל פניה לפורט מסויים (נגיד HTTPS – 443) אל השירות המתאים (לדף HTTPS או לחיבור SSH).
לצורך כך, נתקין ונגדיר SSLH להזנה בפורט 443, נשנה פורט ההזנה של אתר ה-WEB ל-8443 (ניתן לבחור כל פורט פנוי). המשתמשים ימשיכו לגלוש ב-HTTPS (לא ירגישו את השינוי) ונוכל גם להתחבר ב-SSH דרך אותו פורט (443).

איך מתקינים ?

פשוט מאוד.
הנחה בסיסית למדריך זה היא שאנו מבצעים את ההתקנה על שרת UBUNTU 10.04 עם שרת WEB פעיל בפורט 443 (אבל ניתן ליישם בכל הפצת לינוקס נורמאלית עם שרת ווב פעיל ב-HTTPS בכל פורט אפשרי). שרת ה-WEB שבחרתי הינו APACHE (הנפוץ ביותר).
1) יש להתחבר לשרת לינוקס ב-SSH או ב-CONSOLE
2) יש לעלות את רמת ההרשאה ע"י פקודת SUDO SU והקלדת הסיסמא של משתמש ROOT
3) יש להתקין את הסקריפט ע"י הפקודה הבאה :

apt-get install sslh
4) יש לערוך את קובץ ההגדרות של SSLH :
nano /etc/default/sslh
יש לערוך את שורת ההגדרה ולשנות את הפורט המסומן לפורט הרצוי (כאן בדוגמא החליף 443 ל-8443)
DAEMON_OPTS="-u sslh -p 0.0.0.0:443 -s 127.0.0.1:22 -l 127.0.0.1:8443 -P /var/run/sslh.pid"
יש להוסיף מעל אותה שורה את הפקודה הבאה (מסומן באדום) :
RUN=yes
DAEMON_OPTS="-u sslh -p 0.0.0.0:443 -s 127.0.0.1:22 -l 127.0.0.1:8443 -P /var/run/sslh.pid"

יש לשמור את השינוי (ע"י לחיצה על צירוף CNTRL + X ואישור עם לחיצה על Y)

5) יש לערוך את קובץ הגדרת הפורט של השרת APACHE :
nano /etc/apache2/ports.conf
יש לשנות את LISTEN=443 ל-
LISTEN 8443
יש לשמור את השינוי (ע"י לחיצה על צירוף CNTRL + X ואישור עם לחיצה על Y)
6) יש לערוך את קובץ הגדרת ה-VIRTUAL PORT של האתר :
vi /etc/apache2/sites-enabled/default-ssl
יש לשנות את מספר הפורט של ה-VIRTUAL HOST מ- ל-
8443>
7) יש להפעיל מחדש את APACHE ואת SSLH ע"י הפקודות הבאות :
/etc/init.d/apache2 restart
/etc/init.d/sslh start
יש לשמור את השינוי (ע"י לחיצה על צירוף CNTRL + X ואישור עם לחיצה על Y)
זהו, ניתן לבדוק ע"י שתי פעולות פשוטות : גלישה לאתר ב-HTTPS ופתיחת SESSION של SSH בפורט 443.

תוספת לוגים :

יש לנו פתרון נהדר וניתן לגשת באותו פורט גם לאתר HTTPS וגם לשירות SSH, אבל איך ניתן להתמודד עם נושא הלוגים ?
איך נדע מי ניגש ואיפה ?
קל מאוד להתגבר על הסוגיה כי SSLH מפעיל יכולות לוגים דרך SYSLOG ולכן ניתן לייצר פילטר פשוט לקריאה.
יש להפעיל את הפקודות הבאות ב-SSH :

echo "# sslh log file" >> /etc/rsyslog.conf
echo -e ":programname, isequal, \"sslh\"\t\t /var/log/sslh.log" >> /etc/rsyslog.conf
מפעילים מחדש את SYSLOG ע"י הפקודה :
service rsyslog restart
לאחר מכן, ניתן לזהות בלוגים את הפעולות שבוצעו ע"י הפקודה הבאה :
tail /var/log/sslh.log

ונקבל את הלוג המאוד נעים לקריאה :

root@linux1:/home/user1# tail /var/log/sslh.log
Jul 6 18:08:24 linux1 sslh[2326]: connection from 192.168.30.1:4408 forwarded to SSL
Jul 6 18:08:34 linux1 sslh[2326]: connection from 192.168.30.1:4409 forwarded to SSH

לסיכום :

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

התקנת Pico למערכות מבוססות Rh

תתחברו לSSH כROOT

ואז
cd /
mkdir download
cd download
wget ftp://rpmfind.net/linux/redhat/9/en/…44-18.i386.rpm
rpm -Uvh pine-4.44-18.i386.rpm

זהו

מדריך | פתיחת יוזר ב ssh מוגבל

פתיחת יוזר משתמש שהיה מוגבל ולא יכול להסתובב בכל השרת ולחזור אחורה לתיקיות הראשיות בשרת

useradd -mk /home/username

במקום username תרשום את השם של היוזר שאתה רוצה.
ככה התיקייה הראשית של היוזר תהיה התיקייה שלו בלבד ולא יוכל לחזור אחורה ולראות את שאר היוזרים

מדריך | פקודות בסיסיות בלינוקס Linux

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

מדריך | הודעת פתיחה בהתחברות לroot ssh

שלום לכולם,
במדריך הזה אני אסביר לכם איך להשים הודעת פתיחה כאשר משתמש התחבר ל SSH. זה יכול להיות שימושי
רמה: מתחילים
שלב ראשון: התחבר לשרת כ ROOT, ורשום

קוד:
pico /etc/motd

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

קוד:
Any illegal services run by user or attempts to take down this server or its services will be reported to local law enforcement, and said user will be punished to the full extent of the law

*להזהיר קצת את המשתמשים אבל תמיד אפשר לעשות הודעה שמחה שאומרת שלום ושהשרת מאוחסן על ידי X
שלב שלישי: נשמור את הקובץ, CTRL+X ואז נלחץ Y ואז אנטר.
זהו, התנתקו מהROOT והתחברו מחדש ותקבלו את ההודעת פתיחה שלכם
מדריך קצר ושימושי,

מדריך | ביטול גישת ה ssh

לבטל את הssh למשתמש מסויים, אבל שיהיה לו גישה proftpd
קוד:
echo "/usr/bin/false" >> /etc/shells
usermod -s /usr/bin/false <login>

זה יוריד לו את הגישה ל SSH אבל יאפשר לו להתחבר לFTP.

אם אתה רוצה להתחבר לחשבון שלו בקופסא, ניתן לרשום

קוד:
sudo su -s /bin/bash <login>

מדריך | שינוי פורט ה SSH

שלום,

אז מדריך קצר שיסביר איך לשנות את הפורט של חיבור ה SSH (בד"כ 22),
מדריך פשוט מאוד אבל שיכול להועיל באבטחת השרת.

שלב ראשון: נפתח את הקובץ SSHD_CONFIG

קוד:
pico /etc/ssh/sshd_config

(או בעזרת NANO או בעזרת VI)

שלב שני: נחפש בקובץ את השורה "Port 22" ונחליף את המספר לפורט שנרצה (יש לשים לב שהפורט פנוי ולא תפוס על ידי משהו אחר כמו 80, 8080, 3306 וכו')

שלב שלישי: נשמור את הקובץ ונבצע ריסטרט ל SSH (כמובן שהדבר ינתק אותנו מהחיבור ואז נצטרך להתחבר מחדש).

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

*פורט 22 הוא פורט ברירת המחדל ב OPENSSH בשרתי לינוקס ויכול להיות שהפורט יהיה שונה אצלכם.