Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Cryptography & Encryption Ver- und Entschlüsselung, Algorithmen, Kryptoanalyse ? Kryptographie in der Praxis. Blowfish, Triple-DES, XOR u.a.

Passphrase Pentagon sicher schützen

Diskussion: Passphrase Pentagon sicher schützen im Forum Cryptography & Encryption, in der Kategorie Security Area; Anzeige Ich suche nach einer Möglichkeit eine sehr wertvolle Passphrase für Hacker Angriffe zu verstecken. Die Passphrase wird benötigt um ...

Antwort
Alt 27.12.11, 01:40   #1 (permalink)
 
Registriert seit: 27.12.11
LightningFury Leistung: Facit NTK
Likes: 1
Standard Passphrase Pentagon sicher schützen

Anzeige

Ich suche nach einer Möglichkeit eine sehr wertvolle Passphrase für Hacker Angriffe zu verstecken. Die Passphrase wird benötigt um ein Art digitale Brieftasche zu entschlüsseln. Das heißt wenn auf meinem Server ne Transaktion durchgeführt werden muss, ist es nötig vorher die Brieftasche zu entschlüsseln die Transaktion auszuführen und danach wieder zu verschlüsseln.
Jetzt ist mir das aber zu unsicher die Passphrase auf dem Server liegen zu haben weil wenn der FTP gehackt wird hat der Angreifer die Passphrase und benötigt nur noch das Wallet. dazu muss er den ganzen Server knacken weil der nicht im Webserver / FTP Verzeichnis liegt. Aber wenn es um eine Menge Geld geht.... kennt man ja^^

Habe mir so gedacht die Passphrase auf einem anderen Server abzulegen die nur über einen Schlüssel abrufbar + der Richtigen IP (meinem Server) möglich ist. Sind diese beiden Faktoren richtig wird die Passphrase wiederum verschlüsselt gesendet (mycrypt)
und anhand einem Schlüssel entschlüsselt und zur richtigen Passphrase zusammengesetzt. Ich wollte anfangs noch einen weiteren Schlüssel in die MySQL Datenbank einbauen der dort erst raus gezogen werden muss aber wenn der FTP gehackt wird kann man das alles nachvollziehen weil ja alle Informationen vorliegen.

Dann gibts die Möglichkeit das ganze außerhalb des begehbaren FTPs zu speichern eine ebene höher allerdings wohl ist mir dabei auch nicht. Zur Zeit überlege ich mir vielleicht durch eine MD5 Checksumme von irgendwelchen Files den Zugangshash zum Zweitserver zu vereiteln im Falle irgend ein Fremdzugang findet statt bzw. mein eigener auf das ich das ganze nach jedem Login neu justieren müsste. Wäre mir aber in dem Fall egal. Ich hoffe ihr versteht was ich meine

Jemand eine Idee dazu?

LightningFury ist offline   Mit Zitat antworten
Alt 27.12.11, 04:33   #2 (permalink)
 
Benutzerbild von Hackse
 
Registriert seit: 31.07.06
Hackse Leistung: 8086
Likes: 32
Standard

Prinzipiell solltest Du die Passphrase nicht auf dem selben Server liegen haben wie die sensiblen Daten.
Zitat:
dazu muss er den ganzen Server knacken weil der nicht im Webserver / FTP Verzeichnis liegt.
Wenn ich Deinen FTP-Account knacke, gehört Dein ganzer Server bereits mir. Ich befürchte Du unterschätzt hier den Angriffsvektor. Ein Angriff auf einen FTP-Prozess beinhaltet nicht nur das Herausfinden einer gültigen FTP-User/Passwort-Kombination, sondern er kann u. U. zum Ausführen beliebigen Codes führen und somit auch außerhalb Deines FTP-Verzeichnisses agieren. Gerade proFTP hatte i. d. Vergangenheit gerne mal extreme Schwachstellen: Bug 3521 – Telnet IAC processing stack overflow

Die Passphrase erfüllt ihren Zweck nicht, solange diese unverschlüsselt über das Internet versendet wird und das ist bei FTP grundsätzlich der Fall.

Zitat:
Jemand eine Idee dazu?
Hier hast Du 5 Ideen:

1.) FTP-Dienst löschen
2.) SSH installieren
3.) SSH auf Non-Standard-Port > 1024 legen und root-Login abschalten
4.) Die Passphrase auf einen anderen Server legen.
5.) One-Way-Road von einem Server zum Anderen

Wenn die Daten so sensibel sind, würde ich persönlich den harten Weg gehen: Du sagst, Du hast einen zweiten Server? Dann verwende diesen als SSH-Zugangsserver und weise alle anderen TCP/UDP-Anfragen ab (iptables). Dann käme man nur über den Umweg des Zugangsservers auf den Server mit den sensiblen Daten.

Noch zwei Dinge:

I)
Die Großzahl aller erfolgreiche Angriffe, geschieht über den Webserver-Prozess. Wenn möglich, würde ich daher keinen Webserver auf dem Host laufen haben, auf dem die sensiblen Daten liegen.

II)
MD5 ist kein kryptographischer Algorithmus. Den kannst/solltest Du für Verschlüsselung nicht verwenden.

Welches Betriebssystem verwendest Du für den Server?

Greetz
Hackse

Geändert von Hackse (27.12.11 um 04:36 Uhr)
Hackse ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 27.12.11, 15:26   #3 (permalink)
Themenstarter
 
Registriert seit: 27.12.11
LightningFury Leistung: Facit NTK
Likes: 1
Standard

Zitat:
Zitat von Hackse Beitrag anzeigen
Prinzipiell solltest Du die Passphrase nicht auf dem selben Server liegen haben wie die sensiblen Daten.
Ja das war ja das Problem das ich dabei aber trotzdem die Daten zum ermitteln der Passphrase auf dem Hauptserver liegen habe.

Zitat:
Zitat von Hackse Beitrag anzeigen
Wenn ich Deinen FTP-Account knacke, gehört Dein ganzer Server bereits mir. Ich befürchte Du unterschätzt hier den Angriffsvektor. Ein Angriff auf einen FTP-Prozess beinhaltet nicht nur das Herausfinden einer gültigen FTP-User/Passwort-Kombination, sondern er kann u. U. zum Ausführen beliebigen Codes führen und somit auch außerhalb Deines FTP-Verzeichnisses agieren. Gerade proFTP hatte i. d. Vergangenheit gerne mal extreme Schwachstellen: Bug 3521 – Telnet IAC processing stack overflow
Daran habe ich auch schon gedacht, auf einem FTP ganz zu verzichteten braucht man ja auch nicht unbedingt, in früheren Konfigurationen habe ich den selbigen abgeschaltet.

Zitat:
Zitat von Hackse Beitrag anzeigen
Die Passphrase erfüllt ihren Zweck nicht, solange diese unverschlüsselt über das Internet versendet wird und das ist bei FTP grundsätzlich der Fall.
Nein die Passphrase wird nicht unverschlüsselt versendet (Blowfish über file_get_contents() ).

Zitat:
Zitat von Hackse Beitrag anzeigen
Hier hast Du 5 Ideen:

1.) FTP-Dienst löschen
2.) SSH installieren
3.) SSH auf Non-Standard-Port > 1024 legen und root-Login abschalten
4.) Die Passphrase auf einen anderen Server legen.
5.) One-Way-Road von einem Server zum Anderen
Ja hört sich gut an Danke

Zitat:
Zitat von Hackse Beitrag anzeigen
Wenn die Daten so sensibel sind, würde ich persönlich den harten Weg gehen: Du sagst, Du hast einen zweiten Server? Dann verwende diesen als SSH-Zugangsserver und weise alle anderen TCP/UDP-Anfragen ab (iptables). Dann käme man nur über den Umweg des Zugangsservers auf den Server mit den sensiblen Daten.
Ja das wäre machbar

Zitat:
Zitat von Hackse Beitrag anzeigen
Noch zwei Dinge:

I)
Die Großzahl aller erfolgreiche Angriffe, geschieht über den Webserver-Prozess. Wenn möglich, würde ich daher keinen Webserver auf dem Host laufen haben, auf dem die sensiblen Daten liegen.
Entweder das oder ich richte den so ein das er nicht mit der Außenwelt kommunizieren kann sondern nur anhand von LAN mit dem anderen reden darf.

Zitat:
Zitat von Hackse Beitrag anzeigen
II)
MD5 ist kein kryptographischer Algorithmus. Den kannst/solltest Du für Verschlüsselung nicht verwenden.
Ich weiß ich wollte ja auch nur den Authentifizierungsschlüssel zur Abfrage von der Passphrase auf dem zweit Server mit der MD5 Hashsumme anhängen der aus Logfiles gebildet wird und verändert wird sobald unerlaubter zugriff statt findet. War aber nur so eine Idee inwieweit das durchführbar ist weiß ich nicht.

Zitat:
Zitat von Hackse Beitrag anzeigen
Welches Betriebssystem verwendest Du für den Server?
Zur Zeit keines da ich aufgrund der der Änderungen am Projekt das ganze eingefroren habe um mir einen Sicherheitsplan aufzustellen. Gewöhnlich benutze ich Ubuntu 10.04 LTS & CentOS 5.6

Danke erst mal für deine Tipps und Anregungen
LightningFury ist offline   Mit Zitat antworten
Alt 28.12.11, 02:43   #4 (permalink)
Themenstarter
 
Registriert seit: 27.12.11
LightningFury Leistung: Facit NTK
Likes: 1
Standard

Ich teste morgen mal EnGarde Secure Linux :: Download Community Edition
Und integriere Homepage - Hiawatha webserver

Ich glaube der daemon mit dem ich die Passphrase nutze akzeptiert nur Verbinden über Localhost aus Sicherheitsgründen. Werde ich dann morgen sehen

Wie sieht denn eigentlich die Sicherheit zwecks Dovecot und postfix aus? Gibts da irgendwelche Sicherheitslücken?
LightningFury ist offline   Mit Zitat antworten
Alt 28.12.11, 13:57   #5 (permalink)
Moderator
 
Benutzerbild von Tarantoga
 
Registriert seit: 11.02.06
Tarantoga QuadcoreTarantoga QuadcoreTarantoga QuadcoreTarantoga QuadcoreTarantoga QuadcoreTarantoga Quadcore
Likes: 229
Standard

Zitat:
Passphrase Pentagon sicher schützen
Hat alles Vor- und Nachteile:
Zitat:
Vielleicht fragt ihr euch auch gelegentlich, was die Amis eigentlich machen, wenn sie bei einem Verdächtigen eine Festplattenverschlüsselung vorfinden und die Passphrase nicht haben. Nun, hier erzählt ein Angeklagter, der Secret Service habe denjenigen schlicht von der Türkischen Nationalpolizei foltern lassen, bis er die Passphrase rausrückte.
Quelle: Fefes Blog

*scnr*
Tarantoga ist offline   Mit Zitat antworten
Alt 28.12.11, 16:00   #6 (permalink)
 
Benutzerbild von Hackse
 
Registriert seit: 31.07.06
Hackse Leistung: 8086
Likes: 32
Standard

Letzten Endes ist meistens nicht der verwendete Web-Server das Security-Problem, sondern die Web-Anwendungen, die SQL-Injections zulassen. Enttäuschenderweise stelle ich immer wieder fest, dass es hinreichend Firmen gibt, die ihre Benutzerauthentifizierung wie folgt abhandeln:

PHP-Code:
$host   "localhost";
$dbuser "root";
$dbpass "kunden_passwort"
$schema "kunden_db";
$table  "users";

$connect mysql_connect("$host""$dbuser""$dbpass");
if ( ! 
$connect) die ("cannot access database with user $dbuser: " mysql_error() . "<br>");
mysql_select_db($schema$connect) || die ("cannot access schema $schema. <br>");

// make sure user and password were inserted
if (empty($_POST['user']) || empty($_POST['password']))    
  die (
"user or password empty <br>");

// transfer user and password to variables
$user  $_POST['user'];
$pass  $_POST['password'];

// search for matching user and password
$sql mysql_query("select * from $schema.$table where name = '$user' and password = '$pass'");
if ( ! 
$sql) die (mysql_error());

// if user and password correct then login, else exit
$row mysql_fetch_array($sql);  

if (
$row['name'] && $row['password']) 
  echo 
"<font color=green><H1>login success</H1><br>";
else
  echo 
"<font color=red><H1>login failed</H1><br>";

mysql_close(); 
O.g. Code ist natürlich hochgradig sql-injectable und es dauert keine 2 Sekunden, bis man im System ist, daher bitte nicht verwenden.
Zitat:
Ich glaube der daemon mit dem ich die Passphrase nutze akzeptiert nur Verbinden über Localhost aus Sicherheitsgründen.
Wenn es um Security geht, ist Kontrolle immer besser als zu glauben und kontrollieren, ob der Daemon connections von draußen zulässt, kannst Du mit tcpdump.

Zitat:
Wie sieht denn eigentlich die Sicherheit zwecks Dovecot und postfix aus? Gibts da irgendwelche Sicherheitslücken?
Nun, manche Leute setzen darauf, da sich vor allem postfix i. d. Vergangenheit bewährt hat, 1.000.000 Mal getestet wurde und daher sicher sein müsste. Eine solche Implikation kann allerdings auch falsch sein. Ich hatte gestern die Diskussion mit dem Chief Architect von Metasploit (HD Moore). Man hat in BSD-basierten Telnet-Daemons das hier entdeckt und daraus folgenden Exploit bereitgestellt, der es erlaubt unter gewissen Voraussetzungen beliebigen Code in BSD-basierte Telnet-Daemons einzuschleusen und als root auszuführen.

Du siehst also, Dir kann niemand garantieren, dass ein bestimmter Daemon 100% sicher ist und das obwohl telnet ein Unix-Urgestein ist und daher sicher sein sollte. You never know ...

EDIT:

Noch ein Beispiel fällt mir gerade ein:

Vor ca. 10 Jahren brüsteten sich manche Java-Entwickler damit, dass Java im Vergleich zu Ansi-C / C++ so sicher sei, weil Java beim versehentlichen Stackoverflow eine IndexOutOfBounds-Exception wirft, sich außerdem selbst um die Speicherverwaltung und Carbage-Collection kümmert und daher ein heap- oder stackbasierter Fehler als Ursache eines potenziellen Exploits quasi ausgeschlossen sei.

Heute hingegen sind Sicherheitslücken in Java-Plugins des Webbrowsers keine Seltenheit, daher ist das Java-Plugin das erste, das auf meiner langen Lösch-Liste steht. Man hatte also sicherheitstechnisch damals Java anstatt C vorgeschlagen und das ironische an der Sache ist: Mein Web-Browser ist in C gechrieben und Java fliegt raus.


Greetz
Hackse

Geändert von Hackse (28.12.11 um 16:20 Uhr)
Hackse ist offline   Mit Zitat antworten
Alt 01.01.12, 18:44   #7 (permalink)
Themenstarter
 
Registriert seit: 27.12.11
LightningFury Leistung: Facit NTK
Likes: 1
Standard

Zitat:
Zitat von Tarantoga Beitrag anzeigen
Hat alles Vor- und Nachteile:
Quelle: Fefes Blog

*scnr*
Naja so gefährlich sind die Daten jetzt auch wieder nicht, das ich mich mit dem Staat anlege ^^ Von daher mach ich mir keine sorgen. Wenn der Gemeindienst die Passphrase haben will, gerne aber wehe es fehlt dann was


Zitat:
Zitat von Hackse Beitrag anzeigen
Letzten Endes ist meistens nicht der verwendete Web-Server das Security-Problem, sondern die Web-Anwendungen, die SQL-Injections zulassen. Enttäuschenderweise stelle ich immer wieder fest, dass es hinreichend Firmen gibt, die ihre Benutzerauthentifizierung wie folgt abhandeln:

PHP-Code:
$host   "localhost";
$dbuser "root";
$dbpass "kunden_passwort";
$schema "kunden_db";
$table  "users";

$connect mysql_connect("$host""$dbuser""$dbpass");
if ( ! 
$connect) die ("cannot access database with user $dbuser: " mysql_error() . "<br>");
mysql_select_db($schema$connect) || die ("cannot access schema $schema. <br>");

// make sure user and password were inserted
if (empty($_POST['user']) || empty($_POST['password']))    
  die (
"user or password empty <br>");

// transfer user and password to variables
$user  $_POST['user'];
$pass  $_POST['password'];

// search for matching user and password
$sql mysql_query("select * from $schema.$table where name = '$user' and password = '$pass'");
if ( ! 
$sql) die (mysql_error());

// if user and password correct then login, else exit
$row mysql_fetch_array($sql);  

if (
$row['name'] && $row['password'])
  echo 
"<font color=green><H1>login success</H1><br>";
else
  echo 
"<font color=red><H1>login failed</H1><br>";

mysql_close(); 
Ist mir aus langjähriger Erfahrung bekannt ich möchte nicht behaupten das meine Scripte absolut perfekt sind weil ich nur ein Mensch bin aber sowas dürfte bei mir nicht möglich sein
Darf man sowas überhaupt posten ? ist ja gefährlich wenn sowas jemand copy&pasted

Also das Topic hat mich um einiges weiter gebracht unter dem Motto: Weniger ist mehr".
Ich werde wahrscheinlich auf gewisse Dienste verzichten. Mir ist aufgefallen das ich auf das ablegen der Passphrase auf dem Server komplett verzichten kann. Da man das Wallet für interne Transaktionen auch ohne Passphrase benutzen kann und Transaktionen nach außen führe ich am besten lieber per Hand aus. Bedeutet ein wenig Wartezeit aber um einiges höhere Sicherheit.
Es ging im übrigen um den Bitcoin Daemon was man sich bestimmt schon denken konnte

Trotsdem vielen Dank für die Tipps.
LightningFury ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Security Area » Cryptography & Encryption » Passphrase Pentagon sicher schützen
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
GnuPG: Symmetrische Verschlüsselung, Passphrase als Parameter CentralWay Linux/UNIX 6 29.01.09 13:40
Pentagon-crash k00ky Off topic-Zone 41 06.10.06 02:29
der Akrobat und das Pentagon fishboard News & Ankündigungen 15 05.05.05 18:26
Pentagon- & Moon-Hoax Pastor Off topic-Zone 17 28.04.03 02:33


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61