ლოკალური SSH გადამისამართება თუ სრული VPN ერთი Mac-ის ეკრანისთვის?
ერთი ეკრანისთვის ერთ ჰოსტზე loopback SSH გადამისამართება VPN-ზე პატარაა. აქ არის, როდისაა საკმარისი, რას შიფრავს და როდის უნდა შეწყვიტოთ მისი გამოყენება.
თქვენ უნდა ნახოთ ერთი Mac-ის ეკრანი საკუთარი მანქანიდან, Mac მდებარეობს ჰოსტის უკან, რომელზეც უკვე შეგიძლიათ SSH-ით დაკავშირება, და კითხვაა, იმსახურებს თუ არა ეს VPN-ს. ჩვეულებრივ არა. ერთი ლოკალური გადამისამართება ერთ TCP პორტს გადააქვს თქვენს უკვე არსებულ SSH სესიაში, და ერთი ეკრანისთვის ერთ ჰოსტზე ეს უფრო პატარა და უფრო შესამოწმებელი მოწყობაა, ვიდრე მთელი ქსელის მარშრუტიზაცია.
ამას სამი პირობა წყვეტს, და რომელიმე მათგანს შეუძლია თქვენი გამართული VPN-ისკენ უკუაგდოთ.
ამას სამი პირობა წყვეტს
პირველი არის მოცულობა: ერთი სერვისი ერთ ჰოსტზე, თუ რამდენიმე ჰოსტი და რამდენიმე პორტი. მეორე არის, არის თუ არა ბასტიონსა და სამიზნეს შორის ყოველი ნახტომი უკვე სანდო, რადგან SSH იცავს მხოლოდ იმ სეგმენტს, რომელსაც თვითონ ამთავრებს. მესამე არის, ვის უნდა დაუჭიროს მხარი ამ მოწყობას მას შემდეგ, რაც ააშენებთ, რადგან ხელით გაკეთებული გვირაბი ჩვეულებრივ უფრო დიდხანს ცოცხლობს, ვიდრე ის ადამიანი, რომელმაც ის გაიგო. დაასახელეთ ეს ადამიანი სანამ დაიწყებთ, და ჩაწერეთ ბრძანება იქ, სადაც ის იპოვის. დაუდოკუმენტებელი გადამისამართება მომავალი ინციდენტია გადავადებული დაწყების თარიღით.
თუ პასუხებია „ერთი“, „დიახ“ და „მე, ჯერჯერობით“, გადამისამართება სწორი იარაღია. თუ რომელიმე პასუხი შეიცვლება, მხარდაჭერილი დისტანციური წვდომის დიზაინი წლის განმავლობაში იაფია, ვიდრე დაუდოკუმენტებელი გვირაბის შემდეგ მომავალი ინციდენტის განხილვა.
გადაამისამართეთ ერთი პორტი, და არა ქსელი
ლოკალური გადამისამართება ხსნის მსმენელს თქვენს მანქანაზე და ყოველ კავშირს SSH სერვერის გავლით უგზავნის დანიშნულებას, რომელზეც ეს სერვერი მიაღწევს. Mac-ისთვის, რომლის ეკრანის გაზიარების სერვისი TCP 5900-ზე უსმენს, და ბასტიონისთვის, რომელსაც შეუძლია mac.corp.example-ის ამოხსნა, ბრძანება მოკლეა და განზრახ ვიწრო. მასში ყოველი ოფცია არსებობს იმისთვის, რომ მოწყობა პატარა დარჩეს: არავითარი shell, არავითარი მსმენელი ყველა ინტერფეისზე, არავითარი დემონი. წაიკითხეთ ის როგორც მოცულობის განაცხადი და არა რეცეპტი.
ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:15900:mac.corp.example:5900 [email protected]მსმენელის 127.0.0.1-ზე მიბმა მას ყველა სხვა ინტერფეისისგან მოშორებით ინახავს. ეს ფორმალობა არ არის: ყველა ინტერფეისზე მიბმული გადამისამართება თქვენს ლეპტოპს კორპორატიულ ქსელში ღია რელედ აქცევს ნებისმიერისთვის, ვინც იმავე კაფის Wi-Fi-ზეა. თუ პორტი უკვე გამოყენებულია, აირჩიეთ სხვა მაღალი პორტი და განაახლეთ მთვალიერებელი; არ გააჩეროთ შეუსაბამო სერვისი, რათა მაგალითი მოერგოს.
ბასტიონზე არსებულ ანგარიშსაც სჭირდება ნებართვა იმ დანიშნულებაზე გადამისამართებისთვის. ზოგიერთი გამაგრებული SSH კონფიგურაცია პორტის გადამისამართებას სრულად თიშავს, ზოგიერთი კი permit-listen ან permit-open ინსტრუქციით ზღუდავს. წაიკითხეთ სერვერის პოლიტიკა, სანამ ჩათვლით, რომ უარყოფილი არხი ნიშნავს არასწორ პაროლს.
რას შიფრავს SSH და სად ჩერდება
SSH სესია იცავს ტრაფიკს თქვენი Mac-იდან ბასტიონამდე, და გადამისამართება VNC პროტოკოლს გადააქვს იმ სესიის შიგნით, მისი გაგების გარეშე. როგორც კი კავშირი ტოვებს ბასტიონს სამიზნისკენ, ის უკვე თქვენი SSH სესიის შიგნით აღარ არის. რა დაცვაც არ უნდა იყოს იმ ბოლო ნახტომზე, ის სამიზნის პროტოკოლს და კერძო ქსელის საკუთარ კონტროლებს ეკუთვნის.
ამიტომაც სუფთა ბოლო VNC ნახტომი არ უნდა აღიწეროს როგორც ბოლოდან ბოლომდე დაშიფრული მხოლოდ იმიტომ, რომ პირველმა ნახტომმა SSH გამოიყენა. აღწერეთ სეგმენტები პატიოსნად: ძლიერი კლიენტიდან ბასტიონამდე, და შემდეგ ის, რასაც სამიზნე მხარს უჭერს. თუ მოთხოვნაა, რომ მთელი გზა ერთი მექანიზმით დაიშიფროს, გადამისამართება ამას არ აკმაყოფილებს.
სამიზნეზე ავთენტიფიკაცია კვლავ ცალკე საკითხია. SSH ანგარიში macOS-ში შესვლას არ იძლევა, და ეკრანის გაზიარების სერვისი კვლავ საკუთარ მონაცემებს ითხოვს და კვლავ საკუთარ წვდომის სიას იყენებს. კავშირის მიმღები ლოკალური მსმენელი არაფერს ამტკიცებს იმის შესახებ, მიიღებს თუ არა დისტანციური სერვისი სესიას.
როდის არის სრული VPN სწორი გადაწყვეტილება
აირჩიეთ VPN, როცა დავალებას ერთზე მეტი პორტი სჭირდება: Apple Remote Desktop-ის მართვისა და რეპორტინგის ფუნქციები იყენებს დამატებით TCP და UDP ტრაფიკს, რომელსაც ერთი TCP გადამისამართება ვერ გადაიტანს. გადამისამართება მთელი პროდუქტის ნაწილობრივი განხორციელება არ არის; ეს სხვა, უფრო პატარა იარაღია.
აირჩიეთ ის, როცა რამდენიმე ადმინისტრატორი იცვლადი ადგილებიდან უკავშირდება, რადგან მართული პროფილი ავრცელებს მარშრუტებს, მონაცემებსა და პოლიტიკას იმის გარეშე, რომ თითოეულმა ადამიანმა ბრძანების სტრიქონი გამოიგონოს. აირჩიეთ ის, როცა აუდიტის კვალმა უნდა აჩვენოს, ვინ რას დაუკავშირდა, რადგან მომხმარებელზე SSH სესია და საერთო ლოკალური გადამისამართება ძალიან განსხვავებულ ჩანაწერებს ტოვებს.
აირჩიეთ ის, და ბოლოს, როცა სამიზნე ქსელი საერთოდ არ უნდა იყოს ხელმისაწვდომი ლეპტოპიდან ორგანიზაციის საკუთარი კარიბჭის გარეშე. პირადი გადამისამართება ამ კარიბჭეს დიზაინითვე გვერდს უვლის, და სწორედ ამიტომ ეკუთვნის ის ცვლილების ჩანაწერს და არა shell-ის ისტორიას.
აიძულეთ გადამისამართება ხმამაღლა ჩავარდეს
გამოიყენეთ ExitOnForwardFailure=yes, რათა წარუმატებელმა მიბმამ სესია შეაჩეროს და არ დატოვოს shell, რომელიც დაკავშირებულად გამოიყურება და არაფერს გადასცემს. დატოვეთ ჰოსტის გასაღების შემოწმება ჩართული, და პაროლზე უპირატესობა მიანიჭეთ გასაღებს ან აგენტს. შემდეგ შეამოწმეთ ზუსტად ის URL, რომელსაც მთვალიერებელი გამოიყენებს, რადგან მომუშავე SSH სესია და მომუშავე ეკრანის კავშირი ორი განსხვავებული შედეგია.
macOS-ის მკვიდრი კლიენტისთვის მთვალიერებელზე ლოკალური URL-ით მიაღწევენ: open "vnc://127.0.0.1:15900". თუ ფანჯარა იხსნება და დისტანციური ჰოსტი ავთენტიფიკაციას უარყოფს, გვირაბი რიგზეა და პრობლემა სამიზნეზეა. თუ ფანჯარა არასდროს იხსნება, პრობლემა მსმენელში ან პორტშია.
შეაჩერეთ სესია, როცა დაასრულებთ, და ჩაწერეთ პორტი, ბასტიონი, სამიზნე და ანგარიშის პოლიტიკა. გადამისამართება, რომელიც არავის დაუდოკუმენტებია, ექვსი თვის შემდეგ უკანა კარიდან არ გაირჩევა, და ეს არის ყველაზე ძლიერი არგუმენტი მისი პატარა, დასახელებული და დროებითი შენარჩუნებისთვის.