การรับรองความถูกต้อง PAM - เครือข่าย SME

ดัชนีทั่วไปของซีรี่ส์: Computer Networks for SMEs: Introduction

สวัสดีเพื่อนและเพื่อน!

ในบทความนี้เราตั้งใจจะเสนอภาพรวมในหัวข้อการพิสูจน์ตัวตนผ่าน PAM. เราคุ้นเคยกับการใช้เวิร์กสเตชันของเรากับระบบปฏิบัติการ Linux / UNIX เป็นประจำทุกวันและเราแทบไม่ได้หยุดศึกษาว่ากลไกการพิสูจน์ตัวตนเกิดขึ้นได้อย่างไรในแต่ละครั้งที่เราเริ่มเซสชัน เรารู้หรือไม่ว่ามีอยู่ของหอจดหมายเหตุ / etc / passwdและ / etc / shadow ที่เป็นฐานข้อมูลหลักของ Authentication Credentials ของผู้ใช้ภายในเครื่อง เราหวังว่าหลังจากอ่านโพสต์นี้คุณจะมีความคิดที่ชัดเจนเกี่ยวกับวิธีการทำงานของ PAM

การรับรอง

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

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

ข้อมูลเพื่อตรวจสอบผู้ใช้สามารถเก็บไว้ในฐานข้อมูลโลคัลบนระบบหรือระบบโลคัลสามารถอ้างถึงฐานข้อมูลที่มีอยู่บนระบบรีโมตเช่น LDAP, Kerberos, ฐานข้อมูล NIS และอื่น ๆ

ระบบปฏิบัติการUNIX® / Linux ส่วนใหญ่มีเครื่องมือที่จำเป็นในการกำหนดค่าเซอร์วิสการพิสูจน์ตัวตนไคลเอนต์ / เซิร์ฟเวอร์สำหรับฐานข้อมูลผู้ใช้ที่พบบ่อยที่สุด ระบบเหล่านี้บางระบบมีเครื่องมือกราฟิกที่สมบูรณ์เช่น Red Hat / CentOS, SUSE / openSUSE และการแจกแจงอื่น ๆ

PAM: โมดูลการตรวจสอบสิทธิ์แบบเสียบได้

ลอส โมดูลที่แทรกสำหรับการพิสูจน์ตัวตน เราใช้ทุกวันเมื่อเราเข้าสู่เดสก์ท็อปของเราด้วยระบบปฏิบัติการที่ใช้ Linux / UNIX และในโอกาสอื่น ๆ อีกมากมายเมื่อเราเข้าถึงบริการในพื้นที่หรือระยะไกลที่มีโมดูล PAM เฉพาะในเครื่อง แทรก สำหรับการตรวจสอบสิทธิ์กับบริการนั้น

แนวคิดที่เป็นประโยชน์เกี่ยวกับวิธีการแทรกโมดูล PAM สามารถรับได้ผ่านลำดับสถานะ ของการรับรองความถูกต้อง en ทีม Debian และ en อื่นกับ CentOS ที่เราจะพัฒนาต่อไป.

debian

เอกสาร

หากเราติดตั้งแพคเกจ libpam-doc เราจะมีเอกสารที่ดีมากอยู่ในไดเรกทอรี / usr / share / doc / libpam-doc / html.

root @ linuxbox: ~ # aptitude ติดตั้ง libpam-doc
รูท @ linuxbox: ~ # ls -l / usr / share / doc / libpam-doc /

นอกจากนี้ยังมีเอกสารเพิ่มเติมเกี่ยวกับ PAM ในไดเรกทอรี:

root @ linuxbox: ~ # ls -l / usr / share / doc / | grep pam
drwxr-xr-x 2 root root 4096 5 เมษายน 21:11 libpam0g drwxr-xr-x 4 root root 4096 7 เม.ย. 16:31 libpam-doc drwxr-xr-x 2 root root 4096 5 เม.ย. 21:30 libpam-gnome- keyring drwxr-xr-x 3 root root 4096 5 เมษายน 21:11 libpam-modules drwxr-xr-x 2 root root 4096 5 เมษายน 21:11 libpam-modules-bin drwxr-xr-x 2 root root 4096 เมษายน 5 21: 11 libpam-runtime drwxr-xr-x 2 root root 4096 5 เมษายน 21:26 libpam-systemd drwxr-xr-x 3 root root 4096 5 เมษายน 21:31 python-pam

เราเชื่อว่าก่อนที่จะค้นหาเอกสารบนอินเทอร์เน็ตเราควรตรวจสอบเอกสารที่ติดตั้งไว้แล้วหรือที่เราสามารถติดตั้งได้โดยตรงจากที่เก็บโปรแกรมที่มีอยู่สำหรับบางสิ่งบางอย่างและหลายครั้งเราคัดลอกไปยังฮาร์ดไดรฟ์ ตัวอย่างมีดังต่อไปนี้:

root @ linuxbox: ~ # less / usr / share / doc / libpam-gnome-keyring / README
gnome-keyring เป็นโปรแกรมที่เก็บรหัสผ่านและความลับอื่น ๆ สำหรับผู้ใช้ รันเป็น daemon ในเซสชันคล้ายกับ ssh-agent และแอ็พพลิเคชันอื่น ๆ ค้นหาผ่านตัวแปรสภาพแวดล้อมหรือ D-Bus โปรแกรมสามารถจัดการคีย์ริงได้หลายคีย์โดยแต่ละคีย์จะมีรหัสผ่านหลักของตัวเองและยังมีคีย์ริงของเซสชันซึ่งจะไม่ถูกเก็บไว้ในดิสก์ แต่จะถูกลืมเมื่อเซสชันสิ้นสุดลง ไลบรารี libgnome-keyring ถูกใช้โดยแอปพลิเคชันเพื่อรวมเข้ากับระบบพวงกุญแจ GNOME

ที่แปลได้อย่างอิสระต้องการที่จะแสดง:

  • gnome-keyring เป็นโปรแกรมที่ดูแลรักษารหัสผ่านและความลับอื่น ๆ สำหรับผู้ใช้ ในแต่ละเซสชันจะรันเป็น daemon คล้ายกับ ssh-agent และกับแอ็พพลิเคชันอื่น ๆ ที่อยู่ผ่านตัวแปรสภาพแวดล้อม - สภาพแวดล้อมหรือผ่าน D-Bus โปรแกรมสามารถจัดการคีย์สตริงได้หลายแบบโดยแต่ละคีย์จะมีรหัสผ่านหลักของตัวเอง นอกจากนี้ยังมีเซสชันพวงกุญแจที่จะไม่ถูกเก็บไว้ในฮาร์ดดิสก์และจะถูกลืมเมื่อเซสชันสิ้นสุดลง. แอปพลิเคชันใช้ไลบรารี libgnome-keyring เพื่อรวมเข้ากับระบบพวงกุญแจ GNOME.

Debian พร้อมระบบปฏิบัติการพื้นฐาน

เราเริ่มต้นจากคอมพิวเตอร์ที่เราเพิ่งติดตั้ง Debian 8 "Jessie" เป็นระบบปฏิบัติการและในระหว่างขั้นตอนการติดตั้งเราเลือกเฉพาะ "ยูทิลิตี้ระบบพื้นฐาน" โดยไม่ต้องทำเครื่องหมายตัวเลือกอื่นเพื่อติดตั้งงาน - งาน หรือแพ็คเกจที่กำหนดไว้ล่วงหน้าเช่นเซิร์ฟเวอร์ OpenSSH หากหลังจากเริ่มเซสชันแรกเราดำเนินการ:

root @ master: ~ # pam-auth-update

เราจะได้รับผลลัพธ์ต่อไปนี้: การรับรองความถูกต้อง PAM - 01

การรับรองความถูกต้อง PAM - 02

ซึ่งแสดงให้เราเห็นว่า PAM Module เดียวที่ใช้จนถึงขณะนั้นคือ UNIX Authentication ยูทิลิตี้ pam-auth-อัปเดต อนุญาตให้เรากำหนดค่านโยบายการพิสูจน์ตัวตนส่วนกลางสำหรับระบบเมื่อใช้โปรไฟล์ที่กำหนดไว้ล่วงหน้าที่จัดเตรียมโดยโมดูล PAM สำหรับข้อมูลเพิ่มเติมโปรดดู คน pam-auth-update.

เนื่องจากเรายังไม่ได้ติดตั้งเซิร์ฟเวอร์ OpenSSH เราจะไม่พบโมดูล PAM ในไดเร็กทอรี /etc/pam.d/ซึ่งจะมีโมดูลและโปรไฟล์ PAM ที่โหลดจนถึงช่วงเวลาเหล่านี้:

รูท @ มาสเตอร์: ~ # ls -l /etc/pam.d/
รวม 76 -rw-r - r-- 1 รูท 235 30 ก.ย. 2014 atd -rw-r - r-- 1 root root 1208 6 เม.ย. 22:06 common-account -rw-r - r-- 1 root root 1221 6 เม.ย. 22:06 common-auth -rw-r - r-- 1 root root 1440 6 เม.ย. 22:06 common-password -rw-r - r-- 1 root root 1156 6 เม.ย. 22:06 common-session -rw -r - r-- 1 root root 1154 6 เม.ย. 22:06 common-session-noninteractive -rw-r - r-- 1 root root 606 Jun 11 2015 cron -rw-r - r - 1 root root 384 Nov 19 2014 chfn -rw-r - r-- 1 root root 92 19 พฤศจิกายน 2014 chpasswd -rw-r - r-- 1 root root 581 Nov 19 2014 chsh -rw-r-- r-- 1 root root 4756 Nov 19 2014 เข้าสู่ระบบ -rw-r - r-- 1 root root 92 พ.ย. 19 2014 ผู้ใช้ใหม่ -rw-r - r-- 1 root root 520 6 ม.ค. 2016 อื่น ๆ -rw-r- -r-- 1 root 92 Nov 19 2014 passwd - rw-r - r-- 1 root root 143 29 มีนาคม 2015 runuser -rw-r - r-- 1 root root 138 29 มีนาคม 2015 runuser-l -rw -r - r-- 1 root root 2257 พ.ย. 19 2014 su - rw-r - r-- 1 รูท 220 ก.ย. 2 2016 systemd-user

ตัวอย่างเช่นการใช้โมดูล PAM /etc/pam.d/chfn ระบบกำหนดค่าบริการ เงาในขณะที่ผ่าน /etc/pam.d/cron daemon ถูกกำหนดค่า cron. หากต้องการเรียนรู้เพิ่มเติมอีกเล็กน้อยเราสามารถอ่านเนื้อหาของแต่ละไฟล์เหล่านี้ซึ่งให้คำแนะนำอย่างมาก เป็นตัวอย่างที่เราให้ไว้ด้านล่างเนื้อหาของโมดูล /etc/pam.d/cron:

root @ master: ~ # น้อยกว่า /etc/pam.d/cron
# ไฟล์คอนฟิกูเรชัน PAM สำหรับ cron daemon

@ รวมการตรวจสอบสิทธิ์ทั่วไป

# ตั้งค่าเซสชันแอ็ตทริบิวต์กระบวนการ loginuid ที่ต้องการ pam_loginuid.so # อ่านตัวแปรสภาพแวดล้อมจากไฟล์ดีฟอลต์ของ pam_env / etc / environment # และ /etc/security/pam_env.conf เซสชั่นที่จำเป็น pam_env.so # นอกจากนี้เซสชันข้อมูลโลแคลอ่านระบบจำเป็น pam_env.so envfile = / etc / default / locale

@ รวมบัญชีทั่วไป
@ รวมเซสชันทั่วไปที่ไม่โต้ตอบ 

# ตั้งค่าขีด จำกัด ของผู้ใช้โปรดกำหนดขีด จำกัด สำหรับงาน cron # ผ่าน /etc/security/limits.conf เซสชันที่ต้องการ pam_limits.so

ลำดับของคำสั่งภายในแต่ละไฟล์มีความสำคัญ โดยทั่วไปเราไม่แนะนำให้แก้ไขใด ๆ เว้นแต่เราจะรู้ดีว่ากำลังทำอะไรอยู่

Debian พร้อม OS พื้นฐาน + OpenSSH

root @ master: ~ # aptitude ติดตั้ง task-ssh-server
จะมีการติดตั้งแพ็คเกจใหม่ต่อไปนี้: openssh-server {a} openssh-sftp-server {a} task-ssh-server

เราจะตรวจสอบว่ามีการเพิ่มและกำหนดค่าโมดูล PAM อย่างถูกต้อง sshd:

root @ master: ~ # ls -l /etc/pam.d/sshd 
-rw-r - r-- 1 รูท 2133 22 ก.ค. 2016 /etc/pam.d/sshd

หากเราต้องการทราบเนื้อหาของโปรไฟล์นั้น:

root @ master: ~ # น้อยกว่า /etc/pam.d/sshd

กล่าวอีกนัยหนึ่งเมื่อเราพยายามเริ่มเซสชันระยะไกลจากคอมพิวเตอร์เครื่องอื่นโดยใช้ SSHการรับรองความถูกต้องบนคอมพิวเตอร์เฉพาะที่ทำได้ผ่านโมดูล PAM sshd ส่วนใหญ่โดยไม่ลืมด้านการอนุญาตและความปลอดภัยอื่น ๆ ที่เกี่ยวข้องกับบริการ ssh เช่นนี้

ในการส่งผ่านเราเพิ่มไฟล์การกำหนดค่าหลักของบริการนี้คือ / etc / SSH / sshd_configและอย่างน้อยที่สุดใน Debian จะมีการติดตั้งตามค่าเริ่มต้นโดยไม่อนุญาตให้ล็อกอินผู้ใช้แบบโต้ตอบ ราก. เราต้องแก้ไขไฟล์เพื่อให้อนุญาต / etc / SSH / sshd_config และเปลี่ยนบรรทัด:

PermitRootLogin โดยไม่ต้องใช้รหัสผ่าน

โดย

PermitRootLogin ใช่

จากนั้นรีสตาร์ทและตรวจสอบสถานะของบริการโดย:

root @ master: ~ # systemctl รีสตาร์ท ssh
root @ master: ~ # systemctl สถานะ ssh

Debian กับเดสก์ท็อป LXDE

เรายังคงอยู่กับทีมเดิม - เราเปลี่ยนชื่อหรือ ชื่อโฮสต์ โดย "กล่องลินุกซ์»สำหรับการใช้งานในอนาคต - ซึ่งเราติดตั้ง LXDE Desktop เสร็จแล้ว มาวิ่งกันเถอะ pam-auth-อัปเดต และเราจะได้รับผลลัพธ์ต่อไปนี้: การรับรองความถูกต้อง PAM - 03

การรับรองความถูกต้อง PAM - 04

ระบบได้เปิดใช้งาน Profiles -Modules- ทั้งหมดที่จำเป็นสำหรับการตรวจสอบสิทธิ์ที่ถูกต้องในระหว่างการติดตั้งเดสก์ท็อป LXDE แล้วซึ่งมีดังต่อไปนี้:

  • UNIX Authentication Module
  • โมดูลที่บันทึกเซสชันผู้ใช้ในกลุ่มควบคุมตามลำดับชั้นของ systemd.
  • โมดูล GNOME Keyring Daemon
  • เราถือโอกาสนี้แนะนำว่าในทุกกรณีเมื่อถูกขอให้ "เปิดใช้โปรไฟล์ PAM" เราจะเลือกตัวเลือก เว้นแต่เราจะรู้ดีว่ากำลังทำอะไรอยู่ หากเราเปลี่ยนการกำหนดค่า PAM ที่ระบบปฏิบัติการสร้างขึ้นเองโดยอัตโนมัติเราสามารถปิดการเข้าสู่ระบบบนคอมพิวเตอร์ได้อย่างง่ายดาย.

ในกรณีข้างต้นเรากำลังพูดถึง การรับรองความถูกต้องภายในเครื่อง หรือการรับรองความถูกต้องกับคอมพิวเตอร์ในระบบที่เกิดขึ้นเมื่อเราเริ่มเซสชันระยะไกลผ่าน SSH.

หากเราใช้วิธีการ การตรวจสอบระยะไกล ในทีมท้องถิ่น สำหรับผู้ใช้ที่มีข้อมูลประจำตัวที่เก็บไว้ในเซิร์ฟเวอร์ OpenLDAP ระยะไกลหรือใน Active Directory ระบบจะคำนึงถึงรูปแบบใหม่ของการพิสูจน์ตัวตนและจะเพิ่มโมดูล PAM ที่จำเป็น

ไฟล์หลัก

  • / etc / passwd: ข้อมูลบัญชีผู้ใช้
  • / etc / shadow: ข้อมูลที่ปลอดภัยของบัญชีผู้ใช้
  • /etc/pam.conf: ไฟล์ที่ควรใช้เฉพาะในกรณีที่ไม่มีไดเร็กทอรี /etc/pam.d/
  • /etc/pam.d/: ไดเร็กทอรีที่โปรแกรมและบริการติดตั้งโมดูล PAM
  • /etc/pam.d/passwd: การกำหนดค่า PAM สำหรับ passwd.
  • /etc/pam.d/common-account: พารามิเตอร์การอนุญาตใช้งานร่วมกับบริการทั้งหมด
  • /etc/pam.d/common-auth: พารามิเตอร์การตรวจสอบความถูกต้องทั่วไปสำหรับบริการทั้งหมด
  • /etc/pam.d/common-รหัสผ่าน: โมดูล PAM ใช้กับบริการทั้งหมดที่เกี่ยวข้องกับรหัสผ่าน - รหัสผ่าน
  • /etc/pam.d/common-session: โมดูล PAM ใช้กับบริการทั้งหมดที่เกี่ยวข้องกับเซสชันผู้ใช้
  • /etc/pam.d/common-session-noninteractive: โมดูล PAM ใช้กับบริการทั้งหมดที่เกี่ยวข้องกับเซสชันที่ไม่ใช่แบบโต้ตอบหรือที่ไม่ต้องการการแทรกแซงของผู้ใช้เช่นงานที่ดำเนินการในตอนต้นและตอนท้ายของเซสชันที่ไม่โต้ตอบ
  • / usr / share / doc / passwd /: ไดเร็กทอรีเอกสาร

ขอแนะนำให้อ่านหน้าคู่มือของ passwd y เงา ตลอด ผู้ชาย passwd y เงาคน. นอกจากนี้ยังเป็นการดีที่จะอ่านเนื้อหาของไฟล์ บัญชีทั่วไป, การตรวจสอบสิทธิ์ร่วมกัน, รหัสผ่านทั่วไป, เซสชันทั่วไป y Common-session-noninteractive.

มีโมดูล PAM

เพื่อรับแนวคิดเกี่ยวกับโมดูล PAM ที่มีให้ priori ในที่เก็บ Debian มาตรฐานเราเรียกใช้:

buzz @ linuxbox: ~ $ aptitude ค้นหา libpam

รายการมีความยาวและเราจะแสดงเฉพาะโมดูลที่แสดงให้เห็นว่ามันครอบคลุมมากแค่ไหน:

libpam-afs-session          - PAM module to set up a PAG and obtain AFS tokens                    
libpam-alreadyloggedin      - PAM module to skip password authentication for logged users
libpam-apparmor             - changehat AppArmor library as a PAM module
libpam-barada               - PAM module to provide two-factor authentication based on HOTP
libpam-blue                 - PAM module for local authenticaction with bluetooth devices
libpam-ca                   - POSIX 1003.1e capabilities (PAM module)                             
libpam-ccreds               - Pam module to cache authentication credentials                      
libpam-cgrou                - control and monitor control groups (PAM)                            
libpam-chroot               - Chroot Pluggable Authentication Module for PAM                      
libpam-ck-connector         - ConsoleKit PAM module                 
libpam-cracklib             - PAM module to enable cracklib support 
libpam-dbus                 - A PAM module which asks the logged in user for confirmation         
libpam-duo                  - PAM module for Duo Security two-factor authentication               
libpam-dynalogin            - two-factor HOTP/TOTP authentication - implementation libs           
libpam-encfs                - PAM module to automatically mount encfs filesystems on login        
libpam-fprintd              - PAM module for fingerprint authentication trough fprintd            
libpam-geo                  - PAM module checking access of source IPs with a GeoIP database      
libpam-gnome-keyring        - PAM module to unlock the GNOME keyring upon login                   
libpam-google-authenticator - Two-step verification                 
libpam-heimdal              - PAM module for Heimdal Kerberos       
libpam-krb5                 - PAM module for MIT Kerberos           
libpam-krb5-migrate-heimdal - PAM module for migrating to Kerberos  
libpam-lda                  - Pluggable Authentication Module for LDA                         
libpam-ldapd                - PAM module for using LDAP as an authentication service              
libpam-mkhomedir            -         
libpam-mklocaluser          - Configure PAM to create a local user if it do not exist already     
libpam-modules              - Pluggable Authentication Modules for PAM                            
libpam-modules-bin          - Pluggable Authentication Modules for PAM - helper binaries          
libpam-mount                - PAM module that can mount volumes for a user session                
libpam-mysql                - PAM module allowing authentication from a MySQL server              
libpam-nufw                 - The authenticating firewall [PAM module]                            
libpam-oath                 - OATH Toolkit libpam_oath PAM module   
libpam-ocaml                - OCaml bindings for the PAM library (runtime)                        
libpam-openafs-kaserver     - AFS distributed filesystem kaserver PAM module                      
libpam-otpw                 - Use OTPW for PAM authentication       
libpam-p11                  - PAM module for using PKCS#11 smart cards                            
libpam-passwdqc             - PAM module for password strength policy enforcement                 
libpam-pgsql                - PAM module to authenticate using a PostgreSQL database              
libpam-pkcs11               - Fully featured PAM module for using PKCS#11 smart cards             
libpam-pold                 - PAM module allowing authentication using a OpenPGP smartcard        
libpam-pwdfile              - PAM module allowing authentication via an /etc/passwd-like file     
libpam-pwquality            - PAM module to check password strength 
libpam-python               - Enables PAM modules to be written in Python                         
libpam-python-doc           - Documentation for the bindings provided by libpam-python            
libpam-radius-auth          - The PAM RADIUS authentication module  
libpam-runtime              - Runtime support for the PAM library   
libpam-script               - PAM module which allows executing a script                          
libpam-shield               - locks out remote attackers trying password guessing                 
libpam-shish                - PAM module for Shishi Kerberos v5     
libpam-slurm                - PAM module to authenticate using the SLURM resource manager         
libpam-smbpass              - pluggable authentication module for Samba                           
libpam-snapper              - PAM module for Linux filesystem snapshot management tool            
libpam-ssh                  - Authenticate using SSH keys           
libpam-sshauth              - authenticate using an SSH server      
libpam-sss                  - Pam module for the System Security Services Daemon                  
libpam-systemd              - system and service manager - PAM module                             
libpam-tacplus              - PAM module for using TACACS+ as an authentication service           
libpam-tmpdir               - automatic per-user temporary directories                            
libpam-usb                  - PAM module for authentication with removable USB block devices      
libpam-winbind              - Windows domain authentication integration plugin                    
libpam-yubico               - two-factor password and YubiKey OTP PAM module                      
libpam0g                    - Pluggable Authentication Modules library                            
libpam0g-dev                - Development files for PAM             
libpam4j-java               - Java binding for libpam.so            
libpam4j-java-doc           - Documentation for Java binding for libpam.so

สรุปข้อสรุปของคุณเอง

CentOS

หากในระหว่างกระบวนการติดตั้งเราเลือกตัวเลือก«เซิร์ฟเวอร์ที่มี GUI«เราจะได้รับแพลตฟอร์มที่ดีในการใช้บริการต่างๆสำหรับเครือข่าย SME CentOS / Red Hat®มีคอนโซลและเครื่องมือกราฟิกที่แตกต่างจาก Debian ซึ่งทำให้ชีวิตง่ายขึ้นสำหรับผู้ดูแลระบบหรือเครือข่าย

เอกสาร

ติดตั้งโดยค่าเริ่มต้นเราพบในไดเรกทอรี:

[root @ linuxbox ~] # ls -l /usr/share/doc/pam-1.1.8/
รวม 256 -rw-r - r--. 1 root root 2045 18 มิ.ย. 2013 ลิขสิทธิ์ drwxr-xr-x. 2 รูท 4096 9 เม.ย. 06:28 น HTML
-rw-r - r--. 1 รูท 175382 5 พ.ย. 19:13 น. Linux-PAM_SAG.txt -rw-r - r--. 1 รูท 67948 18 มิ.ย. 2013 rfc86.0.txt drwxr-xr-x. 2 รูท 4096 9 เม.ย. 06:28 น txt
[root @ linuxbox ~] # ls /usr/share/doc/pam-1.1.8/txts/
README.pam_access README.pam_exec README.pam_lastlog README.pam_namespace README.pam_selinux README.pam_timestamp README.pam_console README.pam_faildelay README.pam_limits README.pam_nologin README.pam_sepermit README.pam_tty_audit README.pam_cracklib README.pam_faillock README.pam_listfile README.pam_permit README pam_shells README.pam_umask README.pam_chroot README.pam_filter README.pam_localuser README.pam_postgresok README.pam_stress README.pam_unix README.pam_debug README.pam_ftp README.pam_loginuid README.pam_pwhistory README.pam_succeed_if README.pam_userdb README.pam_deny README.pam_group README.pam_mail README .pam_rhosts README.pam_tally README.pam_warn README.pam_echo README.pam_issue README.pam_mkhomedir README.pam_rootok README.pam_tally2 README.pam_wheel README.pam_ADMEADME_MEADME

ใช่เราเรียกทีม CentOS ว่า "linuxbox" เช่นเดียวกับ Debian ซึ่งจะให้บริการเราสำหรับบทความในอนาคตเกี่ยวกับ SMB Networks

CentOS พร้อม GNOME3 GUI

เมื่อเราเลือกระหว่างการติดตั้งตัวเลือก«เซิร์ฟเวอร์ที่มี GUI«เดสก์ท็อป GNOME3 รวมถึงยูทิลิตี้และโปรแกรมพื้นฐานอื่น ๆ ได้รับการติดตั้งเพื่อพัฒนาเซิร์ฟเวอร์ ในระดับคอนโซลเพื่อทราบสถานะการรับรองความถูกต้องที่เราดำเนินการ:

[root @ linuxbox ~] # authconfig-tui

การรับรองความถูกต้อง PAM - 05

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

CentOS ที่มี GNOME3 GUI เข้าร่วมกับ Microsoft Active Directory

การรับรองความถูกต้อง PAM - 06

อย่างที่เราเห็นมีการเพิ่มและเปิดใช้งานโมดูลที่จำเป็น -winbind- สำหรับการตรวจสอบสิทธิ์กับ Active Directory ในขณะที่เราตั้งใจปิดการใช้งานโมดูลเพื่ออ่านลายนิ้วมือเนื่องจากไม่จำเป็น

ในบทความในอนาคตเราจะกล่าวถึงรายละเอียดเกี่ยวกับวิธีการเข้าร่วมไคลเอนต์ CentOS 7 กับ Microsoft Active Directory เราคาดการณ์เฉพาะสิ่งนั้นโดยใช้เครื่องมือ autoconfig-gtk การติดตั้งแพ็กเกจที่จำเป็นการกำหนดค่าการสร้างไดเร็กทอรีอัตโนมัติของผู้ใช้โดเมนที่รับรองความถูกต้องภายในเครื่องและกระบวนการเข้าร่วมไคลเอนต์กับโดเมนของ Active Directory เป็นแบบอัตโนมัติอย่างมาก บางทีหลังจากการรวมกันแล้วจำเป็นต้องรีสตาร์ทคอมพิวเตอร์เท่านั้น

ไฟล์หลัก

ไฟล์ที่เกี่ยวข้องกับ CentOS Authentication อยู่ในไดเร็กทอรี /etc/pam.d/:

[root @ linuxbox ~] # ls /etc/pam.d/
atd liveinst smartcard-auth-ac authconfig login smtp authconfig-gtk อื่น ๆ smtp.postfix authconfig-tui passwd sshd config-util password-auth su crond password-auth-ac sudo cups พลูโต sudo-i chfn polkit-1 su-l chsh postlogin ระบบตรวจสอบลายนิ้วมือ auth postlogin-ac system-auth-ac ลายนิ้วมือ auth-ac ppp system-config-authentication gdm-autologin remote systemd-user gdm-Fingerprint runuser vlock gdm-launch-environment runuser-l vmtoolsd gdm-password samba xserver การตั้งค่า gdm-pin gdm-smartcard smartcard-auth

มีโมดูล PAM

เรามีที่เก็บ ฐาน, centosplus, epel, y การปรับปรุง. ในนั้นเราพบ -among อื่น ๆ - โมดูลต่อไปนี้โดยใช้คำสั่ง ยำค้นหาแพม -ยำค้นหา pam_และ ยำค้นหา libpam:

nss-pam-ldapd.i686: โมดูล nsswitch ที่ใช้ไดเร็กทอรีเซิร์ฟเวอร์ nss-pam-ldapd.x86_64: โมดูล nsswitch ที่ใช้ไดเร็กทอรีเซิร์ฟเวอร์ ovirt-guest-agent-pam-module.x86_64: โมดูล PAM สำหรับ pam oVirt Guest Agent -kwallet.x86_64: โมดูล PAM สำหรับ KWallet pam_afs_session.x86_64: AFS PAG และ AFS โทเค็นในการเข้าสู่ระบบ pam_krb5.i686: โมดูลการตรวจสอบความถูกต้องแบบเสียบได้สำหรับ Kerberos 5 pam_krb5.x86_64: โมดูลการตรวจสอบความถูกต้องแบบเสียบได้สำหรับเซิร์ฟเวอร์ Kerberos a-5 pamAP_mapi กับเซิร์ฟเวอร์ Kerberos .x86_64: โมดูล PAM สำหรับการตรวจสอบการล็อกอินแบบเสียบได้สำหรับ OATH pam_pkcs86.i64: PKCS # 11 / NSS PAM login module pam_pkcs686.x11_11: PKCS # 86 / NSS PAM login module pam_radius.x64_11: PAM Module for RADIUS Authentication pam_script.x86 โมดูลสำหรับเรียกใช้สคริปต์ pam_snapper.i64: โมดูล PAM สำหรับการเรียกใช้ snapper pam_snapper.x86_64: โมดูล PAM สำหรับการเรียกใช้ snapper pam_ssh.x686_86: โมดูล PAM สำหรับใช้กับคีย์ SSH และ ssh-agent pam_ssh_agent_64 86: โมดูล PAM สำหรับการพิสูจน์ตัวตนด้วย ssh-agent pam_ssh_agent_auth.x64_686: โมดูล PAM สำหรับการพิสูจน์ตัวตนด้วย ssh-agent pam_url.x86_64: โมดูล PAM เพื่อพิสูจน์ตัวตนกับเซิร์ฟเวอร์ HTTP pam_wrapper.x86_64: เครื่องมือสำหรับทดสอบแอปพลิเคชัน PAM และโมดูล PAM pam_yubico.x86_64: โมดูลการตรวจสอบความถูกต้องแบบเสียบได้สำหรับ yubikeys libpamtest-doc.x86_64: เอกสาร libpamtest API python-libpamtest.x86_64: ตัวห่อ python สำหรับ libpamtest libpamtest.x86_64: เครื่องมือสำหรับทดสอบแอปพลิเคชัน PAM และโมดูล PAM เครื่องมือ libpamtest-devel.x86_64 แอปพลิเคชัน PAM และโมดูล PAM

ข้อมูลอย่างย่อ

สิ่งสำคัญคือต้องมีความรู้ขั้นต่ำเกี่ยวกับ PAM หากเราต้องการทำความเข้าใจโดยทั่วไปว่าการพิสูจน์ตัวตนดำเนินการอย่างไรทุกครั้งที่เราลงชื่อเข้าใช้คอมพิวเตอร์ Linux / UNIX ของเรา สิ่งสำคัญคือต้องทราบว่ามีเพียง Local Authentication เท่านั้นที่เราสามารถให้บริการกับคอมพิวเตอร์เครื่องอื่น ๆ ในเครือข่าย SME ขนาดเล็กเช่น Proxy, Mail, FTP และอื่น ๆ ทั้งหมดรวมอยู่ในเซิร์ฟเวอร์เครื่องเดียว บริการก่อนหน้านี้ทั้งหมดและอื่น ๆ อีกมากมายตามที่เราเห็นก่อนหน้านี้ - มีโมดูล PAM

ปรึกษาแหล่งที่มา

เวอร์ชัน PDF

ดาวน์โหลดเวอร์ชัน PDF ที่นี่.

พบกันใหม่บทความหน้า!

ผู้แต่ง: Federico A.Valdes Toujague
federicotoujague@gmail.com
https://blog.desdelinux.net/author/fico


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   จิ้งจก dijo

    บทความที่มีรายละเอียดมากเกี่ยวกับการรับรองความถูกต้องโดยใช้ PAM ฉันยอมรับว่าฉันไม่ทราบรายละเอียดเกี่ยวกับการดำเนินการตรวจสอบสิทธิ์และแอปพลิเคชันที่มีรายละเอียดและปลอดภัยมากขึ้นไม่รู้จบที่เราสามารถมอบให้คุณได้ นี่เป็นบทความที่ยอดเยี่ยมที่ช่วยให้คุณเห็นภาพขอบเขตของการพิสูจน์ตัวตน PAM ซึ่งอาจมีหลายวัตถุประสงค์ในธุรกิจ SMEs

    อีกหนึ่งผลงานที่ยอดเยี่ยมของคุณขอบคุณมากสำหรับวัสดุ Fico ที่ดีเช่นนี้

  2.   ไม่ระบุชื่อ dijo

    ขอบคุณสำหรับความคิดเห็นของคุณ Luigys ที่รัก วัตถุประสงค์ของบทความนี้คือเพื่อเปิดใจผู้อ่านเกี่ยวกับ PAM และโมดูลต่างๆ ฉันคิดว่าโพสต์ประสบความสำเร็จ
    ฉันแจ้งให้คุณทราบว่าความคิดเห็นไม่สามารถส่งถึงฉันทางไปรษณีย์ได้

  3.   เฟเดริโก้ dijo

    ฮ่า ๆ ฉันลืมเขียนที่อยู่อีเมลของฉันในความคิดเห็นก่อนหน้านี้ นั่นเป็นเหตุผลที่ Anonymous ออกมา 😉

  4.   โฮทูจี dijo

    บทความยอดเยี่ยมเช่นเคย

  5.   นักล่า dijo

    Federico ให้คำแนะนำอย่างมากฉันต้องจัดการกับ PAM มากกว่าหนึ่งครั้งและฉันชื่นชมการออกแบบมันมีประโยชน์มากที่จะสามารถแทรกฟังก์ชันใน hooks ที่อนุญาตได้เช่นสิ่งสุดท้ายที่ฉันทำคือ REST API ใน Python / กระติกน้ำที่รวบรวมการเข้าสู่ระบบและการออกจากระบบของผู้ใช้โดเมนของฉัน (สไตล์พี่ใหญ่รู้ทุกอย่าง) เนื่องจากพวกเขาเดาไม่ออกว่าฉันโทรไป curl เพื่อแจ้ง api ที่ไหน? ใช่แล้วกับ PAM

  6.   เฟเดริโก้ dijo

    ขอบคุณ HO2GI สำหรับการประเมินโพสต์
    Dhunter: ทักทายอีกครั้ง เช่นเคยคุณกำลังทำสิ่งที่น่าสนใจมาก ไม่มีอะไรโพสต์นี้เป็นหนึ่งในรายการที่ฉันแคตตาล็อก "เพื่อเปิดใจ"