• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Die "quasi" Sicherheit von Linux

Lurchi

Hacker
Hallo Forum!
Ihr habt vielleicht den Beitrag über http://www.heise.de/open/meldung/Erster-Banking-Trojaner-fuer-Linux-analysiert-1943718.html gelesen. Nun möchte ich hier und jetzt nicht so da stehen, als hätte ich Langeweile und müsse meine intellektuellen Dunstschwaden hier auf Teufel-Komm-Raus loswerden.
Aber ich finde, das wir uns alle mal über diesen Artikel Gedanken machen sollten, was "Sicherheit" unter Linux eigentlich bedeutet.
Ich möchte an dieser Stelle bekräftigen, dass ich hier keine Panik machen möchte oder zu polarisieren. Aber meiner Meinung nach haben wir uns in den letzten Jahren in eine Sicherheitsblase verkrochen haben, die sicherlich irgendwann mal platzen wird.
Dass es keine 100%-ige Sicherheit geben kann, ist uns allen wohl bewusst. Aber welcher openSUSE-User weiß denn überhaupt, wie man "sudo" richtig einrichtet. Oder wie AppArmor (http://de.opensuse.org/AppArmor) überhaupt arbeitet und funktioniert!
In diesem Sinne.
 
Hallo @Lurchi!
Danke für deinen Beitrag.
Ich habe mich gerade mit dem Kommando netstat beschäftigt und festgestellt wie wenig ich weiß über das was auf meinem PC läuft.
Grüße Heinz-Peter
 

abgdf

Guru
Zu denken gab mir kürzlich die Kaspersky-Warnung zu Android, wobei Android für Smartphones ja ein Linux-basiertes OS ist:
http://www.welt.de/wirtschaft/article119179174/Experten-warnen-vor-Welle-neuer-Android-Schaedlinge.html
Die Zahl entdeckter Schädlinge sprang zur Jahresmitte auf über 100.000 hoch, wie die russische IT-Sicherheitsfirma Kaspersky Lab feststellte.

"99,9 Prozent aller neuen schädlichen Dateien greifen Android an, alles andere spielt keine Rolle mehr", sagte Kaspersky-Analyst Christian Funk.
Vom Linux-Smartphone zum Linux-Desktop wäre es dann zumindest technisch nicht mehr weit.

Umgekehrt ist man auf "Puppy Linux" (einem kleinen Desktop-System, das ich sehr mag) standardmäßig 'root'. Dafür, daß das auf heimischen PCs mit typischerweise nur einem Benutzer gar nicht so schlimm ist, gibt es auch ein interessantes Plädoyer (mit weiteren Nachweisen):

http://puppylinux.com/technical/root.htm

Vielleicht glauben wir tatsächlich ein bißchen zu sehr an die Sicherheit, die das System mit 'root' und den einfachen Benutzern vermittelt. Andererseits hilft das System mit 'root' ganz gut gegen den oben genannten Banking-Trojaner: So kann er sich nicht so leicht in den Systemverzeichnissen ('/usr/bin' usw.) installieren.

Ich hatte an anderer Stelle mal erwähnt, daß ich mir vorstellen könnte, daß NSA und Konsorten die freien Verschlüsselungs- und Anonymisierungsprojekte mit eigenen Leuten unterwandert haben könnten, damit es keine vor ihnen sichere Verschlüsselung unter Linux gibt. Mit ihrem Budget von 6 Mrd. Dollar pro Jahr wäre das meiner Meinung nach jedenfalls durchaus im Bereich des Möglichen. Die Behauptung wurde mir gleich als Paranoia ausgelegt ...
 
OP
Lurchi

Lurchi

Hacker
Na gut.
Dann kamen unsere Gedanken wegen des Banken-Trojaners eben zeitgleich. Macht aber nix. Je mehr sich darüber Gedanken machen, desto besser.
Ich finde, diese immer währende Generalisierung der Unverwundbarkeit eines Linux-Systems sollte alsbald in den Bereich der Märchen und Mythen abgelegt werden.
Viele von uns Linux-Usern sind sicherlich auf dieses OS umgestiegen u.a. wegen der Sicherheit vor Viren und Trojanern. Und dieser Zahn wurde wieder einmal gezogen. Punkt!
Mich würde interessieren, welche Konsequenzen daraus gezogen werden.
In diesem Sinne.

Edit: http://de.opensuse.org/Sicherheit Man lese und staune!
 

muck19

Hacker
Lurchi schrieb:
Ich finde, diese immer währende Generalisierung der Unverwundbarkeit eines Linux-Systems sollte alsbald in den Bereich der Märchen und Mythen abgelegt werden.
Dort lag sie schon immer und wird nur von Leuten dort rausgeholt, die herzlich wenig Ahnung von IT haben.
Wieso staunen? Das gehört zu Linux genauso dazu.
Mein router und mein Server werden auch ständig von russischen oder chinesischen Möchtegernhackern aufgesucht. Das die keinen Erfolg haben liegt nicht an dem darauf laufenden Linux, sondern wohl eher an den Knieschuss-Optionen, die ich denen hinstelle.
Das Linuxkisten etwas sicherer sind, liegt wohl auch an der Einstellung der Nutzer, die nicht auf alles klicken was nach geil.exe, installmich oder muss_ich_haben.pdf etc. aussieht.

Gruss
Michael
 

halo44

Hacker
muck19 schrieb:
... Mein router und mein Server werden auch ständig von russischen oder chinesischen Möchtegernhackern aufgesucht. Das die keinen Erfolg haben liegt nicht an dem darauf laufenden Linux, sondern wohl eher an den Knieschuss-Optionen, die ich denen hinstelle ...

Da ich hier gerne auch schon mal nur darum lese, weil ich immer noch sehr wissbegierig bin, würde ich doch sehr gern wissen, was Du hier dem Linux-Normal-User vermitteln kannst, was über diesen Tip hinausgeht :

muck19 schrieb:
... Das Linuxkisten etwas sicherer sind, liegt wohl auch an der Einstellung der Nutzer, die nicht auf alles klicken was nach geil.exe, installmich oder muss_ich_haben.pdf etc. aussieht.

Ich würde mich sicher nicht alleine freuen, wenn Du uns Normalusern etwas Hilfe bieten könntest.

Gruss H.
 
A

Anonymous

Gast
Lurchi schrieb:
muck19 schrieb:
Lurchi hat geschrieben:
Ich finde, diese immer währende Generalisierung der Unverwundbarkeit eines Linux-Systems sollte alsbald in den Bereich der Märchen und Mythen abgelegt werden.

Dort lag sie schon immer und wird nur von Leuten dort rausgeholt, die herzlich wenig Ahnung von IT haben.
Viele von uns Linux-Usern sind sicherlich auf dieses OS umgestiegen u.a. wegen der Sicherheit vor Viren und Trojanern. Und dieser Zahn wurde wieder einmal gezogen. Punkt!
Mich würde interessieren, welche Konsequenzen daraus gezogen werden.

Linux ist, war und bleibt nicht sicherer oder unsicherer als andere Betriebssysteme.
Es hat einige Sicherheitsvorteile durch eine Kapselung und Trennung der Inneren und äußeren Bereiche im striktem Aufbau durch seine Schalenstruktur, es ist (besser es war einmal) nicht zuletzt wegen OpenSource und einem Bausteinprinzip durchsichtig und für viele User auch in manchen Details und in wichtigen Teilbereichen noch einigermaßen verständlich, plausibel oder was auch immer. Nicht zuletzt verschiedene Faktoren haben dazu geführt, dass man sich mit Linux ein wenig beschäftigen musste damit es so funktioniert hat, wie es sollte. Und weil man sich oftmals mit dem einem und anderem Problem beschäftigen musste, hat man ob man es nun wollte oder nicht, auch mal den einen oder anderen Zusammenhang verstehen müssen und ein paar Grundlagen gelernt. Das Gefrickel, dass man Linux jahrelang vorgeworfen hatte, war nicht die schlechteste Volksbildung. Aber der Hauptvorteil in der Sicherheit für Linux ist und bleibt nach wie vor seine geringe Verbreitung. Es hat sich einfach nicht "gerechnet" großartigen Schadcode für ein System zu schreiben, dass in hunderttausend nicht wirklich standardisierten Versionen vorkommt und dem man nur eine Verbreitungsgrad von weniger als 1% nachgesagt hat.

In den letzten Jahren hat sich einiges geändert, immer mehr haben einen Rechner "gebraucht", und das Internet und die IT-Welt allgemein ist in ihrer Innovation, Verbreitung und Einfälligkeit geradezu explodiert, und nicht zuletzt auch mit den vielen Umsteigern, die nicht wirklich Linux wollten sondern nur ein vermeintlich etwas sichereres Windows.
Dadurch ist viel auf Linux draufgepackt worden das hier und da auch mal grundlegende Dinge aufgeweicht hat. Linux ist immer noch nur das innere, der ist immer noch gut und sicher. Aber unsicher kann und ist einiges was an Anwendungen (oder muss man jetzt auch unter Linux schon volksdeutsch "App" sagen :D ) oben drauf kommt oder dazwischen geklemmt wurde, und wie man als User damit umgeht, umgehen kann oder umgehen muss.

Wenn ich zB. erwarte genauso wie auf anderen OS auch auf Linux meine globalen Sicherheitseinstellungen mit nur 3 Mausklicks konfigurieren zu können ohne zu wissen was ich da überhaupt ein oder ausschalte, weil ich nicht mal die Begriffe ansatzweise verstehe die sich dahinter verbergen, dann werde ich wenn ich mir jahrelang vorher in Windows wöchentlich 100 Trojaner eingefangen habe, mit Linux auch nicht wesentlich sicherer unterwegs sein.

Das Hauptsicherheitsproblem jedes PC Betriebssystems sitzt 60 cm vor dem Bildschirm und wenn man für Linux-Schadcode die selbe Zeit für die Entwicklung investieren würde und dabei genauso trickreich vorgehen würde wie man es bei Windows tun muss, bei der derzeitigen allgemeinen Unbekümmertheit der User .... Ich glaube nicht, dass man dann immer noch von Sicherheitsvorteilen bei Linux reden würde.

Es gäbe da viele Fassetten die man beleuchten könnte, viele konkrete Beispiele die es wert wären mal genauer anzuschauen, man könnte Romane darüber schreiben. Und es gab nicht wenige die seit Jahren gewarnt haben. Viele davon sind ruiger geworden oder ganz verstummt, nicht etwa weil sie in ihren Ansichten nicht auf einem guten Weg waren, sondern weil man ihnen gar nicht zuhören wollte, und sie es aufgegeben haben gegen den Strom zu schwimmen und gegen Windmühlen zu kämpfen.

Einfach mal darüber nachdenken, ist schon der erste Schritt in die richtige Richtung ;)

robi
 

spoensche

Moderator
Teammitglied
Ich mach dann mal den Anfang.

Zu Android und der Malware:

Es mag verwunderlich sein, dass es viel Malware für Android gibt, obwohl es ein linuxbasiertes System ist. Eine der Ursachen ist die Architektur von Android, die wie folgt aufgebaut ist:

Die untere Schicht bildet der Linux Kernel zum steuern der Hardware etc. und einige Linux-Tools die zur Erstellung des Dateisystems, etc. verwendet werden. Die Schicht zwischen Kernel und den User Anwendungen bildet die Dalvik Java Virtual Machine. Die Dalvik JVM ist quasi ein zweites OS auf dem eigentl. OS. Und genau dort liegt das Problem.

Da die Dalvik JVM i.d.R. mit root Berechtigung läuft und nach oben (zum User) hin die Berechtigungen für Anwendung und User begrenzt, können Exploits u.ä. zum umgehen der Restriktionen und zum erlangen von root Rechten führen. Und genau dort setzen Malware- und Virenprogrammierer an und machen sich dies zu Nutze.

Es ist also nicht das Linuxsystem was anfällig ist sondern die Architektur über dem eigentl. Linux System.

Zur Absicherung von Router und LAN bzw. Server:
Wenn man einen Router mit OpenWRT, DD-WRT, Tomato o.ä. sein eigen nennt, hat man gegenüber anderen Routern einen großen Vorteil. Man kann seine Firewall Regeln selbst gestalten, durch zusätzliche Software, wie z.B. Fail2ban, Scanlog, etc. weitere Sicherheitsvorkehrungen treffen. (Scanlog ist ein Portscan Detector, der die IP des Scanners für einen bestimmten Zeitraum oder dauerhaft blockt)

Eine efektive Schutzmaßnahme ist folgende:

- Man erstellt mit IPset Blocklisten, mit den bei Spamhaus, DSHIELD, etc. bekannten IP- Addressen.
- Diese IPSet's kann man dann mit IPTables direkt am Anfang der Regelwerke verwerfen und ist schon mal eine ganze Menge Unrat los.

IPSets sind z.B. hashmaps und der Kernel so sehr effizient und performant mit sehr vielen Adressen arbeiten.

Unter http://rules.emergingthreats.net findet man tagesaktuelle blockrules für IP's die Spamhaus, Dshield etc. bekannt sind.

Die Aktualisierung der Blocklisten kann man bequem per Cronjob durchführen.
 
Hallo!
Das Thema ist sehr interessant. Das was @spoensche geschrieben hat noch interessanter.
Ist es möglich für einen normalen user (so wie ich) der zwar Ahnung hat das er eine IP Adresse für Internet benötigt und das Ports an seinem PC existieren und werden von Programmen benutzt (auch von infizierten Programmen) ein Wissen ansammeln und dann anwenden?
Man lernt durch Lesen und dann Anwenden.
Die Frage stellt sich aber, was und wo lesen, im Internet steht doch so viel Müll, und wer kann uns (normalen user) den richtigen Weg zeigen.

Grüße Heinz-Peter
 

muck19

Hacker
Lurchi schrieb:
Orwells 1984.
Bzw. die Vorbereitung für den 3. Weltkrieg, der dann nur noch mit der Tastatur ausgetragen wird. Wer zuerst lebenswichtige Infrastruktur des Gegners ausgeschaltet hat - hat "gewonnen" :irre:
Kostet gegenüber einem konventionellen Krieg auch nur peanuts -

Gruss
Michael
 
spoensche schrieb:
Eine efektive Schutzmaßnahme ist folgende:

- Man erstellt mit IPset Blocklisten, mit den bei Spamhaus, DSHIELD, etc. bekannten IP- Addressen.
- Diese IPSet's kann man dann mit IPTables direkt am Anfang der Regelwerke verwerfen und ist schon mal eine ganze Menge Unrat los.

IPSets sind z.B. hashmaps und der Kernel so sehr effizient und performant mit sehr vielen Adressen arbeiten.

Unter http://rules.emergingthreats.net findet man tagesaktuelle blockrules für IP's die Spamhaus, Dshield etc. bekannt sind.

Die Aktualisierung der Blocklisten kann man bequem per Cronjob durchführen.
Ist für mich Latein.
Kannst mir sagen wie man solche IPset Blocklisten erstellt?
Gruß Heinz-Peter
 

spoensche

Moderator
Teammitglied
Heinz-Peter schrieb:
spoensche schrieb:
Eine efektive Schutzmaßnahme ist folgende:

- Man erstellt mit IPset Blocklisten, mit den bei Spamhaus, DSHIELD, etc. bekannten IP- Addressen.
- Diese IPSet's kann man dann mit IPTables direkt am Anfang der Regelwerke verwerfen und ist schon mal eine ganze Menge Unrat los.

IPSets sind z.B. hashmaps und der Kernel so sehr effizient und performant mit sehr vielen Adressen arbeiten.

Unter http://rules.emergingthreats.net findet man tagesaktuelle blockrules für IP's die Spamhaus, Dshield etc. bekannt sind.

Die Aktualisierung der Blocklisten kann man bequem per Cronjob durchführen.
Ist für mich Latein.
Kannst mir sagen wie man solche IPset Blocklisten erstellt?
Gruß Heinz-Peter

Na klar. Hier ein Script dafür:
Code:
#!/bin/sh

BLOCKLIST_FILE="/var/cache/ip-blocklist"
FWREV_LOC="0"
FWREV_ON="0"
FWREV_FILE="/var/cache/ip-blocklist.fwrev"
IPBL_SAVE="/var/cache/ip-blocklist.save" 
ETURL="http://rules.emergingthreats.net/fwrules"

[ -f $FWREV_FILE ] && FWREV_LOC=$(cat $FWREV_FILE)

FWREV_ON=$(curl $ETURL/FWrev)
echo $FWREV_ON
[ $? -eq 0 ] || (echo "Could not get $ETURL/FWrev." && exit 1;)

#[ $FWREV_LOC -lt $FWREV_ON ] || echo "No updates available." && exit 1;

curl -o $BLOCKLIST_FILE $ETURL/emerging-Block-IPs.txt || (echo "Could not load blocklist." && exit 1)
  
# Make sure sets exists
ipset -! create blocklist-hosts hash:ip hashsize 26244
ipset -! create blocklist-net hash:net hashsize 3456

# Make sure temporary sets does not exists
if ipset -n list | grep "blocklist-hosts-tmp" > /dev/null; then
    ipset destroy blocklist-hosts-tmp > /dev/null
fi
if ipset -n list | grep "blocklist-net-tmp" > /dev/null; then
    ipset destroy blocklist-net-tmp > /dev/null
fi


# Host IP's
echo "create blocklist-hosts-tmp hash:ip hashsize 26244" > /tmp/iplist
sed -rne 's/^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})$/add blocklist-hosts-tmp \1/p' < $BLOCKLIST_FILE >> /tmp/iplist 
echo "" >> /tmp/iplist

# Networks
echo "create blocklist-net-tmp hash:net hashsize 3456" >> /tmp/iplist
sed -rne 's/^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\/[0-9]{1,2})$/add blocklist-net-tmp \1/p' < $BLOCKLIST_FILE >> /tmp/iplist

echo "COMMIT" >> /tmp/iplist

if ! uniq -u /tmp/iplist | ipset -! restore > /dev/null; then
    echo "ipset restore failed"; exit 1;
fi

# swap the sets
ipset swap blocklist-hosts-tmp blocklist-hosts
ipset swap blocklist-net-tmp blocklist-net

ipset destroy blocklist-hosts-tmp
ipset destroy blocklist-net-tmp

# Backup the sets to restore, e.g. due to an reboot
ipset save blocklist-hosts > $IPBL_SAVE
echo "" >> $IPBL_SAVE
ipset save blocklist-net >> $IPBL_SAVE
echo "COMMIT" >> $IPBL_SAVE

# cleanup
rm $BLOCKLIST_FILE
rm /tmp/iplist

Die passende IP-Tables Regel:
Code:
iptables -A INPUT -m set --match-set blocklist-hosts src -j DROP
iptables -A INPUT -m set --match-set blocklist-net src -j DROP

Die IP-Tables Regel bewirkt folgendes:
Für die Chain INPUT übrprüfe, ob die Quell IP in einer der beiden Blocklisten vorhanden ist und wenn dies der Fall ist, dann droppe die Pakete.
 
spoensche schrieb:
Na klar. Hier ein Script dafür:
Danke für Antwort. Ich hoffe, ich gehe dir nicht auf die Nerven aber ich habe noch weitere Fragen zu dem Thema.
1. Soll ich das Script in eine Datei speichern, ausführbar machen und als root ausführen.
2. Ist das Speicherort des Scripts egal?

Soll ich die zwei iptables Kommandos als root ausführen?
Soll ich die zwei iptables Kommandos nur einmal nach dem ich das Script gestartet habe ausführen?
Die passende IP-Tables Regel:
Code:
iptables -A INPUT -m set --match-set blocklist-hosts src -j DROP
iptables -A INPUT -m set --match-set blocklist-net src -j DROP
Ich habe zu dem Thema ein Link gefunden.
Kann ich hier was lernen oder hast noch was für mich?
Gruß Heinz-Peter
 

josef-wien

Ultimate Guru
Für mein Gefühl kommt bei den einzelnen Beiträgen nicht immer heraus, von welchem Szenario geschrieben wird:

1. Es wird ein Server betrieben, der aktiv Dienste im Internet anbietet.

2. Das Internet wird nur passiv verwendet ("surfen", "chatten", telefonieren, e-mails empfangen und senden).

Szenario 1 stellt wesentlich mehr Anforderungen als Szenario 2.
_______

Am PC mit openSUSE würde ich die iptables-Befehle in den Abschnitt fw_custom_after_chain_creation() der Datei /etc/sysconfig/scripts/SuSEfirewall2-custom (die Du in /etc/sysconfig/SuSEfirewall2 aktivieren mußt) stellen. Die Fragen zum Skript, das für mich in das Szenario 1 fällt, muß Dir spoensche beantworten. Besser sollte das Ganze aber (einschließlich ip6tables) schon am Router passieren.

Zu iptables: http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html
Zu netfilter (was "unter" iptables steckt): http://www.netfilter.org/
Allgemein: http://www.oreilly.de/open-books/index.html
 
josef-wien schrieb:
Für mein Gefühl kommt bei den einzelnen Beiträgen nicht immer heraus, von welchem Szenario geschrieben wird:
Also ich benutze Internet zum surfen, e-mails empfangen und senden, aber auch hin und wiedermal zu einkaufen. Ich habe wireshark bei mir installiert und festgestellt das obwohl kein Browser läuft gehen von meinem PC viele Aktivitäten ins Internet. Vor Jahren hatte ich unter Windows das Programm ZoneAlarm der mich informiert hat wenn ein Programm ins Internet wollte. Ich konnte entscheiden ob es darf. Wie ich jetzt mit wireshark festgestellt habe ist es unter Linux mit dem verhalten nicht besser.

Gibt es unter Linux eine Möglichkeit so eine ungewollte Internet Aktivitäten zu kontrollieren und gleichzeitig zu verbieten?
Gruß Heinz-Peter
P.S. Danke für die Links und für die Beiträge.
 

josef-wien

Ultimate Guru
Heinz-Peter schrieb:
obwohl kein Browser läuft gehen von meinem PC viele Aktivitäten ins Internet
Bist Du sicher, daß es sich hier nicht um die übliche netzinterne Dauer-Kommunikation (z. B. zwischen PC und Router) handelt? Um welche Adressen handelt es sich?
 
Oben