Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

SSH Tipps+Tricks Server: Apache, Mail, Samba Franz Schäfer LV Linux: Effiziente Anwendung an Hand von Fallbeispielen.

Ähnliche Präsentationen


Präsentation zum Thema: "SSH Tipps+Tricks Server: Apache, Mail, Samba Franz Schäfer LV Linux: Effiziente Anwendung an Hand von Fallbeispielen."—  Präsentation transkript:

1 SSH Tipps+Tricks Server: Apache, Mail, Samba Franz Schäfer LV Linux: Effiziente Anwendung an Hand von Fallbeispielen

2 Franz Schäfer ● Sysadmin @ ZID ● ISP (akis, silverserver,...) ● Nachtrichtentechnik, Regelungstechnik, Computertechnik ● Linux User seit 1995 (kernel 1.1.18)

3 Themenübersicht ● Advanced SSH ● Apache Webserver ● Mailserver Grundlagen

4 Wozu SSH? ● für – terminal verbindung – file transfer – remote execution, automatisierung ● verschlüsselte verbindung – sichert nicht vor: ● kompromitierten eigenen hosts ● kompromitierten fremden hosts

5 Übersicht SSH ● Implementierungen – openssh – putty –... ● remote einloggen mit ssh – mit passwort – mit kerberos ticket – mit RSA/DSA key

6 password login mit ssh # ssh h7788999@login.wu-wien.ac.at The authenticity of host 'login.wu- wien.ac.at (137.208.3.70)' can't be established. RSA key fingerprint is a2:61:d0:f8:1a:13:f7:71:51:26:b8:c2:5f:6 f:00:97. Are you sure you want to continue connecting (yes/no)?

7 ssh mit kerberos # kinit h7788999 # ssh -K h7788999@pecuchet... -K.... Enables forwarding (delegation) of GSSAPI credentials to the server.

8 man in the middle ssh irgendwohin @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the- middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is 90:9c:46:ab:03:1d:30:2c:5c:87:c5:c7:d9:13:5d:7

9 scp – secure copy # echo bla >bla.txt # scp bla.txt h7788999@login # scp jemand@irgendwo.at:bla. # scp -r diplomarbeit/ h7788999@login:

10 ssh configuration ●.ssh/config Host wu HostName pecuchet.wu-wien.ac.at User h7788999 ●.ssh/known_hosts ●.ssh/authorized_keys ● Sitewide: – /etc/ssh/ssh_config – /etc/ssh/sshd_config

11 einlogen mit RSA/DSA key # ssh-keygen (eventuell -f) normalerweise mit passphrase # scp.ssh/id_rsa.pub wu: # cat id_rsa.pub >>.ssh/authorized_keys # ssh -i andererschluessel h778899@wu alternativ: # ssh-copy-id -i.ssh/id_rsa.pub wu

12 remote execution ssh user@wu “ls -l /tmp” echo didldoe | ssh \ user@wu “cat -> bla.txt” ssh user@wu “ls -l /tmp” | grep bla nützlich für scripts zum automatisieren von abläufen

13 Remote Ausführung einschränken ● im.ssh/authorized_keys from="137.208.77.7",no-pty,no-port- forwarding,command="/root/bla.sh" ssh-dss AAAUH7T9Y....

14 X11 forwarding # ssh -X user@woanders # echo $DISPLAY # localhost:10.0 # xterm & # xauth list Achtung: Remote Angreifer bekommt zugriff aufs lokale display

15 ssh agent ssh-agent kann zugriff auf passphrase cachen # ssh-agent xterm & # ssh-add.... passphrase

16 ssh port forwarding # ssh \ -L 3333:proxy.wu-wien.ac.at:8080 \ h778899@login ● von lokal erlauben den wu proxy auf localhost port 3333 zu verwenden (optional: -g ) # ssh -R 4567:localhost:80 \ h778899@login ● zugriff auf den lokaeln webserver von remote host aus erlauben (default: nur von da)

17 ssh socks proxy # ssh -D 9999 h7788999@login ● socks proxy ● z.B.: via browser verwendbar

18 sftp://user@host URL in KDE und GNOME

19 Zusammenfassung SSH ● SSH – mit passwort – mit kerberos – mit RSA Keys – scp – konfiguration – remote kommandos – keys einschränken – X11 Forwarding – port forwarding – agent – eingebauter Socks-Proxy – sftp in KDE/GNOME

20 Apache Webserver ● Marktanteil ca 50% (Nov 2007) ● Vergleich IIS ca 35%

21 Zugriff auf Webserver # telnet www.wu-wien.ac.at 80 GET / # telnet www.wu-wien.ac.at 80 HEAD / HTTP/1.1 HTTP/1.1 400 Bad Request Date: Wed, 05 Dec 2007 12:38:35 GMT Server: Apache Connection: close Content-Type: text/html; charset=iso-8859-1 # wget -S http://www.wu-wien.ac.at

22 Apache Installieren, Start/Stop # apt-get install apache oder # apt-get install apache2 # apachectl configtest # apache2ctl configtest # apachectl restart # /etc/init.d/apache2 restart

23 Apache Configuration ● /etc/apache2/httpd.conf ● /etc/apache/httpd.conf ● manches auch in.htaccess ● weitere files via Include /etc/apache2/bla/*.conf

24 Apacheconfig Bereiche ● Sitewide – z.B.: Listen 80 – DocumentRoot /var/meinwww/ ● VirtualHost ● Directory ● Location

25 Excurs: Einfaches HTML ● z.B.: index.html test überschrift test fett

26 VirtualHost Name/IP-Based ServerAdmin webmaster@meinserver.at DocumentRoot /var/www/meinserver/ ServerName www.meinserver.at ServerALias meinserver.at php_flag register_globals 0 RedirectPermanent /w/ http://wuw.at/bla/

27 Beispiel: Directory AllowOverride AuthConfig Options +ExecCGI -Indexes Addhandler cgi-script.cgi ScriptAlias /cgi/ /var/www/scripts/

28 Beispiel Location SetHandler server-status Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from 123.45.67.89

29 Apache SSL (https://) SSLEngine on SSLCertificateFile /etc/cert/mein.crt SSLCertificateKeyFile /etc/cert/mein.key ServerName meinserver.at DocumentRoot /var/www-secure Keys mit openssl erzeugen Problem mit name-based VirtualHosts

30 Einschub: Keys mit openssl # openssl req -new -nodes \ -newkey rsa:1024 -keyout mein.key \ -out mein.csr # openssl x509 -req -in mein.csr \ - signkey mein.key -out mein.crt \ - days 365 ● zur kontrolle: # openssl rsa -in mein.key -text # openssl req -in mein.csr -text # openssl x509 -in mein.crt -text

31 Offizielle Zetrifizierung ● Verisign, Thawte, & Co... ● SureServerEDU TLS ● Kostenlose Peer2Peer Zertifizierung: www.cacert.org

32 Einfaches CGI script ● im file: test.cgi #!/bin/bash echo Content-type: text/plain echo echo ich bin: id echo datum ist: date

33 Ein einfaches PHP script

34 Sicherheit 1.) Updaten 2.) Oft Updaten 3.) Regelmäßig Updaten 4.) Achtung bei Scripts 5.) Achtung bei PHP Scripts! 6.) Forum/CMS/Fertigpackte: Updaten!

35 Beispiel PHP Insecurity ● http://www.devshed.com/c/a/PHP /PHP-Security-Mistakes/ include('vorlagen/'. $template) ● $template – aus formular? – aus cookie? ● $template=“../../../../etc/passwd“

36 Beispiel SQL Injection ● $res= mysql_query( 'SELECT * FROM bla WHERE id="'. $_GET['id']. '"'); ● möglicher Inhalt von 'id': ● "; DELETE FROM bla != "dfssdf ● "; DROP DATABASE meinforum;

37 Zusammenfassung Apache – webzugriff per telnet GET / – apache start stop, configtest – wichtige config files – Gültigkeits- bereiche der Direktiven – einfches HTML – Name vs. IP Based VirtualHosts – Directory – Location – https, openssl, Zertifizierung – cgi, php, und Sicherheit

38 Mail Server Grundlagen ● Transport via SMTP: Store and Forward ● Abfrage von Mailboxen: – lokal: /var/spool/mail – POP3 – IMAP ● Hauptproblem: SPAM

39 Übersicht: MTA ● sendmail: alt aber gut ● exim: klein aber fein ● postfix: der herausforderer ● qmail: hauptsache anders

40 Eine Verbindung mit einem Mailserver # telnet mx1.wu-wien.ac.at 25 220 mx1.wu-wien.ac.at ESMT.. helo. mail from: fs@mond.at rcpt to: mond@wu-wien.ac.at data bla. quit

41 IMAP Server ● courier – für mittlere installationen – maildir format ● cyrus – für große installationen ● uw-imapd – standard mbox

42 Commandline Mail # echo test | \ mutt -s test xx@mond.at # mutt -f imaps://h7788999@sslmail.wu-wien.ac.at

43 sendmail config Übersicht ● im Directory /etc/mail/ ● in sendmail. mc (o.ä) ● file editieren # make # make restart

44 nützliches für.mc file (m4) MASQUERADE_AS(`blabla.at')dnl FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl FEATURE(`genericstable', `hash -o /etc/mail/genericstable.db')dnl FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl FEATURE(access_db)dnl define(`SMART_HOST', `smtp.wu- wien.ac.at')

45 Samba Linux Server für Windows Netze ● apt-get install samba ● datei: /etc/samba/smb.conf /etc/init.d/samba restart [musik] comment = meine mp3sammlung als share writable = no locking = no path = /extraplatte/mp3/ public = yes hosts allow = 192.186.0.0/255.255.0.0

46 Zusammenfassung ● Advanced SSH ● Apache Grundlagen ● Mail Server Übersicht ● Einblick in Samba


Herunterladen ppt "SSH Tipps+Tricks Server: Apache, Mail, Samba Franz Schäfer LV Linux: Effiziente Anwendung an Hand von Fallbeispielen."

Ähnliche Präsentationen


Google-Anzeigen