Score:3

วิธีเข้ารหัสรหัสผ่านผู้ใช้ใน Freeradius

ธง eg

ฉันเพิ่งตั้งค่าเซิร์ฟเวอร์ freeradius และต้องการเปลี่ยนรหัสผ่านของผู้ใช้ที่เป็นข้อความธรรมดาเป็นเข้ารหัสในไฟล์ /etc/freeradius/3.0/users

นี่คือลักษณะที่ปรากฏบนเซิร์ฟเวอร์

ป้อนคำอธิบายรูปภาพที่นี่

เมื่อฉันรับรองความถูกต้องบนเซิร์ฟเวอร์ ฉันเห็นชื่อผู้ใช้และรหัสผ่านใน /var/log/freeradius/radius.log ไฟล์. ฉันจะเข้ารหัสได้อย่างไร ฉันใช้เดเบียน

ป้อนคำอธิบายรูปภาพที่นี่

flashbang avatar
cn flag
สำหรับใครก็ตามที่มีคำถามเดียวกันนี้ ฉันได้เพิ่ม [สคริปต์ Perl นี้](https://gist.github.com/rc4/305a7f9cf945127fd045546cad4b13e5) ซึ่งให้บรรทัดการกำหนดค่าที่แน่นอนที่คุณต้องการสำหรับรหัสผ่าน SHA256 ที่เติมเกลือ มันง่ายกว่า Python ด้านล่างเล็กน้อยเช่นกัน IMO เนื่องจากมันถามรหัสผ่านและสร้างเกลือให้คุณโดยอัตโนมัติ ;-)
Score:2
ธง cn

นี่คือรายการของแอตทริบิวต์ที่สอดคล้องกับวิธีการแฮช: https://freeradius.org/radiusd/man/rlm_pap.txt

คำอธิบายแอตทริบิวต์ส่วนหัว
------ --------- -----------
{ชัดเจน} รหัสผ่านข้อความที่ชัดเจน รหัสผ่านข้อความที่ชัดเจน
{cleartext} รหัสผ่านข้อความที่ชัดเจน รหัสผ่านข้อความที่ชัดเจน
{crypt} รหัสผ่านแบบเข้ารหัส "เข้ารหัส" สไตล์ Unix
{md5} MD5-รหัสผ่าน MD5 แฮชรหัสผ่าน
{base64_md5} รหัสผ่าน MD5 MD5 แฮชรหัสผ่าน
{smd5} รหัสผ่านแฮช SMD5-Password MD5 พร้อมเกลือ
{sha} รหัสผ่าน SHA-SHA1 แฮชรหัสผ่าน
                SHA1-รหัสผ่าน SHA1 รหัสผ่านที่แฮช
{ssha} SSHA-รหัสผ่าน SHA1 แฮชรหัสผ่านด้วยเกลือ
{sha2} SHA2-รหัสผ่าน SHA2 แฮชรหัสผ่าน
{sha224} SHA2-รหัสผ่าน SHA2 แฮชรหัสผ่าน
{sha256} รหัสผ่าน SHA2-SHA2 แฮชรหัสผ่าน
{sha384} SHA2-รหัสผ่าน SHA2 แฮชรหัสผ่าน
{sha512} SHA2-รหัสผ่าน SHA2 แฮชรหัสผ่าน
{ssha224} รหัสผ่านที่แฮช SSHA2-224-Password SHA2 พร้อมเกลือ
{ssha256} รหัสผ่านที่แฮช SSHA2-256-Password SHA2 พร้อมเกลือ
{ssha384} รหัสผ่านที่แฮช SSHA2-384-Password SHA2 พร้อมเกลือ
{ssha512} รหัสผ่านที่แฮช SSHA2-512-Password SHA2 พร้อมเกลือ
{nt} NT-Password รหัสผ่านที่แฮชของ Windows NT
{nthash} NT-Password รหัสผ่านที่แฮชของ Windows NT
{md4} NT-Password รหัสผ่านที่แฮชของ Windows NT
{x-nthash} NT-Password รหัสผ่านที่แฮชของ Windows NT
{ns-mta-md5} รหัสผ่านแฮช NS-MTA-MD5-Password Netscape MTA MD5
{x- orcllmv} LM-Password Windows LANMAN แฮชรหัสผ่าน
{X- orclntv} NT-Password รหัสผ่านที่แฮชของ Windows NT

อย่าลืมว่าโปรโตคอลและวิธีการที่คุณใช้ในการรับรองความถูกต้องไคลเอนต์ของคุณจะส่งผลต่อวิธีการแฮชที่คุณสามารถใช้ได้

คุณสามารถค้นหาตารางที่ฉันใช้เพื่อกำหนดค่าเซิร์ฟเวอร์ Freeradius สำหรับโปรโตคอลและรหัสผ่านที่เข้ากันได้: http://deployingradius.com/documents/protocols/compatibility.html

ความเข้ากันได้ของโปรโตคอลและรหัสผ่าน

ในการสร้างรหัสผ่านแบบเค็ม sha256 ฉันใช้สคริปต์ต่อไปนี้บน GitHub (คุณต้องแก้ไข 2 บรรทัดสุดท้ายเพื่อเปลี่ยนรหัสผ่านและเกลือ): https://gist.github.com/bestrocker221/f506eee8ccadc60cab71d5f633b7cc07

eg flag
ขอขอบคุณ . ฉันจะใช้ค่าแฮชเพื่อตรวจสอบสิทธิ์ผ่าน ssh โดยใช้ชื่อผู้ใช้ bob และค่าแฮช "6afedb7a8348eb4ebdbe0c77ef92db4c" ได้อย่างไร
cn flag
การตรวจสอบสิทธิ์โดยใช้ ssh ทำงานหรือไม่ (พร้อมข้อความที่ชัดเจนสำหรับตัวอย่าง). ฉันไม่เคยลองเลย โดยส่วนตัวแล้วฉันใช้ wpa_supplicant เพื่อส่งข้อมูลการเข้าสู่ระบบและรหัสผ่านไปยังสวิตช์ที่เชื่อมต่อกับเซิร์ฟเวอร์ freeradius ของฉัน
eg flag
ใช่แล้ว . ฉันกำหนดค่า /etc/pam.d/ บนเซิร์ฟเวอร์ไคลเอ็นต์และ AAA บนสวิตช์ตัวเร่งปฏิกิริยา ฉันสามารถ ssh โดยใช้ผู้ใช้และรหัสผ่าน cleartext ที่ฉันสร้างบนเซิร์ฟเวอร์รัศมี ฉันทำเช่นเดียวกันกับ MD5 มันใช้งานไม่ได้
cn flag
บางทีการรับรองความถูกต้องโดยใช้โปรโตคอล ssh อาจไม่รองรับการเข้ารหัสใดๆ ของรหัสผ่าน :c
eg flag
ขอบคุณอีกครั้งสำหรับการติดตาม จะช่วยได้หรือไม่หากกำหนดค่า SSL/TLS บนเซิร์ฟเวอร์รัศมี มันจะเข้ารหัสรหัสผ่านในไฟล์ radi.log หรือไม่
cn flag
เมื่อฉันกำหนดค่าโปรโตคอล SSL/TLS บนเซิร์ฟเวอร์รัศมี ฉันสร้างใบรับรอง ลองใช้ PEAP-GTC เนื่องจาก PEAP นำ TLS มาสู่การแลกเปลี่ยนข้อมูลประจำตัว นี่คือสิ่งที่ฉันใช้เพื่อตรวจสอบความถูกต้องด้วยรหัสผ่าน sha256 เค็ม
Score:2
ธง ro

ในระยะสั้น

  1. คุณต้องระบุรูปแบบแฮชของรหัสผ่านแทน Cleartext-รหัสผ่าน, และ
  2. คุณต้องตั้งค่า auth_goodpass และ auth_badpass เป็น 'ไม่' เพื่อป้องกันการบันทึกรหัสผ่าน

การระบุรูปแบบแฮช

ตามที่อธิบายไว้ใน rlm_pap หน้าคนมีการตั้งค่าแฮชรหัสผ่านจำนวนหนึ่งที่สามารถใช้แทนได้ Cleartext-รหัสผ่าน. ลองยกตัวอย่างง่ายๆ MD5-รหัสผ่าน:

#bob Cleartext-รหัสผ่าน := "สวัสดี"
bob MD5-รหัสผ่าน:= "7d793037a0760186574b0282f2f435e7"
        ข้อความตอบกลับ := "สวัสดี %{ชื่อผู้ใช้}"

คุณสามารถสร้างแฮชรหัสผ่าน md5 ได้ง่ายๆ เช่น:

$ echo -n โลก | md5sum | awk '{พิมพ์ $1}'
7d793037a0760186574b0282f2f435e7
$

เมื่อเราทดสอบสิ่งนี้กับเซิร์ฟเวอร์ของเรา เราเห็นว่ามีการรับรองความถูกต้อง:

$ radtest bob world localhost 1 การทดสอบ 123
ส่งรหัสคำขอการเข้าถึง 214 จาก 0.0.0.0:34920 ถึง 127.0.0.1:1812 ความยาว 73
        ชื่อผู้ใช้ = "บ๊อบ"
        รหัสผ่านผู้ใช้ = "โลก"
        NAS-ที่อยู่ IP = 127.0.1.1
        พอร์ต NAS = 1
        ข้อความ-Authenticator = 0x00
        รหัสผ่าน Cleartext = "โลก"
ได้รับ Access-Accept Id 214 จาก 127.0.0.1:1812 ถึง 127.0.0.1:34920 ความยาว 32
        ข้อความตอบกลับ = "สวัสดีครับบ๊อบ"

คุณยังสามารถระบุแฮชของคุณด้วยค่าทั่วไป รหัสผ่านพร้อมส่วนหัว ตัวเลือก:

#bob Cleartext-รหัสผ่าน := "สวัสดี"
bob รหัสผ่านพร้อมส่วนหัว := "{md5}7d793037a0760186574b0282f2f435e7"
        ข้อความตอบกลับ := "สวัสดี %{ชื่อผู้ใช้}"

ซึ่งมีผลเช่นเดียวกับ MD5-รหัสผ่าน รุ่นได้ รายการส่วนหัวที่ยอมรับอยู่ในนั้น rlm_pap หน้าคน

หนึ่งในส่วนหัวที่น่าสนใจที่สุดคือ Crypt-รหัสผ่าน เพราะมันจะเรียกใช้แฮชรหัสผ่านผ่าน libcrypt และจะทำงานกับแฮชที่คุณพบ / etc / เงา. ตัวอย่างเช่น บนระบบ Debian แฮช yescrypt:

รหัสผ่านรหัสลับของ Bob := "$y$j9T$2fOq6bdva3zoX6OfH.JvY0$PbUGbp1U.UXFAnGrkDrYnLZEDK.PXO/HXDsBn4mCsM8"
        ข้อความตอบกลับ := "สวัสดี %{ชื่อผู้ใช้}"

(รหัสผ่านในกรณีนี้คือ a38sgena)

ปิดใช้งานการบันทึกรหัสผ่าน

หากต้องการปิดใช้งานการบันทึกรหัสผ่าน ให้ค้นหา auth_goodpass และ auth_badpass การเลือกภายใน รัศมี.conf ไฟล์:

# บันทึกรหัสผ่านพร้อมคำขอตรวจสอบสิทธิ์
# auth_badpass - บันทึกรหัสผ่านหากถูกปฏิเสธ
# auth_goodpass - บันทึกรหัสผ่านหากถูกต้อง
#
# ค่าที่อนุญาต: {ไม่ ใช่}
#
auth_badpass = ไม่
auth_goodpass = ไม่ใช่

ตรวจสอบให้แน่ใจว่าตั้งค่าเป็น 'ไม่' และการบันทึกของคุณจะหยุดรวมถึงรหัสผ่าน

eg flag
ขอบคุณสำหรับการแก้ปัญหา ฉันเปลี่ยนค่าตามที่ระบุไว้ แต่ฉันสามารถเข้าสู่ระบบผ่าน ssh จากคอมพิวเตอร์เครื่องอื่นด้วยชื่อผู้ใช้และรหัสผ่านข้อความที่ชัดเจน ตอนนี้ฉันไม่สามารถใช้รหัสผ่านแฮช MD5 ได้ ฉันจะบรรลุสิ่งนั้นได้อย่างไร
my flag
หากคุณกำลังเรียกโมดูล PAP หลังจากโมดูลไฟล์ มันควรจะใช้งานได้ นอกจากนี้ คุณต้องตรวจสอบให้แน่ใจว่าแพ็กเก็ต RADIUS มี User-Password เนื่องจากการตรวจสอบสิทธิ์ RADIUS CHAP จะไม่ทำงานกับรหัสผ่านที่แฮช มีเพียงการตรวจสอบสิทธิ์ RADIUS PAP เท่านั้น
gowenfawr avatar
ro flag
คุณกำลังสร้างแฮช MD5 อย่างไร ข้อผิดพลาดทั่วไปคือการพลาดอาร์กิวเมนต์ `-n` ของ `echo` เพื่อให้รหัสผ่านที่แฮชมีการขึ้นบรรทัดใหม่ `echo -n รหัสผ่าน | md5sum` จะสร้างแฮชที่ใช้งานได้สำหรับ 'รหัสผ่าน'

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา