შენი სერვერები იმ ანგარიშის დაცვით არის დაცული, რომელიც მათ მართავს. ამ ანგარიშს შეუძლია შენი ყველაფრის გაჩერება, წაშლა და განადგურება და უმეტეს panel-ზე ამას ისე სწრაფად აკეთებს, რომ ამაზე ticket-ს ვერც გახსნი. ამიტომ პაროლზე გულწრფელად ისე უნდა იფიქრო, რომ ის ერთადერთია, რაც უცნობსა და ამ ყველაფერს შორის დგას, პაროლები კი მუდმივად ჟონავს იმ საიტებზე მომხდარი გატეხვებით, რომლებსაც ჰოსტინგთან საერთო არაფერი აქვთ. ორფაქტორიანი ავთენტიფიკაცია მოპარულ პაროლს ჩავარდნილ შესვლად აქცევს. მისი ჩართვა დაახლოებით ერთ წუთს ითხოვს და ერთადერთი ნაწილი, რომელიც ფიქრს საჭიროებს, recovery კოდებია - რადგან ორფაქტორიანი დაცვის გამო ანგარიშის დაკარგვის გავრცელებული გზა თავდამსხმელი კი არა, ახალი ტელეფონია.
რას აღწევს მოპარული panel-ის პაროლი სინამდვილეში#
სანამ გადაწყვეტ, რა დონის დაცვაა პროპორციული, ღირს ზუსტად გაიგო ზიანის რადიუსი. panel-ის ანგარიში ერთი სერვერი არ არის.
ვისაც შენი პაროლი აქვს, მას აქვს კონსოლი ყოველ სერვერზე, რაც ნიშნავს ადმინის ყველა ბრძანებას. მას აქვს ფაილ მენეჯერი, რაც ნიშნავს შენს სამყაროს, შენი მონაცემთა ბაზის credential-ებს, რომლებიც კონფიგის ფაილში დევს, და შენს bot token-ებს environment ფაილში. მას აქვს backup-ები, მათი ჩამოტვირთვისა და წაშლის შესაძლებლობის ჩათვლით. სერვერის წაშლა მის backup-ებსაც წაშლის, დაბლოკილებსაც, ამიტომ "backup-იდან აღდგენა" დაცვა არ არის იმის წინააღმდეგ, ვინც ანგარიშს ფლობს. ეს ასიმეტრია მთელი არგუმენტია: თავდამსხმელს ერთი მუშა პაროლი სჭირდება, შენ კი - ყველაფერი.
ყველაზე ხშირი შესასვლელი მიზანმიმართული შეტევა არ არის. ეს პაროლია, რომელიც ფორუმზეც გამოიყენე, რომელიც 2019 წელს გატეხეს და ათასობით საიტზე ავტომატურად სცადეს. ეს შეტევა მეორე ფაქტორს ვერ გადაურჩება, რის გამოც მეორე ფაქტორი შენი საღამოს სამოცი წამის ღირსია.
რა არის TOTP სინამდვილეში#
panel authenticator აპიდან ექვსციფრიან კოდს იღებს. სტანდარტი მის უკან TOTP-ია, განსაზღვრული RFC 6238-ში უფრო ადრინდელი HOTP სტანდარტის თავზე, და მექანიზმის გაგება დაბნეულობის უმეტეს ნაწილს აქრობს.
რეგისტრაციისას სერვერი შემთხვევით საიდუმლოს აგენერირებს და გაჩვენებს QR კოდის სახით, იგივე მნიშვნელობა ხელით ასაკრეფად base32 სიმბოლოების სტრიქონადაც ხელმისაწვდომია. შენი აპი ამ საიდუმლოს ინახავს. ამის შემდეგ ორივე მხარე ერთსა და იმავე არითმეტიკას დამოუკიდებლად აკეთებს:
- აიღე მიმდინარე Unix დრო და გაყავი ბიჯზე, ჩვეულებრივ 30 წამზე, ნაშთის გაუთვალისწინებლად. ეს არის მთვლელი.
- გამოთვალე მთვლელის HMAC გაზიარებული საიდუმლოთი, ჩვეულებრივ SHA-1-ით.
- შეკვეცე შედეგი ექვს ციფრამდე.
შენს ტელეფონსა და panel-ს შორის არაფერი მიემართება. აპი ონლაინ არ არის, არ იცის, რომელ სერვერს ავთენტიფიცირებს, და თვითმფრინავის რეჟიმში სარდაფშიც მუშაობს. ერთადერთი, რაც უნდა ემთხვეოდეს, საიდუმლო და საათია. სერვერები ჩვეულებრივ წინა და შემდეგ ბიჯსაც იღებენ მიმდინარესთან ერთად, რაც საათის დრეიფისა და ნელი აკრეფისთვის დაახლოებით ოთხმოცდაათწამიან ტოლერანტობას გაძლევს.
QR კოდი კოდირებს URI-ს, რომელიც ყველა პარამეტრს ატარებს:
otpauth://totp/Panel:you@example.com ?secret=JBSWY3DPEHPK3PXP &issuer=Panel &algorithm=SHA1 &digits=6 &period=30სინამდვილეში ეს ერთი უწყვეტი ხაზია; აქ წასაკითხად არის გადატანილი.
| პარამეტრი | ტიპური მნიშვნელობა | რას ნიშნავს |
|---|---|---|
secret | base32, 16 ან 32 სიმბოლო | გაზიარებული გასაღები. ეს მთელი credential-ია |
issuer | საიტის სახელი | რასაც შენი აპი სიაში აჩვენებს |
algorithm | SHA1 | თითქმის უნივერსალური; შეცვლა აპების უმეტესობას ტეხავს |
digits | 6 | კოდის სიგრძე |
period | 30 | წამები ერთ კოდზე |
ჩართვა და ორი წუთის სიფრთხილე, რომელსაც ის იმსახურებს#
- გახსენი panel-ის ანგარიშის განყოფილება მისამართზე
panel.renode.spaceდა იპოვე ორფაქტორიანი ავთენტიფიკაცია. - დაასკანერე QR კოდი შენი authenticator აპით.
- გაგრძელებამდე დაასკანერე ის მეორე მოწყობილობით ან აპით. ერთი და იგივე საიდუმლო ორ ადგილას შეიძლება ცხოვრობდეს და ეს ტელეფონის დაკარგვის წინააღმდეგ ერთადერთი საუკეთესო დაზღვევაა. უჯრაში დარჩენილი ძველი ტაბლეტი ან desktop password manager, რომელიც TOTP-ს ინახავს, ორივე გამოდგება.
- დაწერე თავად base32 საიდუმლო ქაღალდზე და შეინახე მნიშვნელოვან დოკუმენტებთან. საიდუმლოს ნებისმიერ ახალ აპში მოგვიანებით აკრეფა შეიძლება; QR კოდს, რომელიც აღარ გაქვს, ვერა.
- შეიყვანე მიმდინარე კოდი დასადასტურებლად. რეგისტრაცია დასრულებული არ არის, სანამ სერვერს კოდი არ დაუნახავს, რომელსაც ეთანხმება.
- შეინახე recovery კოდები ახლა, გვერდის დახურვამდე. ივარაუდე, რომ მათ ხელახლა აღარ გაჩვენებენ.
მესამე ნაბიჯს ხალხი ტოვებს და ის არის, რაც ექვს თვეში support რიგიდან გიცავს.
Recovery კოდები: ის, რაშიც ხალხი ცდება#
Recovery კოდები ერთჯერადი სტრიქონებია, რომლებიც TOTP კოდს ცვლის, როცა მას ვერ იძლევი. თითოეული ერთხელ მუშაობს. ისინი არსებობს, რადგან ტელეფონები იკარგება, ეცემა, იშლება და იცვლება და authenticator აპი backup-ის გარეშე თავის საიდუმლოებს თან ატარებს.
სად შეინახო, უპირატესობის რიგით:
- ქაღალდზე დაბეჭდილი იმ ადგილას, სადაც დოკუმენტებს ინახავ, რომლებსაც სახლის გადაბარგებისას არ დაკარგავდი. მოდიდან გასულია და უკიდურესად ეფექტური.
- Password manager-ში, რომელსაც ისევ იმ ტელეფონიდან არ ხსნი, რომელსაც authenticator უჭირავს. თუ ტელეფონი ერთდროულად შენი authenticator-იცაა და შენს სეიფში ერთადერთი შესასვლელიც, ერთი დაკარგული ტელეფონი ორივე ფაქტორს წაიღებს.
- დაშიფრულ ფაილში მანქანაზე, რომლის backup-იც გაკეთებულია. დაუშიფრავი ტექსტური ფაილი cloud საცავში ეს არ არის.
სად არა: შენიშვნა ტელეფონზე, რომელზეც authenticator მუშაობს, Discord-ის შეტყობინება საკუთარ თავს, screenshot-ების იგივე საქაღალდე, სადაც ყველაფერია, ან ბარათი მაგიდის ქვეშ, სადაც stream-იც აკეთებ.
პრაქტიკული ჩვევები, რომლებიც ღირს. გადახაზე კოდი სიაში, როცა გამოიყენებ, რადგან გამოყენებული კოდის ცდა არასწორი კოდის ცდისგან არ განსხვავდება და წრეზე გატრიალებს. თუ ბოლო ორამდე დაგრჩა, ნაკრები თავიდან დააგენერირე. და თუ ოდესმე კოდის გამოყენება მოგიწია, რადგან ტელეფონი აღარ გაქვს, ხელახლა გაიარე რეგისტრაცია ახალ მოწყობილობაზე, ნაცვლად იმისა, რომ მუშა აპის გარეშე იცხოვრო.
Authenticator აპის არჩევა#
ნებისმიერი აპი, რომელიც TOTP-ს ახორციელებს, იმუშავებს, რადგან სტანდარტი სტანდარტია. განსხვავება backup-ში, ექსპორტსა და იმაშია, იარსებებს თუ არა აპი სამ წელიწადში.
- Open-source აპები დაშიფრული ლოკალური backup-ით უსაფრთხო ნაგულისხმევია. Aegis Android-ზე დაშიფრულ საცავს და შენს მიერ კონტროლირებად ექსპორტის ფაილს გაძლევს. 2FAS და Ente Auth ორივე პლატფორმაზე მუშაობს და აქტიურად მხარდაჭერილია.
- Vendor აპები cloud sync-ით გარკვეულ კონტროლს კომფორტში ცვლის. Google Authenticator-მა ანგარიშის sync წლების შემდეგ მიიღო, როცა backup საერთოდ არ ჰქონდა, რამაც ბევრი ადამიანი უიმედოდ დატოვა; Microsoft-ის აპს backup უფრო დიდი ხანია აქვს. თუ ერთ-ერთს იყენებ, დარწმუნდი, რომ backup ნამდვილად ჩართულია და არა ივარაუდო.
- Password manager-ები, რომლებიც TOTP-ს ინახავენ, ორივე ფაქტორს ერთ საცავში აყენებენ. ეს რეალური კომპრომისია და პასუხი საცავზეა დამოკიდებული: თუ manager თავად ძლიერი master პაროლითა და სხვა მოწყობილობაზე საკუთარი მეორე ფაქტორით არის დაცული, ყველაფერი წესრიგშია და ბევრი ყურადღებიანი ადამიანი ამას აკეთებს. თუ საცავი იმავე ტელეფონზე ოთხციფრიანი PIN-ით იხსნება, გაქვს ერთი ფაქტორი დამატებითი ნაბიჯებით.
- მხოლოდ desktop ვარიანტები, როგორიცაა KeePassXC, კოდებს გენერირებს საიდუმლოდან, რომელსაც ჩააკოპირებ, რაც სასარგებლოა მეორე რეგისტრაციად ზემოთ მესამე ნაბიჯიდან.
ორი რამ, რაც შეამოწმო რასაც არ უნდა ირჩევდე: რომ შენი საიდუმლოების ექსპორტი შეგიძლია და რომ აპს ჩუმად არ გაუთიშავს პლატფორმა, რომელსაც ეყრდნობი. რამდენიმე authenticator-მა თავისი desktop build-ები მიატოვა. აპი, საიდანაც ექსპორტს ვერ აკეთებ, აპია, რომელიც შენს ანგარიშებს ფლობს.
კოდი უარყოფილია და თითქმის ყოველთვის საათია#
TOTP-ს ზუსტად ორი შესასვლელი აქვს, ამიტომ უარყოფილი კოდი სწრაფად ვიწროვდება.
საათის დრეიფი. მთვლელი დროიდან მიიღება. თუ მოწყობილობა, რომელიც კოდებს აგენერირებს, ბიჯზე მეტით ან ახლოს არის რეალური დროიდან, მისი ყოველი კოდი არასწორია. ავტომატური ქსელური დროით ტელეფონები თითქმის არასოდეს დრეიფობენ; ხელით დაყენებული დროის ტელეფონი, მოწყობილობა, რომელიც თვეა გამორთული იყო, ან შეჩერებული virtual machine დრეიფობს.
# Linux: check and enable network time$ timedatectl status$ sudo timedatectl set-ntp true# Windows: force a resync$ w32tm /resyncტელეფონზე ჩართე თარიღისა და დროის ავტომატური პარამეტრი. ზოგ authenticator აპს დროის კორექციის ვარიანტიც აქვს, რომელიც წანაცვლებას ერთხელ ზომავს და კოდებზე სისტემური საათის შეხების გარეშე იყენებს.
არასწორი ჩანაწერი. თუ რამდენიმე panel-ს და სერვისს მართავ, შენი აპი მსგავსი ექვსციფრიანი კოდების სიაა. შეამოწმე issuer-ის ხაზი და არა პოზიცია სიაში.
კოდი ვადაგასულია წაკითხვასა და აკრეფას შორის. ფანჯრის ბოლოსთან მყოფი კოდები ნელა მკრეფავებისთვის ვარდება. თუ უკუთვლის რგოლი თითქმის ცარიელია, შემდეგს დაელოდე.
Recovery კოდი არასწორ ველში. Recovery კოდებსა და TOTP კოდებს ჩვეულებრივ ცალკე ველები აქვთ. ერთის მეორეში ჩაწერა არაფერს ხარჯავს, დროს კი კარგავს.
ძალიან ბევრი მცდელობა. შესვლას rate limit აქვს და captcha არსებობს, ამიტომ წარუმატებელი ცდების სერია უფრო ნელი ხდება და არა სწრაფი. გაჩერდი, საათი გაასწორე, მოგვიანებით დაბრუნდი.
რას არ იცავს ორფაქტორიანი დაცვა#
ამაზე ნათლად საუბარი მნიშვნელოვანია, რადგან დარჩენილი ჩავარდნის გზები სწორედ ის არის, რაზეც შენი დარჩენილი ძალისხმევა უნდა დახარჯო.
- რეალურ დროში phishing. დამაჯერებელ ყალბ შესვლის გვერდს შენი კოდის რეალურ საიტზე გადაცემა მისი ოცდაათწამიანი ფანჯრის ფარგლებში შეუძლია. TOTP ამას ვერ უშლის ხელს; მხოლოდ მისამართის ზოლის შემოწმება. panel მდებარეობს მისამართზე
panel.renode.spaceდა სხვაგან არსად. ეჭვით მოეკიდე ნებისმიერ შესვლის ბმულს, რომელიც შეტყობინებით მოდის, და panel-ში მისამართის აკრეფით ან შენი საკუთარი bookmark-იდან შედი. - მოპარული სესია. ორფაქტორიანი დაცვა შესვლისას მუშაობს. მავნე პროგრამას შენს მანქანაზე ან ბრაუზერის გაფართოებას ზედმეტი წვდომით შეუძლია სესიის cookie შემდეგ აიღოს. სწორედ ამისთვისაა სესიების სია: ის გიჩვენებს, სად არის ანგარიში შესული და გაძლევს ამ სესიების დასრულების საშუალებას.
- API გასაღებები. API გასაღები შესვლის გარეშე ავთენტიფიცირდება, ამიტომ ორფაქტორიანი დაცვა მას საერთოდ არ ფარავს. გასაღებები შეიძლება კონკრეტული მისამართებით შეიზღუდოს და ეს შეზღუდვა ტოლფასი დაცვაა. გასაღებს მოექეცი როგორც პაროლს მეორე ფაქტორის გარეშე, რადგან ეს სწორედ ის არის.
- SFTP და RCON. SFTP credential-ები თითო სერვერზეა და არა თითო ანგარიშზე და ფაილების გადაცემის პროტოკოლზე მეორე ფაქტორი არ არსებობს. RCON არის პაროლი ღია პორტზე. ორივე ცალკე credential-ია ცალკე ჰიგიენით - RCON, უსაფრთხოდ და environment variable-ები და საიდუმლოები მათ ფარავს.
- შენი ელფოსტა. ელფოსტა ყველგან აღდგენის უმეტესი პროცესის ძირია და ჰოსტინგის ინვოისები იქ მოდის. თუ შენს ელფოსტის ანგარიშს მეორე ფაქტორი არ აქვს, ეს ჯერ გაასწორე.
- სხვა ადამიანები. ორფაქტორიანი დაცვა შენს ანგარიშს იცავს. თანა-ადმინისტრატორი მის გარეშე დაუცველი კარია იმავე სერვერებში, რაც შემდეგი განყოფილების თემაა.
დახმარების გაცემა ანგარიშის გადაცემის გარეშე#
მიზეზი, რის გამოც ხალხი ანგარიშის პაროლებს ინაწილებს, ისაა, რომ ვიღაცამ შუაღამეს სერვერის restart უნდა შეძლოს. ამისთვის სათანადო მექანიზმი არსებობს და მისი გამოყენება ნიშნავს, რომ შენი მეორე ფაქტორი ჯგუფურ ჩატში დაგდებული პაროლით არ ირღვევა.
Subuser-ები ცალკეულ სერვერებზე დეტალურ permission-ებს იღებენ: მხოლოდ კონსოლი, მხოლოდ ფაილები, არასოდეს ბილინგი. Permission-ები როლში ცხოვრობს, ადამიანები გუნდში და grant გუნდს სერვერს აკავშირებს, ამიტომ ადამიანს შეუძლია ერთ სერვერში დაგეხმაროს შენი დანარჩენი ანგარიშის დანახვის გარეშე. წვდომა დროით შეიძლება შეიზღუდოს, მოწვევები ბმულით, join კოდით ან ელფოსტით იგზავნება და ყოველ სერვერს საკუთარი activity ლოგი აქვს, ამიტომ "ვინ გადატვირთა" პასუხი აქვს. Subuser-ები და least privilege გადის, რომელი permission-ების გაცემაა უსაფრთხო და რომლები არის მფლობელობა შენიღბული.
ანგარიშს კიდევ რამდენიმე რამ იცავს, რომლებიც არსებობს და ღირს ცოდნა: პაროლები bcrypt hash-ებად ინახება, შესვლა captcha-სა და rate limit-ების უკან დგას, სესიების სია საშუალებას გაძლევს ყველგან ერთდროულად გახვიდე და API გასაღებები მისამართებით შეიძლება შეიზღუდოს. არცერთი ეს მეორე ფაქტორს არ ცვლის. ყველაფერი ეს მას ღირებულს ხდის დასამატებლად და არა ერთადერთ კედლად.
FAQ#
რომელი authenticator აპი გამოვიყენო?
ნებისმიერი, სანამ საიდუმლოების backup ან ექსპორტი შეგიძლია. Aegis, 2FAS და Ente Auth კარგი open-source არჩევანია; vendor აპები კარგია, თუ მათი backup ჩართულია. აპს გაცილებით ნაკლები მნიშვნელობა აქვს, ვიდრე საიდუმლოს ორ ადგილას რეგისტრაციას და recovery კოდების ჩაწერას.
ტელეფონიც და recovery კოდებიც დავკარგე. შეუძლია support-ს ჩემი ანგარიშის აღდგენა?
არა. authenticator-ის გაქრობითა და კოდების გაქრობით აღარ დარჩა credential, რომლითაც ვინმეს შენი გადამოწმება შეეძლოს, და ანგარიში, რომლის გახსნა დამაჯერებელი ამბით შეიძლება, საერთოდ არ არის დაცული. სწორედ ამიტომ არის ზემოთ რჩევა, რომ დაყენებისას მეორე მოწყობილობა დაარეგისტრირო და კოდები ტელეფონს გარეთ შეინახო.
შეიძლება hardware key ან SMS გამოვიყენო?
panel კოდებს authenticator აპიდან იღებს, პლუს ერთჯერად recovery კოდებს. Hardware key-ები და SMS აქ ვარიანტები არ არის. ეს ზოგი სერვისის შეთავაზებაზე პატარა მენიუა და პრაქტიკაში TOTP მეორე რეგისტრირებული მოწყობილობით და დაბეჭდილი კოდებით ჰოსტინგის ანგარიშისთვის რეალისტურ საფრთხეებს ფარავს.
სჭირდებათ თუ არა საკუთარი ორფაქტორიანი დაცვა ადამიანებს, ვისთანაც სერვერს ვიზიარებ?
დიახ და უნდა ჰქონდეთ. Subuser-ს სუსტი პაროლით და მეორე ფაქტორის გარეშე შეიძლება იგივე გზით აიღონ, როგორც შენ, და რაც მას მიანიჭე, ის იღებს თავდამსხმელი. მიანიჭე მინიმუმი, გადახედე და გამოიყენე თითო სერვერის activity ლოგი, რომ ნახო, რა გაკეთდა.
იცავს თუ არა ორფაქტორიანი დაცვა თავად ჩემს თამაშის სერვერს?
პირდაპირ არა. ის იცავს panel-ის ანგარიშს, რომელიც მას მართავს. სერვერს საკუთარი credential-ები აქვს - RCON, თამაშში ადმინი, მონაცემთა ბაზის პაროლები, SFTP - და არცერთი მათგანი შენს მეორე ფაქტორს არ ხედავს. შეცვალე ისინი ცალკე, განსაკუთრებით მას შემდეგ, რაც ვინმე წვდომით ჩართული აღარ არის.
უსაფრთხოა TOTP საიდუმლოს password manager-ში შენახვა?
გონივრული კომპრომისია, თუ საცავს ძლიერი master პაროლი და საკუთარი დაცვა სხვა მოწყობილობაზე აქვს. ცუდია, თუ საცავი PIN-ით იხსნება იმავე ტელეფონზე, რომელიც მასთან ერთად მოიპარება. ორივე შემთხვევაში recovery კოდები იმ ადგილას შეინახე, სადაც manager არ არის.




კომენტარები
სრულიად ანონიმურად: ანგარიშის, ელფოსტის და cookie-ის გარეშე. ინახება მხოლოდ სახელი, ტექსტი და დრო - სხვა არაფერი. ბმულების რაოდენობა ლიმიტირებულია.