SUSE 9.3 Webserver & SSL

Dieses Thema: "SUSE 9.3 Webserver & SSL" im Forum "Web- & File-Services" wurde erstellt von PhoenixDH, 29.08.2005.

  1. #1 PhoenixDH, 29.08.2005
    PhoenixDH

    PhoenixDH NOOB

    Dabei seit:
    26.08.2005
    Beiträge:
    93
    Zustimmungen:
    0
    Möchte meinen Webserver per SSL Verschlüsseln !
    Jetzt hab ich mir mit:
    Code:
    openssl genrsa -out server.key -des3 1024
    
    einen privaten Schlüssel erzeugt, welcher in /etc/apache2/ssl.key liegt !

    Des weiteren das Zertifikat mit
    Code:
    openssl req -new -key server.key -out server.csr
    
    welches in /etc/apache2/ssl.csr liegt !

    In meiner httpd.conf habe ich gelesen, das die ssl-global.conf meine Konfigurationsdatei für SSL ist, jedoch hab ich keinen blassen Schimmer was da eintragen !

    Aber zunächst mal die Frage, stimmt das so mit dem Schlüssepaar ?
     
  2. Anzeige

    schau mal hier --> (hier klicken). Viele Antworten inkl. passender Shell-Befehle!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 PhoenixDH, 29.08.2005
    PhoenixDH

    PhoenixDH NOOB

    Dabei seit:
    26.08.2005
    Beiträge:
    93
    Zustimmungen:
    0
    So, hab nun ein paar Infos mehr gesammelt:

    Habe in der listen.conf noch
    Code:
    Listen 443
    
    eingefügt !

    Ebenso hab ich mir in /etc/apache2/vhosts.d/ eine Datei namens sssl.conf erstellt mit folgendem Inhalt:
    Code:
    <IfDefine SSL>
    <IfDefine !NOSSL>
    
    ##
    ## SSL Virtual Host Context
    ##
    
    <VirtualHost _default_:443>
    
    	#  General setup for the virtual host
    	DocumentRoot "/srv/www/htdocs"
    	ServerName 127.0.0.1:443
    	#ServerAdmin webmaster@example.com
    	ErrorLog /var/log/apache2/error_log
    	TransferLog /var/log/apache2/access_log
    
    	#   SSL Engine Switch:
    	#   Enable/Disable SSL for this virtual host.
    	SSLEngine on
    
    	#   SSL Cipher Suite:
    	#   List the ciphers that the client is permitted to negotiate.
    	#   See the mod_ssl documentation for a complete list.
    	SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    
    	#   Server Certificate:
    	#   Point SSLCertificateFile at a PEM encoded certificate.  If
    	#   the certificate is encrypted, then you will be prompted for a
    	#   pass phrase.  Note that a kill -HUP will prompt again.  Keep
    	#   in mind that if you have both an RSA and a DSA certificate you
    	#   can configure both in parallel (to also allow the use of DSA
    	#   ciphers, etc.)
    	SSLCertificateFile /etc/apache2/ssl.crt/server.crt
    	#SSLCertificateFile /etc/apache2/ssl.crt/server-dsa.crt
    
    	#   Server Private Key:
    	#   If the key is not combined with the certificate, use this
    	#   directive to point at the key file.  Keep in mind that if
    	#   you've both a RSA and a DSA private key you can configure
    	#   both in parallel (to also allow the use of DSA ciphers, etc.)
    	SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
    	#SSLCertificateKeyFile /etc/apache2/ssl.key/server-dsa.key
    
    	#   Server Certificate Chain:
    	#   Point SSLCertificateChainFile at a file containing the
    	#   concatenation of PEM encoded CA certificates which form the
    	#   certificate chain for the server certificate. Alternatively
    	#   the referenced file can be the same as SSLCertificateFile
    	#   when the CA certificates are directly appended to the server
    	#   certificate for convinience.
    	#SSLCertificateChainFile /etc/apache2/ssl.crt/ca.crt
    
    	#   Certificate Authority (CA):
    	#   Set the CA certificate verification path where to find CA
    	#   certificates for client authentication or alternatively one
    	#   huge file containing all of them (file must be PEM encoded)
    	#   Note: Inside SSLCACertificatePath you need hash symlinks
    	#         to point to the certificate files. Use the provided
    	#         Makefile to update the hash symlinks after changes.
    	#SSLCACertificatePath /etc/apache2/ssl.crt
    	#SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt
    
    	#   Certificate Revocation Lists (CRL):
    	#   Set the CA revocation path where to find CA CRLs for client
    	#   authentication or alternatively one huge file containing all
    	#   of them (file must be PEM encoded)
    	#   Note: Inside SSLCARevocationPath you need hash symlinks
    	#         to point to the certificate files. Use the provided
    	#         Makefile to update the hash symlinks after changes.
    	#SSLCARevocationPath /etc/apache2/ssl.crl
    	#SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl
    
    	#   Client Authentication (Type):
    	#   Client certificate verification type and depth.  Types are
    	#   none, optional, require and optional_no_ca.  Depth is a
    	#   number which specifies how deeply to verify the certificate
    	#   issuer chain before deciding the certificate is not valid.
    	#SSLVerifyClient require
    	#SSLVerifyDepth  10
    
    	#   Access Control:
    	#   With SSLRequire you can do per-directory access control based
    	#   on arbitrary complex boolean expressions containing server
    	#   variable checks and other lookup directives.  The syntax is a
    	#   mixture between C and Perl.  See the mod_ssl documentation
    	#   for more details.
    	#<Location />
    	#SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
    	#            and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
    	#            and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
    	#            and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
    	#            and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20       ) \
    	#           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
    	#</Location>
    
    	#   SSL Engine Options:
    	#   Set various options for the SSL engine.
    	#   o FakeBasicAuth:
    	#     Translate the client X.509 into a Basic Authorisation.  This means that
    	#     the standard Auth/DBMAuth methods can be used for access control.  The
    	#     user name is the `one line' version of the client's X.509 certificate.
    	#     Note that no password is obtained from the user. Every entry in the user
    	#     file needs this password: `xxj31ZMTZzkVA'.
    	#   o ExportCertData:
    	#     This exports two additional environment variables: SSL_CLIENT_CERT and
    	#     SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
    	#     server (always existing) and the client (only existing when client
    	#     authentication is used). This can be used to import the certificates
    	#     into CGI scripts.
    	#   o StdEnvVars:
    	#     This exports the standard SSL/TLS related `SSL_*' environment variables.
    	#     Per default this exportation is switched off for performance reasons,
    	#     because the extraction step is an expensive operation and is usually
    	#     useless for serving static content. So one usually enables the
    	#     exportation for CGI and SSI requests only.
    	#   o CompatEnvVars:
    	#     This exports obsolete environment variables for backward compatibility
    	#     to Apache-SSL 1.x, mod_ssl 2.0.x, Sioux 1.0 and Stronghold 2.x. Use this
    	#     to provide compatibility to existing CGI scripts.
    	#   o StrictRequire:
    	#     This denies access when "SSLRequireSSL" or "SSLRequire" applied even
    	#     under a "Satisfy any" situation, i.e. when it applies access is denied
    	#     and no other module can change it.
    	#   o OptRenegotiate:
    	#     This enables optimized SSL connection renegotiation handling when SSL
    	#     directives are used in per-directory context. 
    	#SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire
    	<Files ~ "\.(cgi|shtml|phtml|php3?)$">
    	    SSLOptions +StdEnvVars
    	</Files>
    	<Directory "/srv/www/cgi-bin">
    	    SSLOptions +StdEnvVars
    	</Directory>
    
    	#   SSL Protocol Adjustments:
    	#   The safe and default but still SSL/TLS standard compliant shutdown
    	#   approach is that mod_ssl sends the close notify alert but doesn't wait for
    	#   the close notify alert from client. When you need a different shutdown
    	#   approach you can use one of the following variables:
    	#   o ssl-unclean-shutdown:
    	#     This forces an unclean shutdown when the connection is closed, i.e. no
    	#     SSL close notify alert is send or allowed to received.  This violates
    	#     the SSL/TLS standard but is needed for some brain-dead browsers. Use
    	#     this when you receive I/O errors because of the standard approach where
    	#     mod_ssl sends the close notify alert.
    	#   o ssl-accurate-shutdown:
    	#     This forces an accurate shutdown when the connection is closed, i.e. a
    	#     SSL close notify alert is send and mod_ssl waits for the close notify
    	#     alert of the client. This is 100% SSL/TLS standard compliant, but in
    	#     practice often causes hanging connections with brain-dead browsers. Use
    	#     this only for browsers where you know that their SSL implementation
    	#     works correctly. 
    	#   Notice: Most problems of broken clients are also related to the HTTP
    	#   keep-alive facility, so you usually additionally want to disable
    	#   keep-alive for those clients, too. Use variable "nokeepalive" for this.
    	#   Similarly, one has to force some clients to use HTTP/1.0 to workaround
    	#   their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
    	#   "force-response-1.0" for this.
    	SetEnvIf User-Agent ".*MSIE.*" \
    		 nokeepalive ssl-unclean-shutdown \
    		 downgrade-1.0 force-response-1.0
    
    	#   Per-Server Logging:
    	#   The home of a custom SSL log file. Use this when you want a
    	#   compact non-error SSL logfile on a virtual host basis.
    	CustomLog /var/log/apache2/ssl_request_log   ssl_combined
    
    </VirtualHost>                                  
    
    </IfDefine>
    </IfDefine>
    
    aber irgendwie kommt wenn ich https://127.0.0.1/index.shtml aufrufen möchte nur die Meldung:
    Code:
    Beim Laden von https://127.0.0.1/index.shtml ist folgender Fehler aufgetreten:
    Keine Verbindung zu Rechner 127.0.0.1.
    
    Also denke ich mir ist ssl nicht aktiviert oder ?
     
  4. khs

    khs Routinier

    Dabei seit:
    19.08.2004
    Beiträge:
    408
    Zustimmungen:
    0
    Das muesste sich anhand der Logdateien nachvollziehen lassen.
    Hast du den Apatschen neu gestartet, nachdem du die Modifikationen gemacht hast? Wie startest du ihn? Aktiviert das Start-Skript ssl automatisch? Bei apachectl gibt es die Option sslstart.
    Was passiert bei "telnet localhost 443"?
    Wenn das noch nicht zielfuehrend war, stell die Logdateien des SSL-Virtualhosts mal auf separate Dateien, damit das das besser trennen kannst.
    Und, deshalb hab ich die Option oben gequotet: versuchs mal ohne die. ServerName is immer so ne Sache, blick da auch manchmal nicht mehr ganz durch. Bei nur einem VirtualHost gehts aber auch ohne.

    -khs
     
  5. #4 PhoenixDH, 29.08.2005
    Zuletzt bearbeitet: 29.08.2005
    PhoenixDH

    PhoenixDH NOOB

    Dabei seit:
    26.08.2005
    Beiträge:
    93
    Zustimmungen:
    0
    Also ich hahb schon mehrere Neustarts gemacht nachdem ich was geändert habe !

    Also bei sslstart kommt command unknown !

    Wo sehe ich ob ssl gestartet ist ? Bzw. wie kann ich es noch per Hand starten, es handelt sich um openssl !

    Bei nem telnet passiert folgendes:
    Code:
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>401 Authorization Required</title>
    </head><body>
    <h1>Authorization Required</h1>
    <p>This server could not verify that you
    are authorized to access the document
    requested.  Either you supplied the wrong
    credentials (e.g., bad password), or your
    browser doesn't understand how to supply
    the credentials required.</p>
    <p>Additionally, a 401 Authorization Required
    error was encountered while trying to use an ErrorDocument to handle the request.</p>
    <hr>
    <address>Apache/2.0.53 (Linux/SUSE) Server at fire Port 80</address>
    </body></html>
    Connection closed by foreign host.
    
    Hab den versucht mit Hand zu starten, dann kam auch keine Fehlermeldung, hab nen Befehl gefunden ! Auch wenn ich die confic Files checken lasse, sagt er Syntax OK !

    Aber wenn ich mir die compilierten Module anzeigen lasswe habe ich nur folgende, aber ssl fehlt !
    Code:
    Compiled in modules:
      core.c
      prefork.c
      http_core.c
      mod_so.c
    
    Wie bekomme ich das da rein ?
     
  6. #5 damager, 29.08.2005
    Zuletzt bearbeitet: 29.08.2005
    damager

    damager Moderator

    Dabei seit:
    27.08.2003
    Beiträge:
    3.065
    Zustimmungen:
    0
    Ort:
    Munich
    mod_ssl.so ist ein dynamisch ladbares apache-modul.
    diese kann mit der anweisung:
    LoadModule ssl_module modules/mod_ssl.so
    in der konfiguration mitgeladen werden beim neustart des apaches.
    dieser ist die grundvorausetzung um ssl damit machen zu können.

    aber deine telnet-ausgabe, sollte dir wirklich auf port 443 gehen, zeigt das ssl schon läuft. :think:
     
  7. #6 PhoenixDH, 30.08.2005
    PhoenixDH

    PhoenixDH NOOB

    Dabei seit:
    26.08.2005
    Beiträge:
    93
    Zustimmungen:
    0
    An was könnte das dann liegen das ich mit dem Browser keine Verbindung bekomme ?
     
  8. #7 damager, 30.08.2005
    damager

    damager Moderator

    Dabei seit:
    27.08.2003
    Beiträge:
    3.065
    Zustimmungen:
    0
    Ort:
    Munich
    mit welchen browser hast es versucht?
    mozilla hat mal in irgendeiner konstelation ein problem mit localhost....das ist aber schon ne zeitlamg her und kann mich auch nicht mehr erinnern woran das lag.

    mal nen anderen browser probiert?
    dein server hat ja sicher auch ne statische ip-adresse oder?
     
  9. #8 PhoenixDH, 30.08.2005
    PhoenixDH

    PhoenixDH NOOB

    Dabei seit:
    26.08.2005
    Beiträge:
    93
    Zustimmungen:
    0
    ja, server hat ne statische ip, ich probiere das immer am Server direkt, also über die 127.0.0.1 !
    In anderen Browsern geht es auch net, Port 443 ist eingetragen als listen Port und Firewall ist aus !
     
  10. #9 damager, 30.08.2005
    damager

    damager Moderator

    Dabei seit:
    27.08.2003
    Beiträge:
    3.065
    Zustimmungen:
    0
    Ort:
    Munich
    mich wunder wie gesagt die ausgabe vom telnet localhost 443 (vorschlag von KHS).
    der bekommt ja definitiv eine antwort :think:

    was sagt den netstat -a?
    dort müsste ssl oder 443 als LISTEN oder sogar ESTABLISHED angezeigt werden wenn der server tatsächlich ssl macht.
     
  11. #10 PhoenixDH, 30.08.2005
    PhoenixDH

    PhoenixDH NOOB

    Dabei seit:
    26.08.2005
    Beiträge:
    93
    Zustimmungen:
    0
    Da is drin:
    Code:
    tcp        0      0 *:https                 *:*                     LISTEN
    
    also hört er auf den Port ! Aber ich bin hier bald am verzweifeln !
     
  12. #11 damager, 30.08.2005
    damager

    damager Moderator

    Dabei seit:
    27.08.2003
    Beiträge:
    3.065
    Zustimmungen:
    0
    Ort:
    Munich
    ja, dann hört da https und wartet auf anfragen ...was auch die telnet ausgabe bestätigen würden.
    firewall kann's auch nicht sein ... dann würde ja telnet auch nicht gehen.

    :think:
    sorry...aber im moment fällt mir nicht mehr dazu ein.
    falls mir noch was einfällt schreiebe ich es hier. falls du es löst schreib auch was ... würde mich interessieren :]
     
  13. khs

    khs Routinier

    Dabei seit:
    19.08.2004
    Beiträge:
    408
    Zustimmungen:
    0
    Wobei ich mir gar nicht sicher bin, ob die Ausgabe auf Port 443 nicht verschluesselt sein sollte anstatt in plaintext.

    Mein Apatsche ist immer noch 1.3, wie ssl in die 2.0 kommt, weiss ich nicht, aber LoadModule und AddModule koennen eigentlich nicht so anders heissen...
    Beim 1.3er zeigt http://server.dom/server-info die verwendeten Module an. Beim 2.0 auch?

    -khs

    -khs
     
  14. #13 PhoenixDH, 31.08.2005
    PhoenixDH

    PhoenixDH NOOB

    Dabei seit:
    26.08.2005
    Beiträge:
    93
    Zustimmungen:
    0
    Nein macht er nicht !

    Hm, dann werd ich es wohl aufgeben müssen !

    Gibts nirgends ne schöne Doku ?
     
  15. #14 damager, 31.08.2005
    damager

    damager Moderator

    Dabei seit:
    27.08.2003
    Beiträge:
    3.065
    Zustimmungen:
    0
    Ort:
    Munich
    kennst du google ? :D
    es gibt massenhaft doku zu apache + ssl. die frage ist was ist eine "schöne" doku? :headup:
     
  16. #15 PhoenixDH, 31.08.2005
    Zuletzt bearbeitet: 31.08.2005
    PhoenixDH

    PhoenixDH NOOB

    Dabei seit:
    26.08.2005
    Beiträge:
    93
    Zustimmungen:
    0
    LOL !!!

    Nachdem meine Finger und Zehen nicht mehr gereicht haben um mitzuzählen, wie oft ich in Google schon gesucht habe, habe ich aufgehört mitzuzählen !

    Aber dann wird Google wohl trotzdem meine letzte Hoffnung sein, mit viel Experimentierwille und Zeit :) !

    Dank euch trotzdem !

    Hab mal versucht ssl manuell zu starten mit apache2ctl startsll, dann bekomme ich folgende Fehlermeldung:
    Code:
    Syntax error on line 108 of /etc/apache2/default-server.conf:
    Invalid command 'SSLEngine', perhaps mis-spelled or defined by a module not included in the server configuration
    
    Inhalt der Zeilen:
    Code:
    ServerAdmin root@fire
    # YaST auto define section
    <IfDefine SSL>
     SSLEngine on
    </IfDefine>
    
    Aber wenn ich apache2ctl start oder restart mache kommt keine Fehlermeldung !
     
Thema:

SUSE 9.3 Webserver & SSL

Die Seite wird geladen...

SUSE 9.3 Webserver & SSL - Ähnliche Themen

  1. webserver apache mysql php unter opensuse 10.2

    webserver apache mysql php unter opensuse 10.2: hallo, man hört so unterschiedliche meinungen, was das betreiben eines webservers betrifft. um konkreter zu werden: Welches ist die bessere...
  2. SuSE 9.1 Mein Rechner als Webserver ???

    SuSE 9.1 Mein Rechner als Webserver ???: Hi! :D Ich hab vor mal ein paar HTML-Dateien verfügbar zu machen (so Hompagemäßig oderso). JETZT MEINE FRAGE: Kann ich denn mit SuSE 9.1...
  3. webserver hinter SuSE-router?!

    webserver hinter SuSE-router?!: HI ich hab ein problem...hab mir bei dyndns einen account besorgt und möchte den apache auf meinem laptop (hinter dem router) betreiben... nur...
  4. Opensuse 13.1 erreicht Evergreen-Phase

    Opensuse 13.1 erreicht Evergreen-Phase: Version 13.1 der Linux-Distribution Opensuse hat jetzt das Ende ihrer regulären Lebensdauer erreicht. Doch im Rahmen des Evergreen-Projektes wird...
  5. Opensuse Leap jetzt in öffentlichen Clouds verfügbar

    Opensuse Leap jetzt in öffentlichen Clouds verfügbar: In den öffentlichen Clouds von Amazon, Google und Microsoft stehen ab sofort virtuelle Maschinen mit Opensuse Leap 42.1 zur Verfügung. Weiterlesen...