Ich habe mir o.g. vServer zugelegt. Das Ganze basiert auf Suse 9.3 und Plesk 7.5.4
Das Host-System zeigt folgendes:
Code: Select all
# uname -r
2.4.20-021stab028.19.777-ordentlich Traffic inkl.
-eine Remotekonsole
-BackupSpace
-DNS wird vom Hoster gestellt
Im Vergleich zu Debian ist Suse etwas "krampfig" und das Paketmanagement überzeugt mich nicht wirklich, wobei es extra auch noch nicht dauerhaft upgrade-fähig ist.
Egal, das Paket beinhaltet nur Suse (mit oder ohne Plesk) und man wird dadurch auch nicht dümmer. Die bedienungstechnischen Unterschiede sind effektiv eh nur marginal.
Auf dem "Server" laufen folgende Dienste:
smtp mit qmail ("plesked")
Webserver mit Apache2 (+ PHP 4.3.10, mod_SSL und ImageMagick)
MySQL 4.1.10a
Plesk
SSHd
Courier-IMAP
und folgende wichtige Anwendungen:
osCommerce (Admin per SSL)
ein internes geschlossenes Forum (Thwb) per SSL (zusätzlich mit htaccess abgesichert)
Squirrelmail (per SSL) (zusätzlich mit htaccess abgesichert)
Spamassassin (mit Pyzor, Razor, DCC und Konsorten)
phpMyAdmin (per SSL) (zusätzlich mit htaccess abgesichert)
Das Ganze mit effektiv nur einer Domain (1 weitere mit Umleitung auf die Hauptdomain).
qmail und Courier werden per xinetd gestartet. Nachdem ich Courier nur noch an localhost lauschen ließ (Mail läuft NUR per Webmail [Squirrelmail]) zeigte mir Plesk Courier als deaktiviert. Egal, er läuft.
BIND habe ich deaktiviert (DNS macht Strato).
Was habe ich noch getan um das Ganze abweichend von der Standart-Config etwas "abzusichern"?
-ftpd abgeschaltet
-xinetd ausgemistet (nur noch imap + smtp)
-sshd auf anderen port gelegt + noRootLogin + Authentifizierung per Key
-ssh- und Plesk-Login ist nur per Einwahl von einem bestimmten Provider möglich (per netfilter)
-MySQL + IMAP lauschen an localhost
-POP3d deaktiviert
-rkhunter + chkrootkit, System-Hash per aide (DB gesichert) da md5-Check mit rkhunter nicht läuft
-Traffic Hardlimit
-Mailbenachrichtigung bei SSH-Login (natürlich auf externe Mailaddy)
-Compiler deinstalliert
-wget-Zugriff eingeschränkt
-osCommerce-Hack eingefügt um register_globals auszuschalten
-eMail Relay=geschlossen
Hierzu gab es anfangs im Netz etwas zwiegespaltene Meinungen, da sich das Relaying in Plesk zwar abschalten läßt, es jedoch keine Wirkung zeigen soll -> der übliche Test mittels "telnet relay-test.mail-abuse.org" zeigt im letzten Durchgang folgendes
ein manuelles telnet-login:25 mit Mail schreiben zeigte jedoch, dass die Mail effektiv nicht versendet wird. Also auch ok.:Relay test: #Test 8
>>> mail from: <spamtest@domain.tld>
<<< 250 ok
>>> rcpt to: <nobody%mail-abuse.org@domain.tld>
<<< 250 ok
>>> QUIT
<<< 221 host.domain.tld
Tested host banner: 220 host.domain.tld ESMTP
System appeared to accept 1 relay attempts
Ich möchte dem vServer NICHT per debootstrap Debian unterschieben, da mir der Zeitaufwand hierfür zu groß ist.
Mit meinem jetzigen Kenntnisstand würde ich bei Neuaufsetzen des Servers auf Plesk verzichten, auch wenn es doch einen gewissen "Komfort" bietet. Jedoch nervt auch das Überschreiben eigenen Configs (z.B. Subdomains in der httpd.conf) und natürlich die kleinen Bugs, welche sich hie und da verstecken. Ok, man gewinnt auch 'ne Menge Zeit mit solch einem Tool, aber es ist natürlich für so ein schmales Hosting auch mächtig overdressed ;)
PHP selbst könnte natürlich auf Grund entsprechender Applikationen immer Kopfschmerzen bereiten
Hier der relevante Ausschnitt aus der php.ini:
Code: Select all
engine = On
short_open_tag = On
asp_tags = Off
precision = 12
y2k_compliance = On
output_buffering = Off
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func=
serialize_precision = 100
allow_call_time_pass_reference = On
safe_mode = On
safe_mode_gid = Off
safe_mode_include_dir =
safe_mode_exec_dir =
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
disable_functions =
disable_classes =
expose_php = On
memory_limit = 32M
error_reporting = E_ALL & ~E_NOTICE
display_errors = Off
display_startup_errors = Off
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = Off
variables_order = "EGPCS"
register_globals = Off
register_argc_argv = On
post_max_size = 12M
gpc_order = "GPC"
magic_quotes_gpc = On
magic_quotes_runtime = Off
magic_quotes_sybase = Off
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
doc_root =
user_dir =
extension_dir = "./"
extension_dir = /usr/lib/php/extensions
enable_dl = On
file_uploads = On
upload_max_filesize = 20M
allow_url_fopen = Off
default_socket_timeout = 60
define_syslog_variables = Off
SMTP = localhost
smtp_port = 25
sql.safe_mode = Off
odbc.allow_persistent = Off
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
mysql.allow_persistent = Off
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off
msql.allow_persistent = Off
msql.max_persistent = -1
msql.max_links = -1
session.save_handler = files
session.save_path = /var/lib/php
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 100
session.gc_maxlifetime = 1440
session.bug_compat_42 = 1
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
sockets.use_system_read = On
mbstring.internal_encoding = UTF-8
Desweiteren: die Performance des vServers ist naturgemäß nicht so super berauschend, dass man da noch ein mod_security o.ä. drauf losläßt. Außerdem ist jede weitere Anwendung auch ein weiteres Risiko.
Gibt es zur angegebenen Konfiguration noch einige Anregungen, welche am besten mit bestehenden Bordmitteln funktionieren?