Server Config, Apache2, SSHd und Logs?!

A

Angel

Foren As
Moin Männers... Ich sitze gerade auf der Arbeit und gucke mir so die httpd-conf von unserem Server hier im Büro an der nur intern verfügbar steht und überlege ob man die httpd-Conf nicht auch extern ohne Probleme auf einem Server (root oder vServer) verwenden kann oder was man da noch hinzufügt um die Performance oder die Sicherheit besser an zu passen... :)
Code:
<VirtualHost *:80>
 ServerAdmin ***@domain.de
 ServerName domain.de
 ServerAlias www.domain.de
 DocumentRoot /srv/domain1.de
</VirtualHost>

<VirtualHost *:80>
 ServerAdmin ***@domain.de
 ServerName domain2.de
 ServerAlias www.domain2.de
 DocumentRoot /srv/domain2.de
</VirtualHost>
Also mit dieser kleinen Config komme ich ja schon mal an meine "Domains" ran die ich deklariert habe, aber gibt es da vielleicht noch so Erweiterungen die man hinzufügen kann?

Desweiteren, administriere ich einen root-Server mit einem anderen Kollegen. Der Server hat syslog-ng und ich würde gerne mal die sshd Logins separieren in /var/log/ssh um mal diesen Log an einer Stelle zu haben. Der Kumpel sagte das es möglich ist, aber er keine Lust hat das mal zu übernehmen, nun wollte ich ihm die Arbeit halt abnehmen und mal fragen ob mir einer sagen kann was ich in die config von dem syslog eintragen kann (wenn möglich) :)

Es geht mir auch darum, irgend so ein lustiger Kiddie versucht sich auf Port 22 einzuloggen, aber PassAuth ist aus (only KeyAuth) und die Tage will ich den Port mal verschieben und gucken was dann passiert :)

Ich hoffe Ihr könnt mir schon mal bei diesen kleinen(?) Fragen ein wenig helfen und Tipps geben.

Mfg. Angel
 
also zu deinem vhost, was willste da an sicherheit rein machen ? was du machen kannst, das du ein htacces verlangst bevor man auf die seite kommt.

in der /etc/ssh/sshd_config kannst du port einstellen,

ausserdem würde ich
PermitRootLogin auf no setzten
 
also zu deinem vhost, was willste da an sicherheit rein machen?
Hm... Okay, dass ist eine gute Frage... Hätte ja sein können das man für den Apache noch etwas eintragen sollte um ein wenig mehr Sicherheit zu leisten. zum Beispiel das Directory-Listing deaktivieren. Oder wird das wo anders eingestellt? :think:

in der /etc/ssh/sshd_config kannst du port einstellen,

ausserdem würde ich
PermitRootLogin auf no setzten
Jop, Root ist nicht mehr erlaubt, Port ist nun auf einen über 1024 gestellt und das müsste (hoffe ich mal) ausreichen. Mal gucken ob der Skript Kiddie der vergangene Nacht versuchte über x Usernamen auf den SSH zu kommen, wieder kommt und meinen Port findet :D
 
Ich aktiviere in den VHosts immernoch die HTTP-Methoden TRACE und TRACK.

Code:
    RewriteEngine on
    RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
    RewriteRule .* - [F]
 
@bitmuncher: Ich bin gerade echt zu faul, wofür ist das gut?

@foexle: SSH-Keys statt Kennwort würde ich als viel wertvoller einschätzen als den Root Login zu deaktivieren, die leidige Diskussion mit dem Port verlegen fang ich nicht an :-)
 
@saeckereier: Es erschwert Cross-Site-Scripting und Cross-Site-Tracing.
 
Ah, okay. Das werd ich mir wohl mal im Detail angucken müssen. Danke für die Info!
 
So.. Nach über 8 Monaten bin ich auch wieder am Thema "root-Server" dran :)

Bezüglich der Logfiles hab ich da mal ein oder zwei kleinere Fragen...

/var/log/auth.log
Code:
Oct 15 09:03:01 xxxx CRON[11243]: pam_unix(cron:session): session opened for user root by (uid=0)
Oct 15 09:03:01 xxxx CRON[11242]: pam_unix(cron:session): session opened for user root by (uid=0)
Oct 15 09:03:01 xxxx CRON[11247]: pam_unix(cron:session): session opened for user root by (uid=0)
Oct 15 09:03:02 xxxx CRON[11243]: pam_unix(cron:session): session closed for user root
Oct 15 09:03:02 xxxx CRON[11247]: pam_unix(cron:session): session closed for user root
Oct 15 09:03:02 xxxx CRON[11242]: pam_unix(cron:session): session closed for user root
Ich hab das schon mal irgend wo erlebt auf einem meiner Server, entweder zu Hause, auf dem root-Server von einem Bekannten oder in der Firma. Durch suchen via google habe ich erfahren das es sich hierbei um nichts schlimmes handelt. Das ist einfach nur CRON der hier am arbeiten ist.

Kann ich diesen Eintrage irgend wie weg machen oder vielleicht so einstellen, dass er NUR auftaucht, wenn es Probleme gibt? So eine Art "Loglevel" was ich erhöhen kann?

Weitere Frage ist noch, ich habe mich mal mit syslog-ng auseinander gesetzt. Funktioniert auch soweit, sshd Zugriffe logt er für mich separat in einer anderen Datei, doof ist nur.. Er schreibt es parallel mit in die /var/log/auth.log mit rein. Kann man irgend wie einen Eintrag ausschließen?

Letzte Frage betrifft logrotate... Er rotiert meine Logfiles ja schon, ich hab das ein wenig genauer eingestellt wie ich mir das vorstelle. Die Files tauchen dann auch in /var/log/ auf, aber kann man die komprimierten Logs in ein anderes Verzeichnis schieben lassen? :)

So, mehr Wünsche habe ich gar nicht mehr :D
Mfg. Angel
 
Pluggable Authentication Module = pam
das ist einfach das auth-modul das sich meldet, wenn wer sich einloggt
sshd nicht in die auth.log schreiben zu lassen, halte ich für fahrlässig, da einige programme unter anderem denyhosts genau diese logs benötigen um zu arbeiten.
Einstellungen zu cron kannst du in /etc/default/cron vornehmen.... allerdings vorher man lesen!

Zu deiner logrotate frage, kannst du das in /etc/logrotate.d/ in den einzelnen einstellungen ändern ... indem du einfach das script erweiters und die ältesten files kopierst
 
sshd nicht in die auth.log schreiben zu lassen, halte ich für fahrlässig
Auch wenn ich sshd separieren würde nach /var/log/sshd/sshd.log??

das ist einfach das auth-modul das sich meldet, wenn wer sich einloggt
Nun gut, doof ist nur das er sich im Minutentakt meldet.. Würde mich allerdings wundern wenn sich jemand im Minutentakt als "root" bei mir einloggt. Denn in meiner sshd_config hab ich ja eingestellt das es nicht geht.
Code:
PermitRootLogin no
AllowUsers xxxx
PubkeyAuthentication yes
RSAAuthentication no

PasswordAuthentication no

UsePam no
Daher war ich nur etwas verwundert das er sich im Minutentakt bei mir in der auth.log meldet ;)
 
Nun gut, doof ist nur das er sich im Minutentakt meldet.. Würde mich allerdings wundern wenn sich jemand im Minutentakt als "root" bei mir einloggt. Denn in meiner sshd_config hab ich ja eingestellt das es nicht geht.
was auch absolut vernünftig ist, aber sowas kann eine Drohne aus einem Botnetz sein.

Was du machen könntest ist sowas wie fail2ban (gibt es aber auch für viele Distributionen in deren Reops), um im Syslog zu bemerken, ob von irgend wo her massenhaft Zugriffe versucht werden.

Inzwischen gibt es aber auch Botnetze, die sowas verteilt machen, so daß Wörterbuch-Attacken nicht mehr durchgängig von einer einzigen IP kommen, worauf fail2ban aber beispielsweise abzielt. Du müßtest diese Logins aber auch in /var/log/massages sehen in der Regel.

Zu Logrotate: Ich finde es an sich sinnvoll, die Archive dort zu finden, wo die Logfiles auch sind. Du kannst ja die Zip-Dateien nach Bedarf sichern und entfernen. Aber so, wie logrotate normalerweise läuft, findest du eine Logdatei und gleich daneben Archive.

[Edit]
... oder sshd auf einen anderen Port legen, wenn du eh der einzige Mensch bist, der den nutzt. Außer dir braucht das ja dann niemand zu wissen.
 
Zuletzt bearbeitet:
Ahhh... Wie geil... Jaa, man sollte ab und an mal in die anderen Logs rein gucken (Schande über mein Haupt) :D
Code:
Oct 15 11:20:01 xxxx /USR/SBIN/CRON[13294]: (root) CMD (/usr/bin/php5 -q /var/syscp/web/scripts/cron_autoresponder.php)
Oct 15 11:20:01 xxxx /USR/SBIN/CRON[13295]: (root) CMD (/usr/bin/php5 -q /var/syscp/web/scripts/cron_apsinstaller.php)
Oct 15 11:20:01 xxxx /USR/SBIN/CRON[13299]: (root) CMD (/usr/bin/php5 -q /var/syscp/web/scripts/cron_tasks.php)
Oct 15 11:21:01 xxxx /USR/SBIN/CRON[13306]: (root) CMD (/usr/bin/php5 -q /var/syscp/web/scripts/cron_autoresponder.php)
Oct 15 11:21:01 xxxx /USR/SBIN/CRON[13307]: (root) CMD (/usr/bin/php5 -q /var/syscp/web/scripts/cron_apsinstaller.php)
Oct 15 11:21:01 xxxx /USR/SBIN/CRON[13311]: (root) CMD (/usr/bin/php5 -q /var/syscp/web/scripts/cron_tasks.php)
Oct 15 11:22:01 xxxx /USR/SBIN/CRON[13318]: (root) CMD (/usr/bin/php5 -q /var/syscp/web/scripts/cron_autoresponder.php)
Oct 15 11:22:01 xxxx /USR/SBIN/CRON[13320]: (root) CMD (/usr/bin/php5 -q /var/syscp/web/scripts/cron_apsinstaller.php)
Oct 15 11:22:01 xxxx /USR/SBIN/CRON[13321]: (root) CMD (/usr/bin/php5 -q /var/syscp/web/scripts/cron_tasks.php)
Oct 15 11:23:01 xxxx /USR/SBIN/CRON[13332]: (root) CMD (/usr/bin/php5 -q /var/syscp/web/scripts/cron_autoresponder.php)
Oct 15 11:23:01 xxxx /USR/SBIN/CRON[13335]: (root) CMD (/usr/bin/php5 -q /var/syscp/web/scripts/cron_tasks.php)
Oct 15 11:23:01 xxxx /USR/SBIN/CRON[13336]: (root) CMD (/usr/bin/php5 -q /var/syscp/web/scripts/cron_apsinstaller.php)
Oct 15 11:24:01 xxxx /USR/SBIN/CRON[13347]: (root) CMD (/usr/bin/php5 -q /var/syscp/web/scripts/cron_autoresponder.php)
Oct 15 11:24:01 xxxx /USR/SBIN/CRON[13348]: (root) CMD (/usr/bin/php5 -q /var/syscp/web/scripts/cron_apsinstaller.php)
Oct 15 11:24:01 xxxx /USR/SBIN/CRON[13352]: (root) CMD (/usr/bin/php5 -q /var/syscp/web/scripts/cron_tasks.php)
Das hab ich in der /var/log/syslog drin und deckt sich genau überein mit der Geschichte vom auth.log :D

Dann ist mir ja damit schon mal geholfen, ich werde mal schauen was syscp da veranstaltet. Aber mit Hilfe von syslog-ng kann ich nicht irgend wo sagen das er mir */var/log/syslog/* nicht mitloggen braucht, oder? :D

Nachtrag1:
Ach ja, hab ich vergessen zu erwähnen.. Als ich Key-Auth aktivierte / eingerichtet hatte, hab ich den Port für sshd gleich wo anders hin geschoben ;)

Nachtrag2:
Gut, mit dem Zeiten-System komme ich noch nicht so ganz klar beim Cronjop.. Aber wenn ich so etwas da drin habe, ist es kein Wunder das meine Logs bald platzen :D
Code:
# */1 * * * *   root    /usr/bin/php5 -q /var/syscp/web/scripts/cron_tasks.php
0 0 * * *   root    /usr/bin/php5 -q /var/syscp/web/scripts/cron_traffic.php
# 30 0 * * *   root    /usr/bin/php5 -q /var/syscp/web/scripts/cron_ticketarchive.php
# 0 1 * * *   root    /usr/bin/php5 -q /var/syscp/web/scripts/cron_used_tickets_reset.php
# */1 * * * *   root    /usr/bin/php5 -q /var/syscp/web/scripts/cron_autoresponder.php
# */1 * * * *   root    /usr/bin/php5 -q /var/syscp/web/scripts/cron_apsinstaller.php
# */15 * * * *   root    /usr/bin/php5 -q /var/syscp/web/scripts/cron_apsupdater.php

Mfg. Angel
 
Zuletzt bearbeitet:
und ich hab auch sehr unaufmerksam gelesen, wenn es cron ist, kommt es ja sowieso von innen und nicht von außen über beispielsweise ssh. Das ist ja ein Prozeß, der auf dem Rechner läuft, nicht auf ihn zugreift. Und so steht es ja auch mitsamt Pfaden im syslog
 
Jep.. Das sind ja nur Prozesse die von root ausgeführt werden. Ich hatte auch erst überlegt das auf "www-data" um zu biegen, aber dann fehlen im die entsprechenden Schreibrechte, denn diese Scripte die er da startet, machen es möglich dass SysCP ein neues Verzeichnis anlegt, wenn eine Domain erstellt wird etc.

Ich werde die Tage mal gucken dass ich die Rechte der Ordner anpasse und dann von root auf www-data umstellen, wenn sich das so einfach machen lässt. ABER, wie bekomme ich denn CRON aus der auth.log raus?

Ich will es ja nicht NICHT loggen, sondern nur in eine cron.log (oder so) packen :) Ich hatte mich ein wenig mit der manpage befasst und wenn ich das alles richtig gelesen habe (auch im Internet) muss ich wohl meinen source etwas anpassen oder zwei sources angeben für die Logs, einmal einen nur für den cron und einmal einen ohne oder so...

Oder gibt es da eine andere Möglichkeit?! :(
Gruß, Angel
 

Ähnliche Themen

Probleme mit virtual hosts

Server will nicht in die Domain

Apache2 + DynDns

Starten von Apache2 in Kubuntu

ssh-client von root-server zu root-server verbinden

Zurück
Oben