ubuntuusers.de

Linux Homeserver absichern

Status: Gelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

DaniSahne96

Anmeldungsdatum:
16. September 2013

Beiträge: 30

Hallo, ich arbeite im moment Hobbymäßig an einer Android App, die Android App kommuniziert auch mit einem Server - der bei mir Zuhause in Form eines Stromsparenden Mini-PC's steht - der ebenfalls in Java geschrieben ist. Wie kann ich nun meinen HomeServer soweit absichern dass nicht jedes Scriptkiddie da irgendnen Unfug treiben kann. Ich weiß dass es sicherer wäre mir nen gehostet root-server zu mieten, aber das wär mir dann etwas zu teuer, außerdem ist die App nicht so sehr bekannt, dass ich da massig Angriffe zu befürchten habe. Ist ein Server in Java überhaupt sicher? Sollt ich den vielleicht doch in ner andern Sprache schreiben, wenn ja in welcher, und inwiefern kann ich dann mit z.B. mit Android App und C Server kommunizieren.

Lg Dani

Bearbeitet von tomtomtom:

Falsche Angabe in Versionsangabe entfernt.

kamumba

Anmeldungsdatum:
12. September 2013

Beiträge: 18

Hallo Dani,

da schwirren mir jetzt schonmal viele Vorstellungen im Kopf rum wenn ich deinen Beitrag so lesen. Aber ich kann nur mutmaßen. Welches Linux hast du denn auf deinem Stromsparenden Server? Nutzt nur du die App oder auch andere? Wird der Server auch über das Internet genutzt oder nur im lokalen Netzwerk? Dann kannst du nämlich direkt am Router den Zugriff auf das interne Netzwerk blocken.

Wie sicher dein von dir geschriebener Server ist kannst natürlich auch nur du wissen (wenn man mal von bereits erfolgreichen Angreifern absieht)

Die Kommunikation zwischen zwei Teilnehmern (z.B. Server und Android-App) ist erstmal unabhängig von der Programmiersprache sondern von der Protokollsprache.

Also mehr Informationen wären hilfreich für alle die dir helfen möchten.

DaniSahne96

(Themenstarter)

Anmeldungsdatum:
16. September 2013

Beiträge: 30

Ok, da hast du recht, sind wirklich ein paar wenig Infortionen. Auf meinem Server hab ich genau genommen noch kein OS, da ich das im Moment nur auf meinem normalen PC teste, wird aber vermutlich Debian oder Ubuntu-Server sein. Oder habt ihr bessere Empfehlungen? Die App nutze ich und ein paar meiner Kumpels. Die App wird sowohl lokal, als auch WLAN, sowie Mobilfunk genutzt. Die Frage zur Sicherheit vom Server bezog sich nicht auf die Serversoftware speziell, sondern allgemein darauf ob Java im Vergleich mit anderen Sprachen unsicherer ist.

Lg Dani

Ria

Avatar von Ria

Anmeldungsdatum:
4. August 2009

Beiträge: 948

Hi,

ich kann nur sagen, dass man unter Windows Java(nicht Javascript) im Browser deaktiviert, wenn man nicht krank ist. Ob das nun in Deinem Fall etwas zu bedeuten hat, kann ich nicht sagen. Ich öffne nichts was Java auf meiner Kiste erfordern würde. Vielleicht ist das mit Deiner App aber was anderes.

Gruss Ria

DaniSahne96

(Themenstarter)

Anmeldungsdatum:
16. September 2013

Beiträge: 30

Naja, dass mit Java und Android is so ne Sache, eigentlich ist gar kein richtiges Java, es ist Java-Syntax, und verwendet auch Java Klassen, aber es verwendet eine anderen VM.

kamumba

Anmeldungsdatum:
12. September 2013

Beiträge: 18

Also die Sprache alleine lässt noch nichts über die Sicherheit sagen meiner Meinung nach. Man muss halt sehen was man daraus macht. Wenn du alles sauber programmierst und auf die Sicherheit achtest, sodass dein Programm sicher ist, dann hast du die größte Schwachstelle im System schonmal erheblich verringert. Was du für einen Server nimmst ist eine Frage des Geschmacks. Du solltest nur darauf achten nicht genutzte Dienst (wie FTP oder ähnliches) abzuschalten und von den Standard-Ports abzuweichen. Ist zwar nur eine sehr geringe Hürde mit den Ports aber die reinen Skriptkiddies sperrt es aus.

Ansonsten ist es natürlich wichtig das System aktuell zu halten. Also immer schön die Sicherheitsupdates einspielen. Ansonsten fällt mir erstmal nichts weiteres ein.

Wie möchtest du denn mit dem Server kommunizieren? Wirst du einfach einen Webserver aufsetzen und über HTML die Inhalte Abfragen oder loggt man sich über SSH ein oder, order, oder... Da gibt es ja diverse Möglichkeiten und ich denke das ist ein Punkt der auch sehr wichtig ist für die Sicherheit des Gesamtsystems.

DaniSahne96

(Themenstarter)

Anmeldungsdatum:
16. September 2013

Beiträge: 30

Da Client und Server beide Java sind über websockets, ich programmier aber nicht nur Java, sondern auch noch bisschen PHP, irgendwann schau ich mir vllt mal Perl an. Am Ende wirds darauf hinauslaufen, dass ich so alles was in nem typischen rootserver Angebot mit drin is, auch aufm Server hab. Wenn ich was davon gerade nicht brauch, dann deaktivier ich natürlich die ports, und schalte die Software aus.

TheDarkRose

Avatar von TheDarkRose

Anmeldungsdatum:
28. Juli 2010

Beiträge: 3459

Du hast es erfasst, es ist nur das angreifbar das läuft und nach außen hin offen ist. Im Heimnetzwerk kommt der Router hinzu, wo natürlich Portforwarding erforderlich ist und somit auch nur die im Router geöffneten Ports angreifbar sind.

DaniSahne96

(Themenstarter)

Anmeldungsdatum:
16. September 2013

Beiträge: 30

Ist das dann schon alles? Also ich kann natürlich noch in der Serversoftware selber konifugrationen vornehmen, z.B. bei SSH kein rootlogin zu erlauben, aber was kann ich am Server allgemein noch absichern?

Lookbehind

Avatar von Lookbehind

Anmeldungsdatum:
28. Januar 2010

Beiträge: 1070

Du könntest sowas wie AppArmor benutzen, um einzelne Dienste in ein etwas engeres Korsett zu schnüren. Oder gleich einzelne Dienste in virtuelle Maschinen auslagern. Wann da die Grenze des Sinnvollen überschritten ist, muss man selber wissen.

kamumba

Anmeldungsdatum:
12. September 2013

Beiträge: 18

DaniSahne96 schrieb:

Ist das dann schon alles? Also ich kann natürlich noch in der Serversoftware selber konifugrationen vornehmen, z.B. bei SSH kein rootlogin zu erlauben, aber was kann ich am Server allgemein noch absichern?

Was willst du denn noch absichern? Wenn du alles überflüssige abgeschaltet hast dann kann man ja nur über die Kanäle rein, die offen sind. Das ist dann ja nur dein eigenes Programm.

Wenn du es noch sicherer willst dann solltest du den Rechner am besten vom Netz nehmen. 👍

Um deine anderen Rechner im Netzwerk zu sichern könntest du noch mit zwei Routern arbeiten damit man aus dem Internet wirklich nur an den Server kommt und dieser wiederum kommt nich an das interne Netzwerk ran.

Also wie schon erwähnt die größte Sicherheitslücke ist das was du programmiert und konfiguriert hast. Also sauber programmieren und bei allen anderen Programmen darauf achten die Konfiguration korrekt vorzunehmen. Dann kann gar nicht mehr so viel passieren. Einen 100% sicheren Rechner / Server gibt es allerdings nicht. Mit genügend Ressourcen (Zeit, Geld, Wissen, ...) kommt man in jeden Rechner.

DaniSahne96

(Themenstarter)

Anmeldungsdatum:
16. September 2013

Beiträge: 30

Hallo, ich hab mir das viel komplizierter vorgestellt, dass es nicht möglich ist einen Rechner 100% abzusichern ist klar, aber wie gesagt will ich ja nur die kleinen Script kiddies aussperren.

Vielen Dank euch allen.

Mfg Dani

TheDarkRose

Avatar von TheDarkRose

Anmeldungsdatum:
28. Juli 2010

Beiträge: 3459

Wie gesagt, was nicht von außen erreichbar ist, kann nicht angegriffen werden. Aber wenn z.B. der SSH von außen erreichbar ist, dann sollte man dort schon auch den Root-Login deaktivieren, sowie auf Key-Only setzen.

Antworten |