Sicherheitsproblematik bei Linux/Ubuntu.

Hallo Forum,

habe mir jetzt angefangen Gedanken darüber zu machen, wie man denn die Sicherheit eines Linux Rechners verbessern kann. Ich würde gerne wissen worauf man zu achten hat, wenn man ein "normal" sicheres System haben will.

Wie relevant ist eine "anti-virus-software", so wie man sie aus der Windows welt kennt?
Warum sollte man sich unter Linux eine Firewall holen? oder vielleicht auch doch nicht?

Jedenfalls bin ich auf der Suche nach einem Artikel, der das Thema vielleicht ein wenig detailiert behandelt.

Würde mich über jegliche Links freuen.
Danke!
 
google: linux virenscanner / firewall

es hilft auch brain.exe (gesunder menschenverstand) und eine portion misstrauen vor unbekannten seiten etc.
-nicht mit root rechten ans inet
-oder harware firewall -> router
 
ich bin der Meinung, dass ein Linux-System, dass lediglich von einem Nutzer genutzt wird und das weder Serversoftware, noch andere Dienste nach aussen hin anbietet keinen weiteren Schutz benötigt als den normalen, gesunden Menschenverstand und den verantwortungsvollen Umgang mit Rechten. Wer meint, mit dem Firefox und Root-Rechten ins Internet zu müssen, der muss auch wissen, auch welchen Seiten er surft. Wer sich mit seinem Linux System nicht auskennt sollte dies jedoch nicht machen.

Für wirkliche Multiuser-Systeme käme als erweiterter Schutz SELinux in Frage, was in 99% der Fällen ausreichen sollte, wobei man hier auch wieder entscheiden muss, wie wichtig die Daten sind, die geschützt werden sollen. Einen Virenscanner halte ich unter Linux für unnötig, einen Paketfilter kann man mit wenigen IPTables Befehlen ohne Probleme realisieren, eine verbindungsorientierte Firewall halte ich auf einem einzelnen PC für absolut unnötig.
 
virenschutz:
meine bescheidenen meinung nach ist ein virenschutz auf linux servern nur sinnvoll, wenn zb. emails an windows pc's verteilt werden. amavis könnte hier zb. die eingehenden mails checken und danach erst ins postfach verteilen.

firewall:
da gibts einen sehr guten beitrag im ubuntuwiki, welchen du hier findest:
http://wiki.ubuntuusers.de/Personal_Firewalls

ich hoffe das bringt ein wenig licht ins dunkle.

mfg, xeno


PS.: war übrigens schwer die beiträge von bad_alloc und muh_irgendwas zu toppen, mir fehlts halt noch ein wenig an praxiserfahrung. aber man lernt ja nie aus.
 
Wie ja bereits gesagt wurde, ist es für einen Client/Desktop-Rechner lediglich relevant, dass kein Service an anderen Interfaces lauscht als dem Loopback-Device. Solange kein Port offen ist, findet sich auch kein direkter Angriffspunkt. Da Rootkits bei Angriffen auf Linux-Rechner wesentlich eher Verwendung finden als Viren, Würmer oder Trojaner, sollte man regelmässig/täglich einen Scan mit chkrootkit und rkhunter machen, wenn man Services nach aussen anbietet. Virenscanner sind jedenfalls nur dann notwendig, wenn man Windows-Rechner schützen will, die z.B. auf Freigaben des Linux-Rechners zugreifen o.ä. Für Desktop-Rechner gilt jedenfalls "wo kein Service lauscht, ist auch nichts angreifbar". Wenn man denn doch unbedingt eine Firewall will, weil man z.B. zum Testen o.ä. einen Service nutzt, der automatisch an allen Netzwerkinterfaces lauscht, Netzwerkprogrammierung auf der Kiste macht o.ä., reicht das folgende Skript vollkommen aus:

Code:
#!/bin/bash

echo "Starting firewall"

LOGLIMIT=20
IPTABLES=/sbin/iptables

case "$1" in
start)
        # alle alten Regeln entfernen
        echo "Loesche alte Regeln"
        $IPTABLES -F
        $IPTABLES -X
        $IPTABLES -t nat -F

        # Ketten fuers Logging erstellen
        $IPTABLES -N LOGREJECT
        $IPTABLES -A LOGREJECT -m limit --limit $LOGLIMIT/minute -j LOG --log-prefix "FIREWALL REJECT " --log-level notice --log-ip-options --log-tcp-options
        $IPTABLES -A LOGREJECT -j REJECT --reject-with icmp-port-unreachable

        ### PROC MANIPULATION ###
        # auf Broadcast-Pings nicht antworten
        echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
        # halt die Klappe bei komischen ICMP Nachrichten
        echo 0 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
        # Kicke den ganzen IP Spoofing Shit
        # (Source-Validierung anschalten)
        echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
        # Setze Default-TTL auf 61 (Default fuer Linux ist 64)
        echo 61 > /proc/sys/net/ipv4/ip_default_ttl
        # sende RST-Pakete wenn der Buffer voll ist
        echo 1 > /proc/sys/net/ipv4/tcp_abort_on_overflow
        # warte max. 30 secs auf ein FIN/ACK
        echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
        # unterbreche Verbindungsaufbau nach 3 SYN-Paketen
        # Default ist 6
        echo 3 > /proc/sys/net/ipv4/tcp_syn_retries
        # unterbreche Verbindungsaufbau nach 3 SYN/ACK-Paketen
        # Default ist 6
        echo 3 > /proc/sys/net/ipv4/tcp_synack_retries

        ### MAIN PART ###
        $IPTABLES -P INPUT DROP
        $IPTABLES -P FORWARD DROP
        $IPTABLES -P OUTPUT ACCEPT
        $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
        $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
        # im Loopback koennen wir jedem trauen
        $IPTABLES -A INPUT -i lo -j ACCEPT

        # erlaube Pings
        $IPTABLES -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

        # Alle TCP Packete, die bis hier hin kommen, werden
        # geloggt und rejected
        # Der Rest wird eh per Default Policy gedroppt...
        $IPTABLES -A INPUT -p tcp -j LOGREJECT
        $IPTABLES -A FORWARD -p tcp -j LOGREJECT
        ;;
*)
        echo "Usage: `basename $0` {start}" >&2
        exit 64
        ;;
esac

exit 0

Damit ist definitiv sicher, dass von aussen niemand auf den Rechner zugreifen kann, selbst wenn eine Portbinding-Shell, ein Trojaner oder sonstwas läuft, was theoretisch einen Remote-Zugriff ermöglichen würde. Der Zugriff auf Netzwerkdienste ist damit nur noch über localhost möglich. Das Skript einfach in /etc/init.d/ ablegen, mit dem Runlevel-Editor seiner Wahl aktivieren und fertig.

Bei Servern sieht das dann schon etwas anders aus, da diese wenig Sinn machen, wenn sie keine Services nach aussen anbieten. ;) Aber soweit ich das verstanden habe, ist das hier ja nicht gefragt.
 
Zurück
Oben