SVN ที่เก็บรหัสผ่านที่เข้ารหัส


109

ฉันติดตั้ง SVN บนเครื่อง Ubuntu และฉันไม่สามารถคาดเดาอะไรบางอย่างได้

เมื่อใดก็ตามที่ฉันชำระเงินจากเครื่องเทอร์มินัลฉันได้รับข้อผิดพลาดเกี่ยวกับการบันทึกรหัสผ่านที่ไม่ได้เข้ารหัส:

-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

   <[...]> Subversion Repository

can only be stored to disk
unencrypted!  You are advised to
configure your system so that
Subversion can store passwords
encrypted, if possible.  See the
documentation for details.

You can avoid future appearances of
this warning by setting the value of
the 'store-plaintext-passwords' option
to either 'yes' or 'no' in
'/home/[...]/.subversion/servers'.
-----------------------------------------------------------------------

ฉันมองมันเล็กน้อย แต่ก็ไม่พบสิ่งที่เป็นประโยชน์ ฉันพบหัวข้อหนึ่งที่ระบุว่านี่เป็นปัญหาของไคลเอ็นต์ไม่ใช่เซิร์ฟเวอร์ แต่ฉันยังไม่มั่นใจ

มันบอกว่า "กำหนดค่าระบบของคุณ"; มันหมายความว่ายังไงกันแน่? เซิร์ฟเวอร์หรือไคลเอนต์? ถ้าฉันเป็นเซิร์ฟเวอร์ฉันจะทำอะไรได้บ้าง? นอกจากซ่อนคำเตือน (เหมือนที่บอก) ...

ขอบคุณ!



1
คำถามนั้นเกี่ยวกับวิธีซ่อนคำเตือนหากคุณไม่ต้องการเข้ารหัสรหัสผ่าน คำถามนี้เกี่ยวกับวิธีกำหนดค่าระบบเพื่อเข้ารหัสรหัสผ่านอย่างถูกต้อง
outis nihil

คำตอบ:


44

มันเป็นปัญหาของลูกค้า เตือนคุณว่าข้อมูลประจำตัวที่ใช้สำหรับเซิร์ฟเวอร์ต่างกันกำลังถูกจัดเก็บเป็นข้อความธรรมดา คุณสามารถซ่อนคำเตือนนั้นหรือใช้ที่เก็บข้อมูลที่เข้ารหัสเพื่อแคชรหัสผ่าน

ดู: http://blogs.collab.net/subversion/2009/07/subversion-16-security-improvements/


14
การจัดเก็บการเข้ารหัสที่นำเสนอคือ GNOME Keyring หรือ Kwallet แต่เนื่องจากฉันไม่ได้ใช้อินเทอร์เฟซเดสก์ท็อปใด ๆ บนเซิร์ฟเวอร์ของฉันฉันจึงเดาว่าการเข้ารหัสนั้นไม่เป็นปัญหา ขวา?
treznik

3
ในความคิดเห็นแรกคุณจะเห็นว่ามีตัวเลือกให้ใช้บรรทัดคำสั่งไม่แน่ใจว่ามันทำงานอย่างไร แต่ดูเหมือนจะเป็นไปได้
frisco

5
ฉันไม่อยากเชื่อเลยว่า svn ไม่ได้จัดเตรียม pw ที่แฮชเช่น htpasswd หรือคล้ายกัน
ง -_- ข

17
@sims Hashing เป็นสิ่งที่ดีหากคุณต้องการยืนยันความถูกต้องของรหัสผ่าน ไคลเอนต์กำลังจะส่งรหัสผ่านไปยังเซิร์ฟเวอร์ดังนั้นการแฮชจึงไม่เพียงพอ คุณต้องจัดเก็บแบบสองทิศทาง
Notinlist

6
คุณจะได้รับโดยไม่ต้อง recompiling บนพื้นฐานubuntuforums.org/showthread.php?t=1348567 เพียงตั้งค่านี้เป็น ~ / .subversion / config [auth] password-stores = gnome-keyring
fikr4n

6

ด้วยการเข้ารหัสรหัสผ่านคุณจะไม่สามารถบรรลุการไม่ปฏิเสธ (ผู้ใช้รายอื่นสามารถใช้แฮชของคุณเหมือนคุณได้) เนื่องจากสิทธิ์ของไฟล์ OS อย่างไรก็ตาม บริษัท ส่วนใหญ่มีการตั้งค่าการโค่นล้มโดยใช้รหัสผ่านโดเมนหรือรหัสผ่าน SSO บางรูปแบบ โดยการเข้ารหัสรหัสผ่านอย่างน้อยคุณก็ต้องปิดบังไม่ให้ผู้อื่นเข้าถึงบัญชีอื่นของผู้ใช้

ฉันยังคงกังวลเกี่ยวกับความแข็งแกร่งของการเข้ารหัส หากรหัสผ่านการโค่นล้มเชื่อมโยงกับบัญชีที่สำคัญอื่น ๆ อาจมีคนทดสอบความแข็งแกร่งของการเข้ารหัสเพื่อถอดรหัสรหัสผ่านออก

ทางออกที่ดีที่สุดคือการตั้งค่าไคลเอนต์โค่นล้มเพื่อปิดรหัสผ่านที่เก็บไว้และบังคับให้ Dev ที่ขี้เกียจตรวจสอบสิทธิ์ทุกครั้ง


13
ข้อเสนอหลัง "ดีที่สุด" หรือไม่นั้นขึ้นอยู่กับปัจจัยอื่น ๆ จะเกิดอะไรขึ้นถ้า devs ต้องเผชิญกับขั้นตอนการคอมมิต / อัปเดตที่ยุ่งยากเริ่มใช้ SVN น้อยลงและด้วยเหตุนี้ความละเอียดของการซิงค์กับผู้อื่นจะหยาบขึ้น? จะเกิดอะไรขึ้นหากพวกเขาเริ่มวิธีการจัดเก็บรหัสผ่านของคณะลูกขุนไว้ที่อื่นและทำให้กระบวนการตรวจสอบสิทธิ์เป็นไปโดยอัตโนมัติอย่างไม่ปลอดภัย?
LarsH

2

ฉันจัดเก็บหนังสือรับรองไว้ในดิสก์ที่เข้ารหัส (แม้ว่าในขณะที่ติดตั้ง encfs ข้อมูลรับรองยังคงเป็นข้อความธรรมดาในบัญชีของฉัน)

$ ls -nl ~/.subversion/
total 20K
-rw-r--r-- 1 1000 1000 4.2K 2009-07-10 13:00 README.txt
lrwxrwxrwx 1 1000 1000   31 2009-10-14 14:31 auth -> ~/crypt/subversion/auth/
-rw-r--r-- 1 1000 1000 5.7K 2009-07-10 13:00 config
-rw-r--r-- 1 1000 1000 3.6K 2009-07-10 13:00 servers

การใช้ git-svn หมายความว่าฉันต้องการข้อมูลประจำตัวน้อยกว่ามากดังนั้นจึงอาจไม่ยุ่งยากเกินไปที่จะไม่บันทึกเลย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.