Tag Archives: linux

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)

CentOS 5.7 Upgrade PHP 5.1 to 5.3

CentOS 5.7 Upgrade PHP 5.1 to 5.3

The MediaCP requires PHP 5.2 or higher to operate, with CentOS 5.7 the default installed PHP package is PHP 5.1.

 

You will need to upgrade your version of php before installing our product.

 

–Please note this applies to LAMPP (Linux, Apache, MySQL & PHP) installations only —
If you are using cPanel or another web hosting control panel, you will need to consult appropriate documentation to upgrade.

 

  1. Remove current PHP package:
    # yum remove php php-common
  2. Install php53 packages
    # yum install php53 php53-mysql php53-gd php53-curl

  3. Restart apache for changes to take affect.
    # /etc/init.d/httpd restart
  4. You can check this worked by typing in:
    # php -v

    This should return something like:
    PHP 5.3.3 (cli) (built: Dec 10 2013 22:12:52)
    Copyright (c) 1997-2010 The PHP Group
    Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

מדריך לבעיות האזנה וצפיה בשידורי אינטרנט

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

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

  • לחץ על קובץ המדיה לבדיקת תקינות מערכת השמע במחשב:

שלב 2: נגן מדיה
וודא כי מותקנת גירסה תקינה ועדכנית של נגן מדיה.
לבעלי מערכת הפעלה Windows אנו ממליצים להתקין את Windows Media Player

בנוסף יש לוודא כי מותקנת גירסה עדכנית של הפלאג-אין Adobe Flash.
לבדיקת גירסה הפלאש המותקנת במחשב לחץ כאן.

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

  • חיבור איטי או לא רציף עלול לגרום לשיבושים ולקטיעות בשידור הרדיו.
  • תוכנות firewall עלולות לחסום גישה לשידור תחנות רדיו מסוימות.
  • מחשבים המחוברים דרך נתב בבית או במשרד עלולים לחסום גישה לשידור תחנות רדיו מסוימות.

מדריך | לפתיחת שרת משחק America's Army 2.8.4 ל Linux

מדריך לפתיחת שרת משחק America's Army 2.8.4 ל Linux
דבר ראשון יש לתחבר ל FTP ו ל SSH

טוב נתחיל דבר ראשון יש לעשות יש להוריד תקבצים בפקודה הבאה

קוד:
wget http://www.blacksunonline.de/download/files/aa.2.8.4.0.tgz

30 דקות לא יותר להורדה שזה גמר

יש לעשות תפקודה

קוד:
tar -xvf aa.2.8.4.0.tgz

יש לכנס ל FTP
ביוזר לעשות תשם יוזר שלכם

לפה

קוד:
/name/aa.2.8.4.0/System/

יש לערוך תקובץ server.ini

להגדיר שם שרת לחפש כול דבר שרשמתי למטה כול מה שרשמתי חובה למלה אחרת השרת לא יעבוד לכם טוב כמו שאתם רוצים.

[Engine.AccessControl]

Setting: Description:
AdminPassword= Password used to connect to the server as an administrator.
GamePassword= Password required to join the server. This is useful for "locking" the server so that only players who know the password can join. Leave blank to allow anyone to join the server.
PlayerAdmin= Enter the usernames of the players who should have admin abilities while playing on the server. Add more PlayerAdmin= lines if necessary.

[Engine.GameReplicationInfo]

Setting: Description:
ServerName= The name for your server. This name will appear in the game browser and at the top of your server when players are logged in.
ShortServerName= A shorter name for your server.
AdminName= The Administrator's name.
AdminEmail= The e-mail address of the administrator.

[Engine.AccessControl]

Setting: Description:
AdminPassword= Password used to connect to the server as an administrator.
GamePassword= Password required to join the server. This is useful for "locking" the server so that only players who know the password can join. Leave blank to allow anyone to join the server.
PlayerAdmin= Enter the usernames of the players who should have admin abilities while playing on the server. Add more PlayerAdmin= lines if necessary.

עכשיו יש להריץ את השרת בפקודה הבאה

קוד:
./server-bin global Urban_Assault.aao -nohomedir ini=server.ini log=server.log &

השרת יעבוד לכם על הפורט אזה

האיפי שלכם
xxx.xxx.xxx.xxx:1716

מה שנשאר לכם לעשות עכשיו זה פשוט לשחק ולהנות.

פקודות שרת Linux

mkdir – make directories

Usage

mkdir [OPTION] DIRECTORY

Options

Create the DIRECTORY(ies), if they do not already exist.

 Mandatory arguments to long options are mandatory for short options too.

 -m, mode=MODE  set permission mode (as in chmod), not rwxrwxrwx – umask

 -p, parents  no error if existing, make parent directories as needed

 -v, verbose  print a message for each created directory

 -help display this help and exit

 -version output version information and exit

cd – change directories

Use cd to change directories. Type cd followed by the name of a directory to access that directory.Keep in mind that you are always in a directory and can navigate to directories hierarchically above or below.

mv- change the name of a directory

Type mv followed by the current name of a directory and the new name of the directory.
Ex: mv testdir newnamedir

pwd – print working directory

will show you the full path to the directory you are currently in. This is very handy to use, especially when performing some of the other commands on this page.

rmdir – Remove an existing directory

 rm -r

Removes directories and files within the directories recursively.

chown – change file owner and group

Usage

chown [OPTION] OWNER[:[GROUP]] FILE

chown [OPTION] :GROUP FILE

chown [OPTION] –reference=RFILE FILE

Options

Change the owner and/or group of each FILE to OWNER and/or GROUP. With –reference, change the owner and group of each FILE to those of RFILE.

 -c, changes like verbose but report only when a change is made

 -dereference affect the referent of each symbolic link, rather than the symbolic link itself

 -h, no-dereference affect each symbolic link instead of any referenced file (useful only on systems that can change the ownership of a symlink)

 -from=CURRENT_OWNER:CURRENT_GROUP

  change the owner and/or group of each file only if its current owner and/or group match those specified here.  Either  may  be  omitted,  in which case a match is not required for the omitted attribute.

-no-preserve-root do not treat `/' specially (the default)

-preserve-root fail to operate recursively on `/'

-f, -silent, -quiet  suppress most error messages

-reference=RFILE use RFILE's owner and group rather than the specifying OWNER:GROUP values

-R, -recursive operate on files and directories recursively

-v, -verbose output a diagnostic for every file processed

The  following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one  takes effect.

-H     if a command line argument is a symbolic link to a directory, traverse it

-L     traverse every symbolic link to a directory encountered

-P     do not traverse any symbolic links (default)

chmod – change file access permissions

Usage

chmod [-r] permissions filenames

 r  Change the permission on files that are in the subdirectories of the directory that you are currently in.        permission  Specifies the rights that are being granted. Below is the different rights that you can grant in an alpha  numeric format.filenames  File or directory that you are associating the rights with Permissions

u – User who owns the file.

g – Group that owns the file.

o – Other.

a – All.

r – Read the file.

w – Write or edit the file.

x – Execute or run the file as a program.

Numeric Permissions:

CHMOD can also to attributed by using Numeric Permissions:

400 read by owner

040 read by group

004 read by anybody (other)

200 write by owner

020 write by group

002 write by anybody

100 execute by owner

010 execute by group

001 execute by anybody

ls – Short listing of directory contents

-a        list hidden files

-d        list the name of the current directory

-F        show directories with a trailing '/'

            executable files with a trailing '*'

-g        show group ownership of file in long listing

-i        print the inode number of each file

-l        long listing giving details about files  and directories

-R        list all subdirectories encountered

-t        sort by time modified instead of name

cp – Copy files

cp  myfile yourfile

Copy the files "myfile" to the file "yourfile" in the current working directory. This command will create the file "yourfile" if it doesn't exist. It will normally overwrite it without warning if it exists.

cp -i myfile yourfile

With the "-i" option, if the file "yourfile" exists, you will be prompted before it is overwritten.

cp -i /data/myfile

Copy the file "/data/myfile" to the current working directory and name it "myfile". Prompt before overwriting the  file.

cp -dpr srcdir destdir

Copy all files from the directory "srcdir" to the directory "destdir" preserving links (-poption), file attributes (-p option), and copy recursively (-r option). With these options, a directory and all it contents can be copied to another dir.

ln – Creates a symbolic link to a file.

ln -s test symlink

Creates a symbolic link named symlink that points to the file test Typing "ls -i test symlink" will show the two files are different with different inodes. Typing "ls -l test symlink" will show that symlink points to the file test.

locate – A fast database driven file locator.

slocate -u

This command builds the slocate database. It will take several minutes to complete this command.This command must be used before searching for files, however cron runs this command periodically  on most systems.locate whereis Lists all files whose names contain the string "whereis". directory.

more – Allows file contents or piped output to be sent to the screen one page at a time.

less – Opposite of the more command.

cat – Sends file contents to standard output. This is a way to list the contents of short files to the screen. It works well with piping.

whereis – Report all known instances of a command.

wc – Print byte, word, and line counts

bg

bg jobs Places the current job (or, by using the alternative form, the specified jobs) in the background, suspending its execution so that a new user prompt appears immediately. Use the jobs command to discover the identities of background jobs.

cal month year – Prints a calendar for the specified month of the specified year.

cat files – Prints the contents of the specified files.

clear – Clears the terminal screen.

cmp file1 file2 – Compares two files, reporting all discrepancies. Similar to the diff command, though the output format differs.

diff file1 file2 – Compares two files, reporting all discrepancies. Similar to the cmp command, though the output format differs.

dmesg – Prints the messages resulting from the most recent system boot.

fg

fg jobs – Brings the current job (or the specified jobs) to the foreground.

file files – Determines and prints a description of the type of each specified file.

find path -name pattern -print

Searches the specified path for files with names matching the specified pattern (usually enclosed in single quotes) and prints their names. The find command has many other arguments and functions; see the online documentation.

finger users – Prints descriptions of the specified users.

free  – Displays the amount of used and free system memory.

ftp hostname

Opens an FTP connection to the specified host, allowing files to be transferred. The FTP program provides subcommands for accomplishing file transfers; see the online documentation.

head files – Prints the first several lines of each specified file.

ispell files – Checks the spelling of the contents of the specified files.

kill process_ids

kill – signal process_ids

kill -l

Kills the specified processes, sends the specified processes the specified signal (given as a number or name), or prints a list of available signals.

killall program

killall – signal program

Kills all processes that are instances of the specified program or sends the specified signal to all processes that are instances of the specified program.

mail – Launches a simple mail client that permits sending and receiving email messages.

man title

man section title – Prints the specified man page.

ping host – Sends an echo request via TCP/IP to the specified host. A response confirms that the host is operational.

passwd – Change root password.

reboot – Reboots the system (requires root privileges).

shutdown minutes

shutdown -r minutes

Shuts down the system after the specified number of minutes elapses (requires root privileges). The -r option causes the system to be rebooted once it has shut down.

sleep time – Causes the command interpreter to pause for the specified number of seconds.

sort files – Sorts the specified files. The command has many useful arguments; see the online documentation.

split file – Splits a file into several smaller files. The command has many arguments; see the online documentation.

sync – Completes all pending input/output operations (requires root privileges).

telnet host – Opens a login session on the specified host.

top – Prints a display of system processes that's continually updated until the user presses the q key.

traceroute host – Uses echo requests to determine and print a network path to the host.

uptime – Prints the system uptime.

w – Prints the current system users.

wall – Prints a message to each user except those who've disabled message reception. Type Ctrl-D to end the message.

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

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