SKZ დისტანციური მომხმარებლის ავტორიზაციის ლინუქსი. CryptoPro JCP Linux-ზე

მთავარი / მობილური მოწყობილობები

ჩვენ ცოტა ხნის წინ ვცვლიდით მომხმარებლის პაროლს Linux-ში, როდესაც შეგვხვდა შეცდომა: Authentication Token Manipulation Error.

პაროლის შესაცვლელად გამოვიყენეთ ნორმალური passwd ბრძანება და მოგვცა ეს შეცდომა და პაროლი არ შეცვლილა.

Sudo passwd my_user_name მომხმარებლის პაროლის შეცვლა my_user_name პაროლის შეცვლა tecmint (მიმდინარე) UNIX პაროლი: passwd: ავტორიზაციის ნიშნის მანიპულირების შეცდომა passwd: პაროლი უცვლელი

Ubuntu-ში ავთენტიფიკაციის ნიშნის მანიპულაციის შეცდომის გამოსწორება

„Authentication Token Manipulation Error“ ნიშნავს, რომ პაროლის შეცვლა რაიმე მიზეზით ვერ მოხერხდა.

ამას შეიძლება რამდენიმე მიზეზი ჰქონდეს. IN მარტივი შემთხვევებიპრობლემის ძირეულ მიზეზს თავად გამომავალში ნახავთ. მაგალითად, თუ პაროლი არ მოგაწოდეთ, ის შეცდომით უნდა ნახოთ:

პაროლი არ არის მოწოდებული passwd: ავტორიზაციის ნიშნის მანიპულირების შეცდომა passwd: პაროლი უცვლელი

ანალოგიურად, თუ პაროლის ხელახლა შეყვანა არ ემთხვევა, ის ასევე აჩვენებს ამ ინფორმაციას:

უკაცრავად, პაროლები არ ემთხვევა passwd-ს: ავტორიზაციის ნიშნის მანიპულირების შეცდომა passwd: პაროლი უცვლელია

ეს მარტივია, რადგან თქვენ იცით, რამ გამოიწვია პრობლემა და შეგიძლიათ მიიღოთ მაკორექტირებელი ზომები ამის საფუძველზე. მაგრამ შეიძლება ყოველთვის არ გაგიმართლოთ, რადგან ზოგიერთ შემთხვევაში ვერცერთს ვერ ნახავთ სასარგებლო ინფორმაცია, მხოლოდ შეცდომა.

მოდით შევხედოთ ამ შემთხვევებს და მოვაგვაროთ ეს პრობლემა.

მეთოდი 1

თუ თქვენ იცნობთ Linux დირექტორიას სტრუქტურას, იცით, რომ /etc/shadow დირექტორია ინახავს პაროლს დაშიფრულ ფორმატში სხვა ინფორმაციას მომხმარებლებისა და მათი პაროლების შესახებ.

ამიტომ უნდა დარწმუნდეთ, რომ გაქვთ ამ ფაილის წაკითხვისა და ჩაწერის ნებართვა. ვინაიდან თქვენ შეცვლით პაროლს, როგორც სუპერმომხმარებელი, ამ ფაილს უნდა ჰქონდეს წაკითხვის და ჩაწერის უფლება root-ისთვის.

თუ ეს ასე არ არის, თქვენ უნდა დააყენოთ სწორი გარჩევადობა:

Sudo chmod 640 /etc/shadow

მეთოდი 2

მეთოდი 1 იმუშავებს უმეტეს შემთხვევაში. მაგრამ ჩვენს შემთხვევაში, ჩვენ უნდა დაგვეყენებინა root დანაყოფი წაკითხვისა და ჩაწერის ნებართვით. ჩვენ ვცადეთ ადმინისტრატორის პაროლის აღდგენა Ubuntu-ში.

Mount -rw -o remount /

ზოგიერთ იშვიათ შემთხვევებში, თქვენი დისკი შეიძლება იყოს იმდენად სავსე, რომ თქვენ ვერ შეძლებთ ცვლილებების შეტანას /etc/shadow ფაილში. მაგრამ თუ ეს ასეა, მაშინ ბევრი სხვა პრობლემა შეგექმნებათ.

ეს მუშაობდა თქვენთვის?

ჩვენ გავუზიარეთ ის, რაც გამოგვივიდა და მხოლოდ იმის იმედი გვაქვს, რომ ის თქვენთვისაც იმუშავებს. გააკეთე ეს? რომელი მეთოდი მუშაობდა თქვენთვის? აღნიშნეთ კომენტარებში.

2020 წლიდან, GOST R 34.10-2001-ის შესაბამისად დაშიფვრის გამოყენება აიკრძალება, რაც ნიშნავს, რომ ყველა ორგანიზაცია, რომელიც ურთიერთობს სამთავრობო უწყებებთან, იძულებულია სასწრაფოდ განახორციელოს შემდეგი სტანდარტი - 2012 წ. თუ ერთ-ერთ მათგანში მუშაობთ, მაშინ არ გაიაროთ: ამ სტატიაში ვისაუბრებთ იმაზე, თუ როგორ უნდა მოაგვაროთ პრობლემა სერვერის CentOS 7-ზე და CryptoPro JCP პაკეტის გამოყენებით.

თუ პირველად გესმით ამ ყველაფრის შესახებ, მაშინ აქ არის პატარა ისტორიული ფონი.

1994 წელს FSB-მ შეიმუშავა მთელი რიგი სტანდარტები და ზომები, რომლებიც შექმნილია ორგანიზაციებსა და ამ პროცესში სხვა მონაწილეებს შორის დოკუმენტების გაცვლის დასაცავად. უსაფრთხოების ერთ-ერთი ღონისძიება იყო დოკუმენტების ელექტრონული ციფრული ხელმოწერა და ერთ-ერთი სტანდარტი იყო GOST R 34.10-94, რომელიც აღწერს ელექტრონული გენერირებისა და გადამოწმების ალგორითმს. ციფრული ხელმოწერა. მიღებული და ძალაში შევიდა რუსეთის სახელმწიფო სტანდარტის 1994 წლის 23 მაისის ბრძანებით, ნომერი 154, იგი მუშაობდა 2001 წლამდე.

იგი შეიცვალა ცნობილი GOST R 34.10-2001-ით - გაუმჯობესებული სტანდარტი, რომელიც შექმნილია ალგორითმის უფრო დიდი სტაბილურობის უზრუნველსაყოფად. მაგრამ დრო არ დგას, იცვლება კრიპტოგრაფიული დაცვის ალგორითმები და მეთოდები და თერთმეტი წლის შემდეგ GOST R 34.10-2001 შეიცვალა GOST R 34.10-2012.

ახალ სტანდარტში პარამეტრის მოთხოვნების პირველი ვერსია იგივე რჩება. საიდუმლო გასაღების სიგრძე დაახლოებით 256 ბიტია და შესაძლებელია ჰეშის ფუნქციის გამოყენება 256 ან 512 ბიტიანი ჰეშის კოდის სიგრძით. ახალ სტანდარტს შორის მთავარი განსხვავებაა ოფციები დამატებითი პარამეტრებიდა სქემები, მათ შორის ჰეშირება GOST R 34.11-2012 "Stribog" სტანდარტის მიხედვით.

ინფორმაცია

სტრიბოგი არის ძველი სლავების ღმერთი, რომელიც მფარველობს ქარებს, ამინდს და ყველაფერს, რაც დაკავშირებულია საჰაერო სივრცესთან. ალბათ ღრუბლოვანი ტექნოლოგიებიიგივე. წაიკითხეთ მეტი ამ შიფრის შესახებ სტატიებში "" და "".

2014 წლის თებერვალში FSB-მ გამოაცხადა ახალი ეროვნული სტანდარტის GOST R 34.10-2012 გამოყენებაზე გადასვლის დაწყება. ელექტრონული ხელმოწერაინფორმაციისთვის, რომელიც არ შეიცავს სახელმწიფო საიდუმლოებას. გამოქვეყნდა 2014 წლის 31 იანვრის №149/7/1/3-58 დოკუმენტი „ციფრული ხელმოწერის ახალი სტანდარტებისა და ჰეშირების ფუნქციების გამოყენებაზე გადასვლის პროცედურის შესახებ“;

  1. 2013 წლის 31 დეკემბრის შემდეგ შეწყვიტე ელექტრონული ხელმოწერის ხელსაწყოების დამოწმება ელექტრონული ხელმოწერის ხელსაწყოების მოთხოვნების შესაბამისად, დამტკიცებული რუსეთის FSB 2011 წლის 27 დეკემბრის №796 ბრძანებით, თუ ეს ხელსაწყოები არ ითვალისწინებს ფუნქციების შესრულებას შესაბამისად. GOST R 34.10-2012-ით.
  2. 2018 წლის 31 დეკემბრის შემდეგ, აიკრძალოს GOST R 34.10-2001 გამოყენება ელექტრონული ხელმოწერის გენერირებისთვის.

კომუნიკაციების სამინისტრომ სტანდარტზე გადასვლის გეგმაც კი შექმნა (PDF). თუმცა, პრაქტიკაში აღმოჩნდა, რომ ყველაფერი არც ისე მარტივია და გარდამავალი უნდა გადაიდოს 2019 წლის 31 დეკემბრამდე. მიზეზები შემდეგია.

  1. ბევრი სახელმწიფო და მუნიციპალური ხელისუფლება არ არის მზად გადავიდეს ახალი ელექტრონული ხელმოწერის სტანდარტზე GOST-2012 პროგრამული უზრუნველყოფის დონეზე მხარდაჭერის არარსებობის გამო.
  2. ახალი ტიპის სერთიფიკატების გასაცემად გჭირდებათ მოწყობილობა, რომელიც მხარს უჭერს ახალ GOST-ს და სერთიფიკატი მთავარი სერტიფიკაციის ორგანოსგან, გენერირებული GOST-2012-ის გამოყენებით. სასერტიფიკაციო ცენტრებმა ის მხოლოდ 2018 წლის ზაფხულში მიიღეს. დამატებითი დროა საჭირო ყველა მომხმარებლისთვის სერტიფიკატების გასაცემად.

ახლა ციფრული ხელმოწერის მუშაობისთვის გამოიყენება კრიპტოგრაფიული დაცვის ორი სტანდარტი, მაგრამ მათ, ვინც იყენებს GOST-2001-ს, სასწრაფოდ უნდა გააკეთონ რაღაც. ზამთარი, როგორც ამბობენ, მოდის და ეს ნიშნავს, რომ ტესტების სერია გველოდება GOST-2012-ის მხარდაჭერის განხორციელებისას.

მე გეტყვით, თუ როგორ უნდა განათავსოთ FSB სერტიფიცირებული CIPF ინსტრუმენტი (CryptoPro JCP) Linux სერვერიმუშაობს Java JDK. სხვათა შორის, თუ ჯერ კიდევ იყენებთ GOST-2001-ს, CryptoPro-ს ვებგვერდზე არის მშვენიერი, გირჩევთ წაიკითხოთ, ზედმეტი არ იქნება.

ბირჟის მონაწილეებს შორის ყველა დოკუმენტური ნაკადი ხდება SMEV პრინციპის მიხედვით (უწყებათაშორისი ელექტრონული ურთიერთქმედების სისტემა). განაცხადი შეიძლება იყოს ასეთი სისტემის მონაწილე, მაგრამ ეს საერთოდ არ ცვლის დოკუმენტების გაცვლის პრინციპს. გასაგებად, მე დავხატე პატარა დიაგრამა.


ფასები

როგორც ყოველთვის, ჩნდება ლიცენზირების საკითხი პროგრამული გადაწყვეტა. CryptoPro JCP არ არის იაფი და თუ ერთი სამუშაო სადგური ღირს 1200 რუბლი, მაშინ სერვერის ლიცენზიები ბევრად უფრო ძვირია - დაახლოებით 30,000 თითოეული ბირთვისთვის (ან ორი ბირთვისთვის. Intel პროცესორი Hyper Threading გამორთულია).

კრიპტო პროვაიდერის ინსტალაცია და კონფიგურაცია

მაგალითებში გამოვიყენებ ვირტუალური მანქანა CentOS 7-ით, მაგრამ თქვენი არჩევანი შეზღუდული არ არის აპარატურადა Linux დისტრიბუცია. ყველა მოქმედება და ბრძანება იგივე იქნება.

უპირველეს ყოვლისა, მოდით შევქმნათ ადგილობრივი მომხმარებელი, რომლის ფარგლებშიც იმუშავებს პროგრამული უზრუნველყოფა, რომელიც იყენებს დოკუმენტის ხელმოწერას.

$ sudo useradd -d /opt/user -p<Тут указываем пароль>-s /bin/bash მომხმარებელი; sudo grep მომხმარებელი /etc/passwd

მოდით დავაინსტალიროთ Java JDK სწორად. ჩამოტვირთეთ საჭირო განაწილება.

$ wget --header "Cookie: oraclelicense=a" --content-disposition http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c-1x14k-8u/j94k. .gz -O jdk-8u191-linux-x64.tar.gz

გახსენით არქივი და შეამოწმეთ მზად არის თუ არა ჯავის საქაღალდე კოპირებისთვის.

$tar zxvf jdk-8u191-linux-x64.tar.gz; ls -al;

დააკოპირეთ საქაღალდე აპლიკაციის პროგრამული უზრუნველყოფის განყოფილებაში. მე ჩვეულებრივ ვიყენებ /opt.

$ sudo cp -rf jdk1.8.0_191 /opt/

ჩვენ ვამოწმებთ, რომ ის სწორად არის დაკოპირებული. საჭიროების შემთხვევაში, შეცვალეთ საქაღალდის მფლობელი root-ზე.

$ ls -al /opt/jdk1.8.0_191/ $ sudo chown -R root:root /opt/jdk1.8.0_191/; cd /opt/jdk1.8.0_191/; ls -al;

ჩვენ ვრეგისტრირდებით გარემოს ცვლადები Java JDK-ისთვის ყველა მომხმარებლისთვის ნაგულისხმევად.

$ sudo vi /etc/profile.d/oracle.sh

ჩვენ ვწერთ შემდეგს ფაილში:

ექსპორტი JAVA_HOME=/opt/jdk1.8.0_191 ექსპორტი JRE_HOME=/opt/jdk1.8.0_191/jre ექსპორტი PATH=$PATH:/opt/jdk1.8.0_191/bin:/opt/jdk1.8.0_191/j

თუ სერვერს აქვს Java JDK-ის რამდენიმე ვერსია, მაშინ საჭიროა ალტერნატივების რეგისტრაცია ახალი ვერსია.

$ sudo ალტერნატივები -- დააინსტალირეთ /usr/bin/java java /opt/jdk1.8.0_191/bin/java 2 $ sudo ალტერნატივები -- დააინსტალირეთ /usr/bin/jar jar /opt/jdk1.8.0_191/bin/jar 2 $ sudo ალტერნატივები -- დააინსტალირეთ /usr/bin/javac javac /opt/jdk1.8.0_191/bin/javac 2 $ sudo ალტერნატივები -- დააყენეთ jar /opt/jdk1.8.0_181/bin/jar $ sudo ალტერნატივები -- დააყენეთ jar /opt/jdk1.8.0_191/bin/jar $ sudo ალტერნატივები --set javac /opt/jdk1.8.0_191/bin/javac $ sudo ალტერნატივები --config java

მენიუში აირჩიეთ ვარიანტი 2 (ან ის, რომელიც გამოიწვევს Java-ის უფრო ახალი ვერსიის გამოყენებას). არ დაგავიწყდეთ JRE systemPrefs-ის უფლებების შესწორება.

$ sudo chmod 777 -R /opt/jdk1.8.0_191/jre/.systemPrefs

შემოწმება დაინსტალირებული ვერსიაჯავა.

$ java - ვერსია
java ვერსია "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-ბიტიანი სერვერი VM (build 25.191-b12, შერეული რეჟიმი)

დააკოპირეთ საქაღალდე CryptoPro JCP განაწილების ნაკრებით აპლიკაციის პროგრამული უზრუნველყოფის განყოფილებაში.

$ sudo cp -rf jcp-2.0.40035 /opt/

ჩვენ ვამოწმებთ, რომ ყველაფერი სწორად არის დაკოპირებული.

$ ls -al /opt/jcp-2.0.40035/

ჩვენ ვაძლევთ უფლებებს სკრიპტების გაშვებაზე.

$ sudo chmod +x /opt/jcp-2.0.40035/*.sh

ჩვენ ვამოწმებთ მფლობელს და უფლებებს საქაღალდეზე, ის უნდა იყოს root. მოდით შევიდეთ მასში.

$ ls -al /opt/jcp-2.0.40035/; cd /opt/jcp-2.0.40035/;

ინსტალაციის პრობლემების თავიდან ასაცილებლად, შეამოწმეთ ბირთვების რაოდენობა პროცესორზე და შეამოწმეთ ლიცენზია. ბირთვების რაოდენობა შეგიძლიათ გაიგოთ nproc ბრძანებით.

მოდით გადავიდეთ JCP კრიპტოპროვაიდერის ინსტალაციაზე. ინსტალაციის დროს თქვენ მოგიწევთ უპასუხოთ რამდენიმე კითხვას.

გაგრძელება ხელმისაწვდომია მხოლოდ წევრებისთვის

ვარიანტი 1. გაწევრიანდით „საიტის“ საზოგადოებაში, რათა წაიკითხოთ საიტზე არსებული ყველა მასალა

საზოგადოებაში გაწევრიანება მითითებულ პერიოდში მოგცემთ წვდომას ჰაკერების ყველა მასალაზე, გაზრდით თქვენს პერსონალურ კუმულატიურ ფასდაკლებას და საშუალებას მოგცემთ დააგროვოთ პროფესიონალური Xakep Score რეიტინგი!

  • დაინსტალირებულია ROSA Enterprise Linux სისტემა სერვერის ვერსიაარანაკლებ 6.8 "ROSA სტანდარტული სერვერის" კონფიგურაციაში
  • საცავებზე წვდომა
  • მოწყობილობა Rutoken EDS/Rutoken EDS Flash/Rutoken EDS SC მკითხველთან ერთად. მოწყობილობას უნდა ეწეროს სერტიფიკატი

საცავებზე წვდომის მისაღებად, მიიღეთ გასაღები მხარდაჭერის სერვისიდან და გაუშვით შემდეგი ბრძანება ადმინისტრატორის უფლებებით:

ექო<ключ>> /etc/rosa-support-id-server

გამოყენებადობა

ინსტრუქციები აღწერს ROSA Enterprise Linux სერვერის უტილიტების ინსტალაციას და კონფიგურაციას, რომელიც საჭიროა ავთენტიფიკაციისთვის Rutoken ციფრული ხელმოწერის გამოყენებით. მაგალითი იყენებს AMD64 არქიტექტურას; 32-ბიტიანი სისტემისთვის, ყველა მოქმედება მსგავსი იქნება, საქაღალდეების სახელებამდე.

ქვემოთ მოცემული პროცედურის დასრულების შემდეგ, ავტორიზაცია Rutoken EDS-ის გამოყენებით შესაძლებელი გახდება, მაგრამ არ იქნება სავალდებულო.

კომპონენტების დაყენება

დააინსტალირეთ საჭირო და წაშალეთ კონფლიქტური პროგრამები (საჭიროა ადმინისტრატორის უფლებები):

Su yum install ccid opensc pam_pkcs11 gdm-plugin-smartcard yum ამოიღე coolkey

დააინსტალირეთ PKCS#11 ბიბლიოთეკა Rutoken EDS-ისთვის (მნიშვნელოვანია ბიბლიოთეკის დაყენება კომუნალური პროგრამების დაყენების შემდეგ):

  • გადადით Rutoken ვებსაიტზე: https://www.rutoken.ru/support/download/pkcs/.
  • გახსენით "GNU/Linux Users" ჩანართი და დააწკაპუნეთ ბმულზე "rtPKCS11ecp Library for GNU/Linux RPM 64-bit (x64)".
  • ჩამოტვირთეთ და დააინსტალირეთ პაკეტი (საჭიროა ადმინისტრატორის პაროლი).

პარამეტრები

სისტემაში მოწყობილობის ჩვენების შემოწმება და მასზე საჭირო ინფორმაციის არსებობა

  • გაიქეცი pcscd(საჭიროა ადმინისტრატორის უფლებები):
სუ
  • შეწყვიტე არსებული პროცესი pcscdთუ იყო ერთი:
killall pcsd

ამ მომენტიდან, ჟეტონი უნდა იყოს ჩასმული შესაბამის სლოტში.

  • გაშვება:
pcscd-adfffff
  • გახსენით ცალკე ტერმინალის ჩანართი ან ფანჯარა და გაუშვით მასში შემდეგი ბრძანება:
pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so -T

გამოსავალზე უნდა იყოს ნაჩვენები პარამეტრები და მოწყობილობის სახელი. გამომავალი მაგალითი ნაჩვენებია ქვემოთ.

  • შეამოწმეთ, რომ ჟეტონს აქვს საჭირო ინფორმაცია შემდეგი ბრძანების გამოყენებით (ჟეტონის პაროლი საჭიროა):
pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so -O -l

გამომავალი უნდა შეიცავდეს სერტიფიკატის ობიექტს. პარამეტრები, როგორიცაა ID და ლეიბლი, შეიძლება განსხვავდებოდეს ქვემოთ ნაჩვენებისგან.

სერთიფიკატის დამატება სანდოს

  • შექმენით სანდო სერთიფიკატების მონაცემთა ბაზა (საჭიროა ადმინისტრატორის უფლებები):
su mkdir /etc/pam_pkcs11/nssdb chmod 0644 /etc/pam_pkcs11/nssdb certutil -d /etc/pam_pkcs11/nssdb -N (მონაცემთა ბაზის შექმნა) modutil -dbdir /etc/pam_pkcs11/nssdb/ -add p11-kit-trust -libfile /usr/lib64/pkcs11/p11-kit-trust.so (კომუნალური პროგრამა მოგთხოვთ ბრაუზერის გამორთვას)

  • დააკოპირეთ სერთიფიკატი ტოკენიდან (საჭიროა ჟეტონური პაროლი. ID პარამეტრის აღება შესაძლებელია pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so -O -l ბრძანების გამოსავლიდან):
pkcs11-tool --module=/usr/lib64/librtpkcs11ecp.so -l -r -y cert -d -o cert.crt (ბრძანება ჩაწერს სერთიფიკატს მიმდინარე დირექტორიაში, როგორც cert.crt)

  • დაამატეთ სერტიფიკატი სანდოებს (საჭიროა ადმინისტრატორის უფლებები):
su cp cert.crt /etc/pki/ca-trust/source/anchors/ (ბრძანება შეყვანილია იმ დირექტორიადან, რომელშიც მოთავსებულია სერთიფიკატი) update-ca-trust force-enable update-ca-trust ამონაწერი (შეიძლება გარკვეული დრო დასჭირდეს)

კონფიგურაციის ფაილების შეცვლა

თქვენ დაგჭირდებათ ადმინისტრატორის უფლებები კონფიგურაციის ფაილების შესაცვლელად.

pam_pkcs11.conf

  • შექმენით (მაგალითად, თქვენს სამუშაო მაგიდაზე) ტექსტური ფაილი pam_pkcs11.conf შემდეგი შინაარსით:
pam_pkcs11 ( nullok = false; გამართვა = true; use_first_pass = false; use_authtok = false; card_only = false; wait_for_card = false; use_pkcs11_module = rutokenecp; # Aktiv Rutoken ECP pkcs11tokens ecp.so slot_ num = 0 support_thread = ca_dir = /etc/pam_pkcs11/crls use_subject = ignorecase = file: ///subject;
  • განათავსეთ ფაილი /etc/pam_pkcs11/ დირექტორიაში:
cd /etc/pam_pkcs11/su mv pam_pkcs11.conf pam_pkcs11.conf.default (სარეზერვო) mkdir cacerts crls cp /home/<имя_пользователя>/Desktop/pam_pkcs11.conf /etc/pam_pkcs11/

სისტემა-ავტ

  • შეაერთეთ მოდული PAM ავტორიზაციის სისტემასთან:
სუ (ადმინისტრატორის უფლებების მიღება)
  • გახსენით სისტემის ავტორიზაციის ფაილი რედაქტორში ნანოან mcedit:
nano /etc/pam.d/system-auth
  • დაამატეთ შემდეგი ხაზი ზედა:
საკმარისი auth pam_pkcs11.so pkcs11_module=/usr/lib64/librtpkcs11ecp.so გამართვა

  • შეინახეთ ფაილი ( ) და დახურეთ რედაქტორი ( ).

სუბიექტის_რუკა

  • გაუშვით ბრძანებები:
su pkcs11_ინსპექტირება

  • დააკოპირეთ წინა ბრძანების გამოსავალი /etc/pam_pkcs11/subject_mapping და მიუთითეთ რომელ მომხმარებელს ეკუთვნის სერტიფიკატი.

კონფიგურაციის ხაზი ასე გამოიყურება:

pkcs11_inspect -> ბრძანების გამომავალი<имя_пользователя>

ავთენტიფიკაციის დადასტურება კონსოლის საშუალებით

  • გახსენით ახალი კონსოლის ფანჯარა ან ჩანართი.
  • გაუშვით su ბრძანება<имя_пользователя>(მომხმარებლის სახელი მითითებულია subject_mapping-ში).

გამოსავლის მაგალითი:

კონსოლის მეშვეობით ავთენტიფიკაციის ოპერაციის შემოწმების შემდეგ, შეგიძლიათ წაშალოთ გამართვის რეჟიმი. ამისათვის ფაილში /etc/pam.d/sysauth დამატებულ ხაზში ამოიღეთ სიტყვა debug , ხოლო ფაილში /etc/pam_pkcs11/pam_pkcs11.conf ჩადეთ debug false true-ის ნაცვლად.

ეკრანის დაბლოკვის დაყენება

  • გახსენით pkcs11_eventmgr ფაილი რედაქტირებისთვის (საჭიროა ადმინისტრატორის უფლებები):
su cd /etc/pam_pkcs11/ mv pkcs11_eventmgr.conf pkcs11_eventmgr.conf.default (სარეზერვო) nano pkcs11_eventmgr.conf

რედაქტირების შემდეგ, კონფიგურაციის ფაილი ასე უნდა გამოიყურებოდეს:

Pkcs11_eventmgr ( # გაშვება ფონზე? იგულისხმება გამართვა=მცდარი, თუ ჭეშმარიტი დემონი = true; # გამართვის შეტყობინებების ჩვენება? გამართვა = false; # გამოკითხვის დრო წამებში polling_time = 1; # ვადის გასვლის დრო წამებში # ნაგულისხმევი = 0 (არ იწურება) expire_time = 0; # pkcs11 მოდული pkcs11_module-ის გამოსაყენებლად = /usr/lib64/librtpkcs11ecp.so # # მოვლენის ბარათის ჩასმა (# რა უნდა გააკეთოს, თუ მოქმედება ვერ მოხერხდა? # იგნორირება: გააგრძელეთ შემდეგი ქმედება # დაბრუნება: დასრულების მოქმედების თანმიმდევრობა # quit: პროგრამის დასრულება on_error = იგნორირება ) # ბარათი წაიშალა მოვლენის card_remove ( on_error = იგნორირება; action = "gdmflexiserver"; ) # ბარათის წაშლის ძალიან დიდი დრო მოვლენის ვადის გასვლის_დრო ( on_error = იგნორირება; action = "/bin / ყალბი";))

  • დაამატეთ კომუნალური პროგრამა pkcs11_eventmgrდაწყებამდე. ამისათვის დაარედაქტირეთ ავტორიზებული მომხმარებლის .bash_profile ფაილი:
ნანო /სახლი/<имя_пользователя>/.bash_profile
  • დაამატეთ ხაზი გაშვებული ფაილის ბოლოს pkcs11_eventmgr.

.bash_profile ფაილის მაგალითი რედაქტირების შემდეგ:

როდესაც ირჩევთ ტოკენის ავთენტიფიკაციას, ეკრანი ასე გამოიყურება.

ორფაქტორიანი ავთენტიფიკაცია (2FA) არის ავტორიზაციის მეთოდი, რომელიც საშუალებას გაძლევთ შეხვიდეთ სისტემაში ანგარიშიან მოწყობილობა მოითხოვს რამდენიმე ინფორმაციას. მომხმარებლის სახელისა და პაროლის კომბინაციის გარდა, 2FA მოითხოვს მომხმარებლის შეყვანას დამატებითი ინფორმაცია, როგორიცაა ერთჯერადი პაროლი (OTP, როგორიცაა ექვსნიშნა დამადასტურებელი კოდი).

ზოგადად, 2FA მომხმარებლისგან მოითხოვს სხვადასხვა ტიპის ინფორმაციის შეყვანას:

  • მომხმარებელმა იცის რაღაც (როგორიცაა პაროლი)
  • რაღაც, რაც მომხმარებელს აქვს (მაგალითად, სპეციალური აპლიკაციის მიერ გენერირებული დამადასტურებელი კოდი - ავთენტიფიკატორი).

2FA არის მრავალფაქტორიანი ავთენტიფიკაციის (MFA) ქვეჯგუფი. MFA მეთოდი, გარდა იმისა, რაც მომხმარებელმა იცის და რაც აქვს, მოითხოვს იმას, რაც ის არის. ეს არის ბიომეტრიული მონაცემები: თითის ანაბეჭდი ან ხმის ამოცნობა და ა.შ.

2FA ხელს უწყობს ავთენტიფიკაციის პროცესის დაცვას კონკრეტული სერვისის ან მოწყობილობისთვის: მაშინაც კი, თუ პაროლი გატეხილია, თავდამსხმელს ასევე დასჭირდება უსაფრთხოების კოდი და ეს მოითხოვს მომხმარებლის მოწყობილობაზე წვდომას, სადაც მდებარეობს აუთენტიფიკატორის აპლიკაცია. ამ მიზეზით, ბევრი ონლაინ სერვისი გთავაზობთ 2FA-ს ჩართვას მომხმარებლის ანგარიშებისთვის, რათა გაზარდოს ანგარიშის უსაფრთხოება ავტორიზაციის დონეზე.

ამ სახელმძღვანელოში თქვენ შეისწავლით თუ როგორ დააყენოთ 2FA Google PAM მოდულის გამოყენებით Ubuntu 18.04-ში არა-root მომხმარებლისთვის. ვინაიდან თქვენ აყენებთ 2FA-ს არა-root მომხმარებლისთვის, თუ დაბლოკილი ხართ, თქვენ კვლავ შეძლებთ კომპიუტერზე წვდომას თქვენი root ანგარიშიდან. სახელმძღვანელოში მოცემული ინსტრუქციები საკმაოდ ზოგადია, ამიტომ მათი გამოყენება შესაძლებელია როგორც სერვერებზე, ასევე დესკტოპის ინსტალაციაზე, როგორც ლოკალურ, ასევე დისტანციურ.

მოთხოვნები

  • Ubuntu სერვერი 18.04 ან დესკტოპზე სამუშაო გარემო. Ubuntu 18.04 სერვერი უნდა იყოს კონფიგურირებული.
  • მობილურ მოწყობილობაზე დაინსტალირებული ავთენტიფიკატორი (მაგალითად, Google Authenticator ან Authy). მასთან ერთად თქვენ დაასკანირებთ QR უსაფრთხოების კოდებს.

1: Google PAM მოდულის ინსტალაცია

Ubuntu 18.04-ზე 2FA-ს დასაყენებლად, თქვენ უნდა დააინსტალიროთ Google PAM მოდული Linux-ისთვის. Pluggable Authentication Module (PAM) არის ავტორიზაციის მექანიზმი, რომელსაც იყენებს Linux. Google PAM მოდული თქვენს მომხმარებელს საშუალებას მისცემს დაასრულოს 2FA ავთენტიფიკაცია Google-ის გენერირებული OTP კოდების გამოყენებით.

პირველი შედით, როგორც sudo მომხმარებელი, რომელიც თქვენ შექმენით დროს საწყისი დაყენებასერვერები:

ssh 8host@your_server_ip

განაახლეთ Ubuntu პაკეტის ინდექსი მისაღებად უახლესი ვერსიაავთენტიფიკატორი:

sudo apt-get განახლება

საცავების განახლების შემდეგ დააინსტალირეთ PAM მოდულის უახლესი ვერსია:

sudo apt-get დააინსტალირე libpam-google-authenticator

ეს არის ძალიან მცირე პაკეტი დამოკიდებულების გარეშე, ამიტომ ინსტალაციას რამდენიმე წამი დასჭირდება. შემდეგ განყოფილებაში ჩვენ დავაკონფიგურირებთ 2FA-ს sudo მომხმარებლისთვის.

2: დააყენეთ ორფაქტორიანი ავთენტიფიკაცია

ახლა, როდესაც თქვენ დააინსტალირეთ PAM მოდული, გაუშვით ის QR კოდის გენერირებისთვის შესული მომხმარებლისთვის. ეს შექმნის კოდს, მაგრამ Ubuntu-ს გარემო არ საჭიროებს 2FA-ს, სანამ არ ჩართავთ მას.

გაუშვით google-authenticator ბრძანება PAM მოდულის გასაშვებად და კონფიგურაციისთვის:

google-authenticator

გუნდი დაგისვამთ რამდენიმე კითხვას კონფიგურაციის შესახებ. პირველ რიგში ის გკითხავთ, გსურთ თუ არა ჟეტონები იყოს დროში შეზღუდული. დროში შეზღუდული ავთენტიფიკაციის ნიშნები იწურება გარკვეული ინტერვალის შემდეგ (ნაგულისხმევი არის 30 წამი უმეტეს სისტემაში). დროში შეზღუდული ნიშნები უფრო უსაფრთხოა, ვიდრე დროში შეზღუდული ნიშნები და 2FA დანერგვის უმეტესობა მათ იყენებს. აქ შეგიძლიათ აირჩიოთ რომელიმე ვარიანტი, მაგრამ ჩვენ გირჩევთ აირჩიოთ დიახ და გამოიყენოთ დროში შეზღუდული ავთენტიფიკაციის ნიშნები:

გსურთ, რომ ავთენტიფიკაციის ნიშნები იყოს დროზე დაფუძნებული (y/n) y

ამ კითხვაზე y პასუხის გაცემით, კონსოლში ნახავთ გამომავალი რამდენიმე ხაზს:

  • QR კოდი: ეს არის კოდი, რომელიც საჭიროებს სკანირებას ავტორიზაციის აპლიკაციის გამოყენებით. მას შემდეგ რაც სკანირებთ, აპი გამოიმუშავებს ახალ OTP-ს ყოველ 30 წამში.
  • საიდუმლო გასაღები: ეს ალტერნატიული გზაავთენტიფიკაციის აპლიკაციის პარამეტრები. თუ იყენებთ აპს, რომელსაც არ აქვს QR სკანირების მხარდაჭერა, შეგიძლიათ შეიყვანოთ საიდუმლო გასაღები ავთენტიფიკატორის დასაყენებლად.
  • ვერიფიკაციის კოდი: ეს არის პირველი ექვსნიშნა კოდი, რომელსაც ეს კონკრეტული QR კოდი ქმნის.
  • გადაუდებელი ნაკაწრების კოდები. ეს არის ერთჯერადი ჟეტონები (ასევე უწოდებენ სარეზერვო კოდებს) და საშუალებას მოგცემთ დაასრულოთ 2FA ავთენტიფიკაცია, თუ დაკარგავთ ავთენტიფიკატორის მოწყობილობას. შეინახეთ ეს კოდები უსაფრთხო ადგილას, რათა თავიდან აიცილოთ ანგარიშის შეჩერება.

მას შემდეგ რაც დააყენეთ თქვენი ავთენტიფიკატორი აპი და შეინახეთ თქვენი სარეზერვო კოდებიუსაფრთხო ადგილას, პროგრამა გკითხავთ, გსურთ თუ არა კონფიგურაციის ფაილის განახლება. თუ აირჩევთ n-ს, დაგჭირდებათ დაყენების პროგრამის ხელახლა გაშვება. აკრიფეთ y ცვლილებების შესანახად და გააგრძელეთ:

გსურთ განაახლოთ თქვენი "~/.google_authenticator" ფაილი (y/n) y

შემდეგი, პროგრამა გკითხავთ, გსურთ თუ არა თავიდან აიცილოთ ავტორიზაციის კოდების არაერთხელ გამოყენება. ნაგულისხმევად, თქვენ შეგიძლიათ გამოიყენოთ თითოეული კოდი მხოლოდ ერთხელ, მაშინაც კი, თუ მისი შექმნის დღიდან 30 წამი არ არის გასული. ეს არის ყველაზე უსაფრთხო არჩევანი, რადგან ის ხელს უშლის თავდამსხმელის განმეორებით შეტევებს, რომელმაც როგორღაც მოახერხა თქვენი გამოყენებული დამადასტურებელი კოდის მიღება. ამ მიზეზით, უმჯობესია აიკრძალოს კოდების გამოყენება არაერთხელ. უპასუხეთ y, რათა თავიდან აიცილოთ ერთი და იგივე ნიშნის მრავალჯერადი გამოყენება:

გსურთ აკრძალოთ ერთი და იგივე ავთენტიფიკაციის მრავალჯერადი გამოყენება?
ჟეტონი? ეს გიზღუდავთ ერთი შესვლაზე ყოველ 30 წუთში, მაგრამ ის იზრდება
თქვენი შანსები შეამჩნიოთ ან თუნდაც თავიდან აიცილოთ ადამიანი შუაგულში შეტევები (y/n) y

ამის შემდეგ თქვენ უნდა მიუთითოთ, გსურთ თუ არა ავტორიზაციის ნიშნების მიღება მათი ნორმალური ვადის გასვლის შემდეგ. კოდები ძალიან მგრძნობიარეა დროის მიმართ, ამიტომ ისინი შეიძლება არ იმუშაონ, თუ თქვენი მოწყობილობები სინქრონიზებული არ არის. ეს პარამეტრი მუშაობს ამ საკითხის ირგვლივ დამადასტურებელი კოდების ნაგულისხმევი მოქმედების პერიოდის გაზრდით, რათა ავთენტიფიკაციის კოდები ნებისმიერ შემთხვევაში მიიღება (მაშინაც კი, თუ თქვენი მოწყობილობები დროებით არ არის სინქრონული). უმჯობესია დარწმუნდეთ, რომ ყველა თქვენს მოწყობილობაზე დრო სინქრონიზებულია, რადგან დიახ პასუხი ოდნავ შეამცირებს სისტემის უსაფრთხოებას. უპასუხეთ n ამ კითხვას, რათა თავიდან აიცილოთ ტოკენის ვადის გასვლის თარიღი:

ნაგულისხმევად, ნიშნები კარგია 30 წამის განმავლობაში და კომპენსაციისთვის
კლიენტსა და სერვერს შორის შესაძლო დროის უკმარისობა, ჩვენ დავუშვებთ დამატებით
ჟეტონი მიმდინარე დრომდე და მის შემდეგ. თუ პრობლემები გაქვთ ღარიბებთან
დროის სინქრონიზაცია, შეგიძლიათ გაზარდოთ ფანჯარა მისი ნაგულისხმევიდან
ზომა 1:30 წუთიდან დაახლოებით 4 წთ-მდე. გნებავთ ამის გაკეთება (y/n) n

ბოლო კითხვა არის თუ არა გსურთ შესვლის მცდელობების რაოდენობის შეზღუდვის ჩართვა. ეს ხელს შეუშლის მომხმარებელს 30 წამში შესვლის სამზე მეტი წარუმატებელი მცდელობისგან, რითაც გააძლიერებს სისტემის უსაფრთხოებას. ჩართეთ ეს შეზღუდვა y პასუხით:

თუ კომპიუტერი, რომელშიც შედიხართ, არ არის გამაგრებული უხეში ძალის მიმართ
შესვლის მცდელობისას, შეგიძლიათ ჩართოთ სიჩქარის შეზღუდვა ავტორიზაციის მოდულისთვის.
ნაგულისხმევად, ეს ზღუდავს თავდამსხმელებს არაუმეტეს 3 შესვლის მცდელობით ყოველ 30 წამში.
გსურთ ჩართოთ განაკვეთის შეზღუდვა (y/n) y

თქვენ დააკონფიგურირეთ და შექმენით 2FA კოდი PAM მოდულის გამოყენებით. ახლა თქვენ უნდა ჩართოთ 2FA თქვენს გარემოში.

3: გააქტიურეთ 2FA Ubuntu-ში

Google PAM მოდული ახლა ქმნის 2FA კოდს თქვენი მომხმარებლისთვის, მაგრამ Ubuntu სისტემამ ჯერ არ იცის, რომ მას სჭირდება კოდების გამოყენება ავტორიზაციის პროცესში. ამ ეტაპზე, თქვენ უნდა განაახლოთ თქვენი Ubuntu კონფიგურაცია, რომ დააკონფიგურიროთ მხარდაჭერა 2FA ჟეტონებისთვის, ძირითადი ავთენტიფიკაციის გარდა.

აქ ორი გზაა:

  1. თქვენ შეგიძლიათ მოითხოვოთ ორფაქტორიანი ავთენტიფიკაცია ყოველ ჯერზე, როდესაც მომხმარებელი შედის სისტემაში და ყოველ ჯერზე, როდესაც მომხმარებელი ითხოვს sudo უფლებებს.
  2. თქვენ შეგიძლიათ მოითხოვოთ მხოლოდ 2FA შესვლისას, მაშინ მხოლოდ მომხმარებლის პაროლი იქნება საჭირო, როდესაც მოგეთხოვებათ sudo უფლებები.

პირველი ვარიანტი იდეალური იქნება საერთო გარემოსთვის, სადაც სასურველია დაიცვას ნებისმიერი ქმედება, რომელიც მოითხოვს სუდოს პრივილეგიებს. მეორე მიდგომა უფრო პრაქტიკულია ადგილობრივი დესკტოპის გარემოსთვის, სადაც თქვენ ხართ სისტემის ერთადერთი მომხმარებელი.

შენიშვნაშენიშვნა: თუ ჩართავთ 2FA-ს დისტანციურ მოწყობილობაზე, რომელზეც შედიხართ SSH-ის საშუალებით, გაგრძელებამდე უნდა შეასრულოთ სახელმძღვანელოდან ორი და მესამე ნაბიჯი. ამ სახელმძღვანელოს დანარჩენი ნაბიჯები ვრცელდება Ubuntu-ს ყველა ინსტალაციაზე, მაგრამ დისტანციურ გარემოს სჭირდება დამატებითი პარამეტრებირათა SSH სერვისმა იცოდეს 2FA-ს შესახებ.

თუ არ იყენებთ SSH წვდომას Ubuntu-ს ინსტალაცია, შეგიძლიათ პირდაპირ გადახვიდეთ ამ გაკვეთილის დანარჩენ ნაბიჯებზე.

მოითხოვეთ 2FA შესვლისას და sudo პრივილეგიების ამაღლებისას

იმისათვის, რომ სისტემამ გამოიყენოს 2FA შესვლისა და შემდგომი პრივილეგიების გაზრდის მოთხოვნების დროს, თქვენ უნდა შეცვალოთ /etc/pam.d/common-auth ფაილი არსებული ფაილის ბოლოს სტრიქონის დამატებით.

საერთო ავტორიზაციის ფაილი ვრცელდება სისტემის ყველა ავთენტიფიკაციის მექანიზმზე, გამოყენებული გარემოს მიუხედავად. ის ასევე ეხება ავტორიზაციის მოთხოვნებს, რომლებიც წარმოიქმნება მას შემდეგ, რაც მომხმარებელი შესულია სისტემაში, მაგალითად, როდესაც მოთხოვნილი იქნება sudo უფლებები ტერმინალიდან ახალი პაკეტის დაყენებისას.

გახსენით ფაილი:

სუდო ნანო /etc/pam.d/common-auth

ფაილის ბოლოს დაამატეთ:

...
# და აქ არის მეტი თითო პაკეტის მოდული ("დამატებითი" ბლოკი)
სესია საჭიროა pam_unix.so


ეს ხაზი საშუალებას აძლევს Ubuntu-ს ავთენტიფიკაციას მხარი დაუჭიროს 2FA-ს Google PAM მოდულის მეშვეობით შესვლისას. nullok ოფცია საშუალებას აძლევს არსებულ მომხმარებლებს შევიდნენ სისტემაში, მაშინაც კი, თუ მათ არ აქვთ კონფიგურირებული 2FA ავთენტიფიკაცია თავიანთი ანგარიშისთვის. სხვა სიტყვებით რომ ვთქვათ, მომხმარებლებს, რომლებმაც დააყენეს 2FA, მომდევნო შესვლისას მოეთხოვებათ ავტორიზაციის კოდის შეყვანა, ხოლო მომხმარებლები, რომლებსაც არ აქვთ გაშვებული google-authenticator ბრძანება, შეძლებენ შევიდნენ თავიანთი სტანდარტული სერთიფიკატებით, სანამ არ დააყენებენ. ზევით 2FA.

შეინახეთ და დახურეთ ფაილი.

მოითხოვეთ 2FA მხოლოდ სისტემაში შესვლისას

თუ გსურთ მხოლოდ 2FA მოთხოვნილი იყოს დესკტოპის გარემოში შესვლისას, თქვენ უნდა დაარედაქტიროთ დესკტოპის მენეჯერის კონფიგურაციის ფაილი, რომელსაც იყენებთ. კონფიგურაციის ფაილის სახელი ჩვეულებრივ იგივეა, რაც დესკტოპის გარემოს სახელი. მაგალითად, gdm-ის კონფიგურაციის ფაილი (Ubuntu-ს ნაგულისხმევი გარემო, რომელიც იწყება Ubuntu 16.04-ით) არის /etc/pam.d/gdm.

უთავო სერვერის შემთხვევაში (რაც არის ვირტუალური სერვერი), ამის ნაცვლად თქვენ უნდა შეცვალოთ /etc/pam.d/common-session ფაილი. გახსენით შესაბამისი ფაილი თქვენი გარემოდან გამომდინარე:

სუდო ნანო /etc/pam.d/common-session

დაამატეთ მონიშნული ხაზები ფაილის ბოლოს:

#
# /etc/pam.d/common-session - სესიასთან დაკავშირებული მოდულები, რომლებიც საერთოა ყველა სერვისისთვის
#
...
# # და აქ არის მეტი თითო პაკეტის მოდული ("დამატებითი" ბლოკი)
სესია საჭიროა pam_unix.so
სესია სურვილისამებრ pam_systemd.so
pam-auth-განახლების კონფიგურაციის # დასასრული
ავტორიზაცია საჭიროა pam_google_authenticator.so nullok

Ubuntu-ს ახლა დასჭირდება 2FA, როდესაც მომხმარებელი დაუკავშირდება სისტემას ბრძანების ხაზის მეშვეობით (ადგილობრივად ან დისტანციურად SSH-ის საშუალებით), მაგრამ ეს არ ეხება sudo-ს ბრძანებებს.

თქვენ დააკონფიგურირეთ Ubuntu 2FA-ს მხარდასაჭერად. ახლა დროა შეამოწმოთ კონფიგურაცია და დარწმუნდით, რომ თქვენს Ubuntu სისტემაში შესვლისას მოგეთხოვებათ უსაფრთხოების კოდი.

4: ორფაქტორიანი ავთენტიფიკაციის ტესტირება

ადრე, თქვენ დააკონფიგურირეთ 2FA კოდების გენერირებისთვის ყოველ 30 წამში. ახლა სცადეთ შეხვიდეთ თქვენს Ubuntu გარემოში.

პირველი, გამოდით და შედით თქვენს Ubuntu გარემოში:

ssh 8host@your_server_ip

თუ იყენებთ პაროლზე დაფუძნებულ ავთენტიფიკაციას, მოგეთხოვებათ შეიყვანოთ მომხმარებლის პაროლი:

შენიშვნა: თუ იყენებთ სერთიფიკატის ავთენტიფიკაციას დისტანციურ სერვერზე, თქვენ არ მოგეთხოვებათ პაროლი. გასაღები გაიგზავნება და მიიღება ავტომატურად. თქვენ დაგჭირდებათ მხოლოდ დამადასტურებელი კოდის შეყვანა.

შეიყვანეთ თქვენი პაროლი და მოგეთხოვებათ შეიყვანოთ თქვენი 2FA კოდი:

დამადასტურებელი კოდი:

ამის შემდეგ თქვენ შეხვალთ სისტემაში:

8host@your_server_ip: ~#

თუ 2FA ჩართული იყო მხოლოდ შესვლის მიზნებისთვის, თქვენ აღარ დაგჭირდებათ 2FA დამადასტურებელი კოდების შეყვანა, სანამ თქვენი სესია არ დასრულდება ან ხელით არ გამოხვალთ სისტემიდან.

თუ თქვენ ჩართეთ 2FA საერთო ავტორიზაციის ფაილის საშუალებით, თქვენ მოგეთხოვებათ მიაწოდოთ ის ასევე, როდესაც მოითხოვთ sudo პრივილეგიებს:

8host@your_server_ip: ~# sudo -s
sudo პაროლი 8 ჰოსტისთვის:
დამადასტურებელი კოდი:
root@your_server_ip:

თქვენ დაადასტურეთ, რომ 2FA კონფიგურაცია მუშაობს ისე, როგორც მოსალოდნელი იყო. თუ რამე არასწორედ წარიმართა და სისტემამ არ მოგთხოვათ დამადასტურებელი კოდები, დაუბრუნდით სახელმძღვანელოს მესამე განყოფილებას და დარწმუნდით, რომ დაარედაქტირეთ სწორი ფაილი Ubuntu ავთენტიფიკაცია.

5: 2FA ბლოკირების პრევენცია

დაკარგვის ან განადგურების შემთხვევაში მობილური მოწყობილობამნიშვნელოვანია მეთოდების მიწოდება სარეზერვოთქვენს 2FA ჩართულ ანგარიშზე წვდომის აღსადგენად. 2FA-ს პირველად დაყენებისას, დაბლოკვის შემდეგ წვდომის აღდგენის რამდენიმე ვარიანტი გაქვთ:

  • შენახვა სარეზერვო ასლითქვენი საიდუმლო კონფიგურაციის კოდები უსაფრთხო ადგილას. ამის გაკეთება შეგიძლიათ ხელით, მაგრამ ზოგიერთი ავთენტიფიკაციის აპი, როგორიცაა Authy, უზრუნველყოფს კოდის სარეზერვო ფუნქციებს.
  • შეინახეთ თქვენი აღდგენის კოდები უსაფრთხო ადგილას თქვენი 2FA ჩართული გარემოს გარეთ, რომელზე წვდომა შეგიძლიათ საჭიროების შემთხვევაში.

თუ რაიმე მიზეზით არ გაქვთ წვდომა თქვენს სარეზერვო ვარიანტებზე, შეგიძლიათ სცადოთ სხვა გზა, რათა აღადგინოთ წვდომა თქვენს ადგილობრივ გარემოზე ან დისტანციურ 2FA-ზე ჩართული სერვერზე.

6: ადგილობრივ გარემოზე წვდომის აღდგენა (სურვილისამებრ)

თუ გაქვთ ფიზიკური წვდომამანქანაზე, შეგიძლიათ ჩატვირთოთ აღდგენის რეჟიმში, რომ გამორთოთ 2FA. აღდგენის რეჟიმი არის სამიზნე ტიპი (როგორც runlevel) Linux-ში, რომელიც გამოიყენება ადმინისტრაციული ამოცანების შესასრულებლად. თქვენ დაგჭირდებათ GRUB-ში ზოგიერთი პარამეტრის რედაქტირება აღდგენის რეჟიმში შესასვლელად.

GRUB-ზე წვდომისთვის ჯერ გადატვირთეთ კომპიუტერი:

როდესაც GRUB მენიუ გამოჩნდება, დარწმუნდით, რომ Ubuntu ჩანაწერი მონიშნულია. ეს არის ნაგულისხმევი 18.04 ინსტალაციის სახელი, მაგრამ შეიძლება განსხვავებული იყოს, თუ ხელით შეცვლით მას ინსტალაციის შემდეგ.

შემდეგ დააჭირეთ ღილაკს e თქვენს კლავიატურაზე, რათა შეცვალოთ GRUB კონფიგურაცია თქვენი სისტემის ჩატვირთვამდე.

გადადით ფაილის ბოლოს, რომელიც გამოჩნდება და იპოვეთ ხაზი, რომელიც იწყება ლინუქსით და მთავრდება $vt_handoff-ით. გადადით ამ ხაზის ბოლოს და დაამატეთ systemd.unit=rescue.target. დარწმუნდით, რომ დატოვეთ სივრცე $vt_handoff-სა და systemd.unit=rescue.target-ს შორის. ეს საშუალებას მისცემს Ubuntu მანქანას ჩაიტვირთოს აღდგენის რეჟიმში.

ცვლილებების შეტანის შემდეგ, შეინახეთ ფაილი Ctrl + X კლავიშების კომბინაციის გამოყენებით, თქვენი მანქანა გადაიტვირთება და თქვენ შეხვალთ ბრძანების ხაზი. აღდგენის რეჟიმში შესასვლელად დააჭირეთ Enter-ს.

ბრძანების სტრიქონში შესვლის შემდეგ გახსენით Google Authenticator-ის კონფიგურაციის ფაილი, რომელიც მდებარეობს დაბლოკილი მომხმარებლის მთავარ დირექტორიაში.

nano /home/8host/.google-authenticator

ამ ფაილის პირველი ხაზი არის მომხმარებლის საიდუმლო გასაღები, რომელიც გამოიყენება ავთენტიფიკატორის კონფიგურაციისთვის.

ახლა თქვენ გაქვთ ორი ვარიანტი:

  1. შეგიძლიათ დააკოპიროთ საიდუმლო გასაღები და დააკონფიგურიროთ ავთენტიფიკატორი.
  2. თუ გსურთ დაიწყოთ სუფთა ფურცლით, შეგიძლიათ მთლიანად წაშალოთ ~/.google-authenticator ფაილი, რათა გამორთოთ 2FA ამ მომხმარებლისთვის. ხელახლა შესვლის შემდეგ, შეგიძლიათ კვლავ დააყენოთ 2FA და მიიღოთ ახალი საიდუმლო გასაღები.

ნებისმიერ შემთხვევაში, თქვენ შეგიძლიათ აღადგინოთ სისტემა 2FA-ს მიერ დაბლოკვის შემდეგ ადგილობრივ გარემოში GRUB ჩამტვირთველის გამოყენებით. შემდეგი, ჩვენ გეტყვით, თუ როგორ უნდა აღადგინოთ წვდომა დაბლოკილ დისტანციურ გარემოში.

7: დისტანციურ გარემოზე წვდომის აღდგენა (სურვილისამებრ)

თუ თქვენი sudoer ანგარიში დაბლოკილია დისტანციურ გარემოში, შეგიძლიათ დროებით გამორთოთ ან ხელახლა დააკონფიგურიროთ 2FA root მომხმარებლის გამოყენებით.

შესვლა როგორც root:

ssh root@your_server_ip

შესვლის შემდეგ გახსენით ფაილი Google პარამეტრები Authenticator, რომელიც მდებარეობს დაბლოკილი მომხმარებლის მთავარ დირექტორიაში:

sudo nano /home/8host/.google_authenticator

ამ ფაილის პირველი სტრიქონი არის მომხმარებლის საიდუმლო გასაღები, რომელიც გჭირდებათ ავთენტიფიკატორის კონფიგურაციისთვის.

ახლა თქვენ გაქვთ ორი ვარიანტი:

  1. თუ გსურთ ახალი ან წაშლილი მოწყობილობის დაყენება, შეგიძლიათ გამოიყენოთ საიდუმლო გასაღები ავტორიზაციის აპის ხელახლა კონფიგურაციისთვის.
  2. თუ გსურთ ახალი დაწყება, შეგიძლიათ მთლიანად წაშალოთ /home/8host/.google_authenticator ფაილი, რათა გამორთოთ 2FA ამ მომხმარებლისთვის. sudo მომხმარებლის სახით შესვლის შემდეგ, შეგიძლიათ კვლავ დააყენოთ 2FA და მიიღოთ ახალი პირადი გასაღები.

რომელიმე ამ ვარიანტით, თქვენ შეძლებთ 2FA შემთხვევითი აკრძალვისგან აღდგენას root ანგარიშის გამოყენებით.

დასკვნა

ამ სახელმძღვანელოში თქვენ დააყენეთ 2FA Ubuntu 18.04 მანქანაზე. ორფაქტორიანი ავთენტიფიკაცია უზრუნველყოფს თქვენი ანგარიშის და მთლიანად სისტემის დაცვის დამატებით ფენას. თქვენი სტანდარტული რწმუნებათა სიგელების გარდა, თქვენ ასევე დაგჭირდებათ დამატებითი დამადასტურებელი კოდის შეყვანა სისტემაში შესასვლელად. ეს შეუძლებელს ხდის არაავტორიზებული ადამიანების წვდომას თქვენს ანგარიშზე, მაშინაც კი, თუ თავდამსხმელი მოახერხებს თქვენი რწმუნებათა სიგელების მოპოვებას.

ტეგები: ,

Linux- ეს არის მრავალ მომხმარებლის გარემო და იმისათვის, რომ მომხმარებელმა დაიწყო სისტემაში მუშაობა, მან უნდა გაიაროს ავტორიზაციის პროცედურა. PAM (ჩართული ავთენტიფიკაციის მოდულები) არის სისტემა (მექანიზმი), რომელიც იღებს ავთენტიფიკაციის პროცედურების განხორციელების მუშაობას. გამოჩენამდე PAM, პროგრამების შემქმნელებს, რომლებიც გარკვეულწილად იყვნენ დაკავშირებული ავთენტიფიკაციასთან, უნდა მოერგებინათ თავიანთი პროგრამა ავტორიზაციის არსებულ მექანიზმებთან. შესაბამისად, თუ ავთენტიფიკაციის მექანიზმები შეიცვალა, მაშინ საჭირო იყო პროგრამების შეცვლა, რომლებიც მათ იყენებდნენ. ამიტომ შეიქმნა სისტემა PAM, რომელიც წარმოადგენს „ფენას“ პროგრამებსა და ავთენტიფიკაციის მექანიზმებს შორის. ანუ, ახლა ავტორიზაციის პროგრამები (მაგალითად, პროგრამა შესვლა) უნდა შეეძლოს მხოლოდ სისტემასთან მუშაობა PAM. გადასცემს პროგრამას PAMპარამეტრები (მაგალითად, შესვლა და პაროლი) და მას (პროგრამას) აღარ აინტერესებს, თუ რა ავტორიზაციის მეთოდია დანერგილი სისტემაში - ავტორიზაცია პაროლით ან სმარტ ბარათით თუ სხვა მეთოდით. შემდგომი სამუშაოები PAMდა უბრუნებს პროგრამას წარმატებას ან წარუმატებლობას.

მოდით შევხედოთ სისტემას PAMმეტი დეტალი. ძირითადი ფუნქციები, ან მოქმედებები, ან ამოცანები, რომლებსაც სისტემა ასრულებს PAM- იყოფა ოთხ ჯგუფად, რომლებსაც აქვთ კონკრეტული სახელები:

ჯგუფი ავტორიზაცია- ეს არის მოქმედებები, რომლებიც პირდაპირ კავშირშია ავთენტიფიკაციასთან. ანუ მოქმედებები ან ფუნქციები, რომლებიც საშუალებას გაძლევთ განსაზღვროთ, რომ თქვენ ხართ. ეს შეიძლება იყოს პაროლის ავთენტიფიკაცია, ჭკვიანი ბარათის ავტორიზაცია, ბიომეტრიული ავთენტიფიკაცია (თითის ანაბეჭდი და ა.შ.) და სხვა.

ჯგუფი ანგარიში- ეს არის ანგარიშების მართვასთან დაკავშირებული მოქმედებები. მაგალითად, იმ შემთხვევაშიც კი, თუ თქვენ დამოწმებული ხართ სისტემაში, თქვენს ანგარიშს შეიძლება აიკრძალოს მუშაობა დღის გარკვეულ მონაკვეთში. ან დაუშვით სისტემაში შესვლა კონსოლის რეჟიმში, მაგრამ აკრძალეთ შესვლა გრაფიკულ რეჟიმში. და ა.შ.

ჯგუფი სესია- ამ ჯგუფის მოქმედებები ანაწილებს მომხმარებლისთვის სამუშაოსთვის საჭირო რესურსებს. უმარტივესი მაგალითია დირექტორიების დამონტაჟების ნებართვა.

ჯგუფი პაროლი- მოქმედებები, რომლებიც ახორციელებენ ცვლილებებს მომხმარებლის ავტორიზაციის მონაცემებში. ყველაზე ხშირად ეს არის მოქმედებები მომხმარებლის პაროლების მართვისთვის.

ყველა ეს მოქმედება ან პროცედურა (ფუნქციები) ხორციელდება ცალკეული მოდულების სახით, რომლებიც განთავსებულია დირექტორიაში. /lib/უსაფრთხოება/. ანუ, შეგვიძლია ვთქვათ, რომ არის ჯგუფური მოდულები ავტორიზაცია, ჯგუფური მოდულები ანგარიშიდა ა.შ. შესაბამისად სისტემა PAMარის მოდულარული და თუ თქვენ გჭირდებათ ბიომეტრიული ავთენტიფიკაციის განხორციელება, მაშინ უბრალოდ უნდა დააინსტალიროთ მოდული, რომელსაც შეუძლია შეასრულოს ეს პროცედურა.

ძირითადი სისტემის კონფიგურაციის ფაილი PAM- ეს არის ფაილი /etc/pam.conf. ფაილის გარდა /etc/pam.conf, პარამეტრები PAMინახება დირექტორია ფაილებში /etc/pam.d/. კატალოგის შიგნით არის ტექსტური ფაილებირომლებიც შეიცავს მოქმედებების თანმიმდევრობას (გარკვეულ ალგორითმს) პროგრამებისთვის, რომლებიც იყენებენ PAM. მაგალითად, ფაილი /etc/pam.d/loginშეიცავს სისტემის მუშაობის ალგორითმს PAMპროგრამისთვის შესვლადა ფაილი /etc/pam.d/passwdპროგრამისთვის passwd.

ჯერ შევხედოთ ფაილის ფორმატს /etc/pam.conf. ფაილი შედგება ხაზებისგან. ფაილი შეიძლება შედგებოდეს ერთი სტრიქონისგან, ან შეიძლება შედგებოდეს რამდენიმე სტრიქონისგან, რომელიც ემატება თანმიმდევრული მოქმედებების ჯაჭვს. თითოეული ხაზი აღწერს ასეთი ჯაჭვის (ალგორითმის) ერთ წესს ან ერთ საფეხურს. ხაზი შედგება ოთხი ველისგან. პირველი ველი არის პროგრამის სახელი, რომელზეც ვრცელდება ეს ნაბიჯი. მეორე ველი არის მოქმედების ტიპი ( ავტორიზაცია, ანგარიში, სესია, პაროლი). მესამე ველი არის ველი, რომელშიც დაყენებულია სისტემის ქცევა PAMამ ნაბიჯის დასრულების შემდეგ ალგორითმის ამ ეტაპზე (ამ საკითხზე უფრო დეტალურად ვისაუბრებთ ქვემოთ). მეოთხე ველი არის მოდულის ფაილის სახელი. ხაზი ასევე შეიძლება შეიცავდეს მოდულზე გადაცემულ პარამეტრებს.

დირექტორიაში განთავსებული ფაილების სტრუქტურა /etc/pam.d/, იგივე. განსხვავება მხოლოდ პირველი ველის არარსებობაა - სახელი. ვინაიდან პროგრამის სახელი აღებულია თავად ფაილის სახელიდან. მოდით შევხედოთ ასეთი ფაილის მაგალითს. მოდით დავურეკოთ მას ტესტპამი.

auth საკმარისი pam_rootok.so
auth საჭირო pam_unix.so
საჭიროა ანგარიში pam_unix.so

მოდით შევხედოთ პირველ ხაზს. ველი ავტორიზაციაამბობს, რომ პირველი ნაბიჯი არის ავთენტიფიკაცია. მესამე ველი არის მოდული, რომელიც შეასრულებს ავთენტიფიკაციას და დააბრუნებს შესრულების შედეგს. ამ მაგალითში მოდული pam_rootok.soამოწმებს არის თუ არა ანგარიში root ( ფესვი). თუ კი, წარმატება დაბრუნდება (true), თუ არა, შეცდომა ან წარუმატებლობა დაბრუნდება (false). მეორე ველი არის შედეგის რეაქცია ან გავლენა მთლიან ჯაჭვზე.

რეაქცია შეიძლება იყოს ოთხი ტიპის: საჭირო, რეკვიზიტი, სურვილისამებრ, საკმარისი. მაგალითის ხაზის გამოყენებით auth საკმარისი pam_rootok.soმოდით შევხედოთ რას ნიშნავს ეს ღირებულებები.

თუ მეორე ველი დაყენებულია რეკვიზიტი, მაშინ ეს ნიშნავს, რომ თუ მოდული pam_rootok.soდასრულდა შეცდომით, შემდეგ ფაილის შემდგომი შესრულება ტესტპამისისტემა შეწყვეტილია PAMაბრუნებს შეცდომას აპლიკაციაში. თუ მოდული დაბრუნდა დადებითი შედეგი, შემდეგ ჯაჭვის შესრულება გრძელდება.

საჭირომსგავსი რეკვიზიტი. თუ მოდული pam_rootok.soშეცდომით დასრულდა PAMასევე დააბრუნებს შეცდომას, მაგრამ დარჩენილი მოდულების შესრულების შემდეგ, ანუ ჯაჭვი არ წყდება. თუ მოდული დააბრუნებს დადებით შედეგს, მაშინ ჯაჭვის შესრულება გრძელდება.

საკმარისი- თუ მოდული pam_rootok.soდაბრუნდა წარმატება, შემდეგ სისტემა PAMუბრუნებს წარმატებას აპლიკაციას და ჯაჭვის შემდგომი შესრულება წყდება. წარუმატებლობის შემთხვევაში, ჯაჭვი აგრძელებს მუშაობას.

სურვილისამებრ- ეს პარამეტრი არანაირად არ მოქმედებს ჯაჭვის პროგრესზე. მითითებულია იმ მოდულებისთვის, რომლებიც არ ასრულებენ რაიმე გადამოწმების მოქმედებებს. თუ ფაილი შეიცავს მხოლოდ პარამეტრს ხაზებს სურვილისამებრ, ეს PAMდააბრუნებს აპლიკაციას წარმატებას.

დამატებითი დეტალები სისტემის შესახებ PAMდა კონკრეტული ბიბლიოთეკის დანიშნულება შეიძლება წაიკითხოთ ვებგვერდზე http://kernel.org/pub/linux/libs/pam/Linux-PAM-html/Linux-PAM_SAG.html. ახლა მოდით გავაკეთოთ მცირე პრაქტიკული სავარჯიშო, რომელიც საშუალებას მოგვცემს უკეთ გავიგოთ როგორ მუშაობს სისტემა. PAMდა როგორ შევქმნათ კონფიგურაციის ფაილები.

გადადით დირექტორიაში /etc/pam.d/. დააკოპირეთ ფაილი სუთქვენს მთავარ დირექტორიაში (ასე რომ თქვენ შეგიძლიათ მისი აღდგენა) და წაშალეთ ფაილი სუდირექტორიადან /etc/pam.d/. ახლა სცადეთ ბრძანება სუტერმინალში სუპერმომხმარებლის რეჟიმში გადასვლისთვის. პაროლის შეყვანის შემდეგ, სისტემა აჩვენებს ავტორიზაციის შეცდომას, რადგან პროგრამის კონფიგურაციის ფაილი აკლია. სუ.

შექმენით ფაილი /etc/pam.d/suდა ჩაწერეთ მასში შემდეგი სტრიქონი:

მოდული pam_უარი.ასეყოველთვის აბრუნებს შეცდომას. რა იქნება შედეგი? შეამოწმეთ იგი. და თუ შეცვლით რეკვიზიტი on საჭირო?
ახლა დავწეროთ შემდეგი წესი ფაილში:

მოდული pam_wheel.ასეაბრუნებს წარმატებას, თუ მომხმარებლის ანგარიში ეკუთვნის ჯგუფს საჭე. თუ ახლავე ცდილობთ ბრძანების გაშვებას სუ, მაშინ დაუყოვნებლივ დასრულდება შეცდომით. ანუ ახლა გუნდი სუშესრულებას შეძლებენ მხოლოდ მომხმარებლები, რომლებიც არიან ჯგუფის წევრები საჭედა იცოდე ანგარიშის პაროლი ფესვი. თუ შექმნით ჯგუფს საჭედა დაამატეთ თქვენი ანგარიში იქ, შემდეგ ბრძანება სუიმუშავებს.

აი კიდევ ერთი მაგალითი:

auth requisite pam_wheel.so
auth საჭირო pam_permit.so

შეეცადეთ უპასუხოთ ვის შეუძლია წარმატებით შეასრულოს ბრძანება სუდა რა უნდა გაკეთდეს ამისთვის?
ამით სრულდება პრაქტიკული სავარჯიშო (არ დაგავიწყდეთ მის ადგილზე დაბრუნება ორიგინალური ფაილისუ).

კიდევ ერთხელ მინდა ხაზგასმით აღვნიშნო, რომ კონფიგურაციის ფაილები დირექტორიაში /etc/pam.d/ შეიძლება შეიქმნას მხოლოდ იმ ფაილებისთვის, რომლებიც იყენებენ სისტემას. PAM. მაგალითად, თუ შექმნით ფაილს /etc/pam.d/lsსიმებით აუთ რეკვიზიტი pam_deny.so, შემდეგ ბრძანება lsკვლავ შესრულდება, რადგან ის არ იყენებს სისტემას PAM. იმის შესამოწმებლად, იყენებს თუ არა გუნდი PAM სისტემას, შეგიძლიათ გამოიყენოთ ბრძანება ldd, რომელსაც გადაეცემა ბრძანების ფაილის სრული გზა, როგორც პარამეტრი. მაგალითად:

საკვანძო სიტყვა კომპატის უბრალოდ "ამბობს", რომ სისტემა გამოყენებული იქნება როგორც ავტორიზაციის სისტემა PAM.

და კიდევ ერთი რამ. ფრთხილად იყავით ექსპერიმენტების დროს PAM. უცოდინრობის ან დაუდევრობის გამო, თქვენ შეგიძლიათ მარტივად დაბლოკოთ თქვენი სისტემა. ამიტომ, სანამ რაიმეს შეცვლით, დარწმუნდით, რომ შეინახეთ ორიგინალური კონფიგურაციის ფაილები, რათა პრობლემების შემთხვევაში სწრაფად შეძლოთ მათი აღდგენა.

© 2024 ermake.ru -- კომპიუტერის შეკეთების შესახებ - საინფორმაციო პორტალი