OVH Community, your new community space.

Dedicated Server & Sicherheit


t-sagorski
27.10.13, 16:54
123wertzuiopüp

debianfan
14.10.13, 20:27
Zitat Zitat von Twen
Nutzt jemand von euch fail2ban oder ähnliches? Was macht ihr diesbzgl. mit IPv6-Verbindungen?
ich nutze fail2ban für

ssh
smtp
imap
pop3
ftp
imaps
pop3s

vor allem bei smtp & ssh hat es einiges an Ärger erspart

chibisuke
13.10.13, 08:41
Zitat Zitat von Twen
  • Login von root per SSH verbieten
  • SSH Authentifikation nur per Public-Key
  • Nur benötigte Ports per ip(6)tables öffnen
  • Grundsätzlich unterschiedliche Passwörter für unterschiedliche Zwecke verwenden
  • Mail-Accounts nur als virtuelle User
  • Webseiten, bei denen Passwörter übertragen werden nur SSL verschlüsselt (mit Zertifikat von startssl.com)
  • Mailserver natürlich kein offener Relay
  • Blacklistenverwendung bei SMTP-Verbindung
  • Nicht benötigte dienste deaktivieren
  • Regelmässig updates installieren
  • Mailinglisten der verwendeten distrubutionen, dienste sowie security databases (NVD z.B.) abonieren
  • Sofern möglich den server Regelmässig auf vulnerabilitys scannen (mit Nessus z.B.) *)
  • logwatch installieren (und die mails auch lesen!)
  • Dienste die nicht world-offen sein müssen per firewall regeln restricted (SSH z.B. nur von bestimmten quell IPs zulassen)
  • chroots/jails verwenden wo möglich


*) ACHTUNG: scanner wie nessus sollte man nicht auf OVH Servern betreiben, da die automatisieren systeme von OVH sonst den server sperren. Nessus bei sich zu hause zu installieren ist jedoch vollkommen ausreichend um den server hin und wieder damit zu scannen

Twen
17.09.13, 11:59
Nutzt jemand von euch fail2ban oder ähnliches? Was macht ihr diesbzgl. mit IPv6-Verbindungen?

BobDschingis
17.09.13, 07:19
Zitat Zitat von marius
Dann muss man aber auch noch die apache2.conf editieren, sonst wird das über die Signatur immer noch ausgegeben.

ServerSignature off
ServerTokens ProductOnly
Dank Dir

edit: Unter Ubuntu oder Debian Squeeze unter /etc/apache2/conf.d/security zu finden

pbm
16.09.13, 14:55
Ich nutz zusätzlich noch bei Administrativen aufgaben den Vpn, diverse dienste sind nur über vpn zu erreichen.Hab auch nur webmail um pop3/imap etc. erst garnich anzuhaben.

gresec kernel und php/apache restriktionen ändern, dann isser dicht. laufen aba viele scripte kein marathon mehr.

anbei noch meine veraltete .htaccess

Code:
DirectoryIndex index.php index.html index.htm portal.php

php_flag register_globals off

RewriteEngine on

#domain.tld => www.domain.tld
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301,L]

#indexe
RewriteRule start-links-(.*)\.exe index-old.php?page=start&s=links&ap=$1
RewriteRule (.*)-(.*)\.exe index-old.php?page=$1&s=$2
RewriteRule (.*)\.exe index-old.php?page=$1

# Spambots nach User_agent aussperren
RewriteCond %{HTTP_USER_AGENT} ^.*Whacker.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailCollector [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ^Crescent [OR]
RewriteCond %{HTTP_USER_AGENT} ^CherryPicker [OR]
RewriteCond %{HTTP_USER_AGENT} ^[Ww]eb[Bb]andit [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebEMailExtrac.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^NICErsPRO [OR]
RewriteCond %{HTTP_USER_AGENT} ^Telesoft [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus.*Webster [OR]
RewriteCond %{HTTP_USER_AGENT} ^Microsoft.URL [OR]
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*FileHound.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*TurnitinBot.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*JoBo.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*WebZIP.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Stripper.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Offline.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Copier.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Crawler.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Snagger.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Teleport.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Reaper.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Wget.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Grabber.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Sucker.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Downloader.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Siphon.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Collector.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Mag-Net.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Widow.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Snake.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*BackWeb.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*gotit.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Vacuum.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Pump.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*HMView.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*HTTrack.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*JOC.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*likse.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Memo.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*pcBrowser.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*SuperBot.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*leech.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Mirror.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Recorder.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*GrabNet.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Likse.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Navroad.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*attach.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Magnet.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Surfbot.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Bandit.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Ants.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*Buddy.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*FileHound.*$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*adressendeutschland.*$


# gefaelschte Browserkennungen die normale User vorgaukeln sollen
#RewriteCond %{HTTP_USER_AGENT} ^MSIE 6.0 [OR]
#RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4.0 (compatible; MSIE 6.0; Win32) [OR]
#RewriteCond %{HTTP_USER_AGENT} MSIE 6.0b [OR]
RewriteCond %{QUERY_STRING} .*'.* [OR]
RewriteCond %{QUERY_STRING} .*%27.* [OR]
RewriteCond %{QUERY_STRING} .*".* [OR]
RewriteCond %{QUERY_STRING} .*%22.* [OR]
RewriteCond %{QUERY_STRING} .*`.* [OR]
RewriteCond %{QUERY_STRING} .*%60.* [OR]
RewriteCond %{QUERY_STRING} .*%25.* [OR]
RewriteCond %{QUERY_STRING} .*echr.* [OR]
RewriteCond %{QUERY_STRING} .*esystem.* [OR]
RewriteCond %{QUERY_STRING} .*passthru.*

RewriteRule ^.* - [F]

# prevent access from santy webworm
RewriteCond %{QUERY_STRING} ^(.*)highlight=\%2527 [OR]
RewriteCond %{QUERY_STRING} ^(.*)rush=\%65\%63\%68 [OR]
RewriteCond %{QUERY_STRING} ^(.*)rush=echo [OR]
RewriteCond %{QUERY_STRING} ^(.*)wget\%20
RewriteRule ^.*$ http://127.0.0.1/ [R,L]

# prevent pre php 4.3.10 bug
RewriteCond %{HTTP_COOKIE}% s:(.*):\%22test1\%22\%3b
RewriteRule ^.*$ http://127.0.0.1/ [R,L]

# prevent perl user agent (most often used by santy)
RewriteCond %{HTTP_USER_AGENT} ^lwp.* [NC]
RewriteRule ^.*$ http://127.0.0.1/ [R,L]

# Text für individuelle Fehleranzeige
ErrorDocument 401 "keine berechtigung
ErrorDocument 403 "kein zugriff
ErrorDocument 404 "nicht gefunden
ErrorDocument 500 "serverfehler
ErrorDocument 510 "max connects exceeded
evt hilft es dir.

marius
16.09.13, 14:53
Zitat Zitat von BobDschingis
Wenn du ein Apache Server nutzt, könntest du noch pro site die default error documents ändern. Dann bekommt niemand mehr angezeigt, welche serverversion usw. du nutzt, falls er falsch abbiegt.
Dann muss man aber auch noch die apache2.conf editieren, sonst wird das über die Signatur immer noch ausgegeben.

ServerSignature off
ServerTokens ProductOnly

BobDschingis
16.09.13, 14:44
Ich würde noch den SSH Port ändern.
Das hat bei mir wunder gebracht und seither sind die Logs sehr leer.
Wenn du ein Apache Server nutzt, könntest du noch pro site die default error documents ändern. Dann bekommt niemand mehr angezeigt, welche serverversion usw. du nutzt, falls er falsch abbiegt.


Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
ErrorDocument 100 "Error 100: Continue"
ErrorDocument 101 "Error 101: Switching Protocols"
ErrorDocument 102 "Error 102: Processing"
ErrorDocument 200 "Error 200: OK"
ErrorDocument 201 "Error 201: Created"
ErrorDocument 202 "Error 202: Accepted"
ErrorDocument 203 "Error 203: Non-Authoritative Information"
ErrorDocument 204 "Error 204: No Content"
ErrorDocument 205 "Error 205: Reset Content"
ErrorDocument 206 "Error 206: Partial Content"
ErrorDocument 207 "Error 207: Multi-Status"
ErrorDocument 300 "Error 300: Multiple Choices"
ErrorDocument 301 "Error 301: Moved Permanently"
ErrorDocument 302 "Error 302: Found"
ErrorDocument 303 "Error 303: See Other"
ErrorDocument 304 "Error 304: Not Modified"
ErrorDocument 305 "Error 305: Use Proxy"
ErrorDocument 307 "Error 307: Temporary Redirect"
ErrorDocument 400 "Error 400: Bad Request"
ErrorDocument 401 "Error 401: Authorization Required"
ErrorDocument 402 "Error 402: Payment Required"
ErrorDocument 403 "Error 403: Forbidden"
ErrorDocument 404 "Error 404: Not Found"
ErrorDocument 405 "Error 405: Method Not Allowed"
ErrorDocument 406 "Error 406: Not Acceptable"
ErrorDocument 407 "Error 407: Proxy Authentication Required"
ErrorDocument 408 "Error 408: Request Time-out"
ErrorDocument 409 "Error 409: Conflict"
ErrorDocument 410 "Error 410: Gone"
ErrorDocument 411 "Error 411: Length Required"
ErrorDocument 412 "Error 412: Precondition Failed"
ErrorDocument 413 "Error 413: Request Entity Too Large"
ErrorDocument 414 "Error 414: Request-URI Too Large"
ErrorDocument 415 "Error 415: Unsupported Media Type"
ErrorDocument 416 "Error 416: Requested Range Not Satisfiable"
ErrorDocument 417 "Error 417: Expectation Failed"
ErrorDocument 422 "Error 422: Unprocessable Entity"
ErrorDocument 423 "Error 423: Locked"
ErrorDocument 424 "Error 424: Failed Dependency"
ErrorDocument 425 "Error 425: No code"
ErrorDocument 426 "Error 426: Upgrade Required"
ErrorDocument 500 "Error 500: Internal Server Error"
ErrorDocument 501 "Error 501: Method Not Implemented"
ErrorDocument 502 "Error 502: Bad Gateway"
ErrorDocument 503 "Error 503: Service Temporarily Unavailable"
ErrorDocument 504 "Error 504: Gateway Time-out"
ErrorDocument 505 "Error 505: HTTP Version Not Supported"
ErrorDocument 506 "Error 506: Variant Also Negotiates"
ErrorDocument 507 "Error 507: Insufficient Storage"
ErrorDocument 510 "Error 510: Not Extended"

zen
16.09.13, 14:26
Immer schön Updates einspielen. Damit man es nicht vergisst, sollte man es automatisieren, z.B. mit unattended upgrades.

Was du schon geschrieben hast, aber was man nochmal betonen sollte: Firewallregeln in iptables UND ip6tables einstellen, damit sie sowohl über IPv4, wie auch über IPv6 gültig sind.

Man kann auch Diensteports, die man eigentlich braucht sperren lassen und per "Port knocking" temporär für eine bestimmte IP öffnen. Ist aber meiner Meinung nach nicht nötig und erzeugt nur mehr Aufwand beim Verbinden.

Twen
16.09.13, 13:29
Hallo,

Mich würde mal interessieren, was ihr so macht um eure Server gegen Angriffe zu schützen?

Im letzten Thread habe ich auch von fail2ban gelesen, was für mich neu war.
Meine bisherigen Sicherheitsvorkehrungen:

  • Login von root per SSH verbieten
  • SSH Authentifikation nur per Public-Key
  • Nur benötigte Ports per ip(6)tables öffnen
  • Grundsätzlich unterschiedliche Passwörter für unterschiedliche Zwecke verwenden
  • Mail-Accounts nur als virtuelle User
  • Webseiten, bei denen Passwörter übertragen werden nur SSL verschlüsselt (mit Zertifikat von startssl.com)
  • Mailserver natürlich kein offener Relay
  • Blacklistenverwendung bei SMTP-Verbindung


Wenn man die einzelnen Themen noch ein wenig genauer ausformuliert, könnte das hier ja auch zu einer "Sicherheitscheckliste" für Einsteiger mutieren.
Welche Tipps/Tricks habt ihr da noch?