Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[solved]Problem mit rsync-ssh-Bashscript und Passwortabfrage
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Jimini
l33t
l33t


Joined: 31 Oct 2006
Posts: 601
Location: Germany

PostPosted: Sun Jul 25, 2010 2:28 pm    Post subject: [solved]Problem mit rsync-ssh-Bashscript und Passwortabfrage Reply with quote

Aloha,
ich lasse jeden Morgen ein kleines Bashscript durchlaufen, das unter anderem ein inkrementelles Backup fährt und via SSH auf den Fileserver schiebt:
Code:
rsync -av --delete --stats /daten user@fileserver:/backup/daten/


Ich habe SSH so eingerichtet, dass kein Passwort abgefragt wird und der User sich nur mit einem Keyfile authentifiziert. Führe ich obigen Befehl (als root) in einer Shell aus, funktioniert auch alles, wie es soll - die SSH-Verbindung wird hergestellt, der Datenbestand abgeglichen, fertig. Führe ich hingegen das Bashscript (als root) aus, muss ich das zum Keyfile passende Passwort eingeben.

Hat einer eine Idee, woran das liegen könnte?

MfG Jimini
_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents." (H.P. Lovecraft: The Call of Cthulhu)


Last edited by Jimini on Sun Jul 25, 2010 7:56 pm; edited 1 time in total
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Sun Jul 25, 2010 3:04 pm    Post subject: Reply with quote

Das Passwort zu Keyfile muss immer irgendwann eingegeben werden. Du kannst höchstens einen ssh-agent im Hintergrund laufen haben, mit dem Du Dich verbindest (und der das Passwort schon beim Start kennt); je nach DE (gnome/kde/...) kann dieser ssh-agent bereits beim Start der DE gestartet werden (und möglicherweise wird er dann mit dem Passwort durch irgendeinen Mechanismus der DE versorgt).
In einer neuen Shell ist möglicherweise der Socket des ssh-agent nicht bekannt (wenn Du nicht die entsprechenden Variablen exportierst). Um die Variablen beim Start in einer Datei zu speichern und später zu sourcen, kannst Du beispielsweise net-misc/keychain benutzen.
Back to top
View user's profile Send private message
Jimini
l33t
l33t


Joined: 31 Oct 2006
Posts: 601
Location: Germany

PostPosted: Sun Jul 25, 2010 3:21 pm    Post subject: Reply with quote

Ah okay, das erklärt natürlich so einiges. Ich wusste bisher nicht, dass der ssh-agent nur für die aktuelle Shell das Passwort bereithält - ich werde mir daher mal keychain anschauen. Danke!

MfG Jimini

Edit: http://www.gentoo.org/doc/de/keychain-guide.xml für die, die sich damit befassen möchten.
_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents." (H.P. Lovecraft: The Call of Cthulhu)
Back to top
View user's profile Send private message
Jimini
l33t
l33t


Joined: 31 Oct 2006
Posts: 601
Location: Germany

PostPosted: Sun Jul 25, 2010 7:54 pm    Post subject: Reply with quote

Ich verstehe die Funktionsweise von keychain bzw den Unterschied zu ssh-agent noch nicht ganz. Ich habe gemäß obiger Anleitung folgendes in die .bash_profile von "user1" auf "Server" eingefügt:
Code:
keychain ~/.ssh/id_dsa
. ~/.keychain/$HOSTNAME-sh
. ~/.keychain/$HOSTNAME-sh-gpg

Logge ich mich nun vom Rechner "Client" als "user1" auf "Server" ein, muss ich das Passwort des Keyfiles auf "Client" eingeben. Danach bin ich als "user1" auf "Server" eingeloggt, folgendes wird ausgegeben:
Code:
ssh user1@Server
Enter passphrase for key '/root/.ssh/id_dsa':
Last login: Sun Jul 25 21:26:01 CEST 2010 from atlas on pts/6

 * keychain 2.7.1 ~ http://www.funtoo.org
 * Found existing ssh-agent: 12171
 * Found existing gpg-agent: 12196
 * Known ssh key: /home/user1/.ssh/id_dsa


Bis hierhin funktioniert es so wie zuvor auch mit ssh-agent - allerdings nach wie vor mit dem Nachteil, dass ich einmal das Passwort des Keyfiles eingeben muss, was natürlich mit meinem Script nicht funktioniert.

MfG Jimini

Edit: ich habe das Problem jetzt dadurch gelöst, dass ich auf dem Fileserver einen neuen Benutzer erstellt habe, der eine passwortlose Anmeldung via SSH ermöglicht.
_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents." (H.P. Lovecraft: The Call of Cthulhu)


Last edited by Jimini on Tue Sep 14, 2010 1:19 am; edited 1 time in total
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Sun Jul 25, 2010 8:31 pm    Post subject: Reply with quote

Jimini wrote:
Code:
keychain ~/.ssh/id_dsa
. ~/.keychain/$HOSTNAME-sh
. ~/.keychain/$HOSTNAME-sh-gpg

Wahrscheinlich willst Du beim keychain-Aufruf im Profile noch so Optionen wie --noask --quick (anstelle des Arguments ~/.ssh/id_dsa) benutzen. Du musst dann nur irgendwann einmal das obige keychain-Kommando (oder ssh-add) aufrufen, um den Schlüssel einmalig (pro Computerstart) einzugeben. Dass Du den Schlüssel einmal irgendwo eingeben musst, sollte klar sein.

Edit: Passwortlose Anmeldung bei ssh ist wohl das Schlechtestmögliche. Wenn, dann mach Dir wenigstens einen id_dsa-Schlüssel ohne Passwort, aber auch das ist sicherheitsmäßig schon ein GAU.
Back to top
View user's profile Send private message
Jimini
l33t
l33t


Joined: 31 Oct 2006
Posts: 601
Location: Germany

PostPosted: Sun Jul 25, 2010 9:36 pm    Post subject: Reply with quote

mv wrote:
Edit: Passwortlose Anmeldung bei ssh ist wohl das Schlechtestmögliche. Wenn, dann mach Dir wenigstens einen id_dsa-Schlüssel ohne Passwort, aber auch das ist sicherheitsmäßig schon ein GAU.


Sorry, genau das meinte ich - die Anmeldung erfolgt über einen Public Key ohne Passwort. Allerdings kommen noch 2 Dinge hinzu:
- der Fileserver ist nur aus dem LAN erreichbar
- das Einloggen als der User des Routers, von dem aus die SSH-Verbindung vom Router zum Fileserver aufgebaut wird, ist via SSH nicht möglich. De facto muss man also root-Zugriff haben, um die Verbindung aufbauen zu können, und root-Zugang via SSH ist natürlich ebenfalls nicht möglich

Damit sollte das ganze doch halbwegs sicher sein, oder?

MfG Jimini
_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents." (H.P. Lovecraft: The Call of Cthulhu)
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Mon Jul 26, 2010 8:41 pm    Post subject: Reply with quote

Es kommt darauf an, wie oft Du diesen Zugriff machst: Wenn Du ohnehin bei jedem Einschalten des Rechners als erstes das Passwort für den Public Key eingibst, ist das Vorgehen ziemlich egal. Wenn Du das aber nur relativ selten machst, kann Dein Fileserver bei Benutzung von keychain nur dann über diesen Key kompromitiert werden, wenn zufällig Dein Router genau zu dem Zeitpunkt angegriffen wird (oder ein Troyaner läuft), zu dem Du den Key eingibst - und beim nächsten Start ist die Gelegenheit schon wieder vorüber.
Klar, wenn Du sicher bist, dass Dein Router nie und nimmer übernommen werden kann, ist es wurst.
Aber über Aussagen wie "nur von LAN aus erreichbar" musst Du vorsichtg sein: Es gibt IP-Spoofing, MAC-Spoofing, Ausnutzen von Overflows von Tabellen von IP's oder MACs, ...
Back to top
View user's profile Send private message
Jimini
l33t
l33t


Joined: 31 Oct 2006
Posts: 601
Location: Germany

PostPosted: Mon Jul 26, 2010 9:00 pm    Post subject: Reply with quote

Die beiden Kisten laufen bei mir 24/7, das Script läuft bei mir exakt einmal pro Tag. So wie ich dich verstehe, wäre ein fremder Zugriff auf den Fileserver nur zu exakt diesem Zeitpunkt möglich - von Trojanern mal abgesehen, korrekt? Dass der Router übernommen wird, kann ich natürlich nicht absolut ausschließen ;)

Mal eine Frage aus Interesse - inwieweit kann man IP- bzw MAC-Spoofing entgegenwirken, wenn man bei den iptables-Regeln Zugriff auf bestimmte Services an eine bestimmte NIC bindet?

MfG Jimini
_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents." (H.P. Lovecraft: The Call of Cthulhu)
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6747

PostPosted: Tue Jul 27, 2010 8:17 pm    Post subject: Reply with quote

Jimini wrote:
Die beiden Kisten laufen bei mir 24/7, das Script läuft bei mir exakt einmal pro Tag.

Es kommt nicht darauf an, wie oft das Script gestartet wird, sondern wie lange die Instanz des ssh-agent läuft, in die Du Dein Passwort eingegeben hast: Solange dieser Daemon läuft, kann root ihn ansprechen und entsprechend Zugriff auf Deinen Fileserver erhalten.
Quote:
Mal eine Frage aus Interesse - inwieweit kann man IP- bzw MAC-Spoofing entgegenwirken

Da bin ich kein Spezialist, aber von dem, was ich hörte, so ziemlich gar nicht: Für einen Angreifer mit entsprechenden Kenntnissen dürfte irgendein Mechanismus zum Spoofen immer zu finden sein (falls er physikalisch nahe genug an Dein Netz kommt - u.U. hält ihn halt Dein Internetprovider indirekt davon ab).
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum