جلوگیری از نمایش گذرواژه ذخیرهشده VPN توسط NetworkManager
هر بار بپرسید، آن را به یک دستهکلید بسپارید یا فایلی فقط برای root نگه دارید. هر انتخاب در معرض خطر متفاوتی است و پرچم گذرواژه باید با آن همخوان باشد.
NetworkManager میتواند گذرواژه VPN را نگه دارد تا اتصال بدون اینکه کسی آن را تایپ کند بالا بیاید، و میتواند آن مقدار را از طریق ویرایشگر یا از طریق nmcli --show-secrets دوباره نشان دهد. سه مدل مالکیت در دسترس است و رفتار نمایش تنها نشانهای از مدلی است که انتخاب کردهاید. ابتدا مدل را انتخاب کنید و سپس پرچمی را که با آن همخوان است تنظیم کنید، نه اینکه فیلدی را با یک جاینگهدار پنهان کنید که نفر بعدی را گیج میکند.
سه مدل مالکیت
مدل اول هر بار میپرسد. هیچ چیز ذخیره نمیشود، راز فقط در طول فعالسازی وجود دارد، و هر کسی که اتصال را شروع میکند باید گذرواژه را بداند. این کمراحتترین گزینه و آسانترین گزینه برای دفاع است.
مدل دوم راز را به دستهکلیدی میسپارد که در مالکیت کاربر است. عامل هنگام شروع نشست قفل را باز میکند و مقدار را در صورت درخواست تأمین میکند، که آن را بیرون از فایل اتصال نگه میدارد اما اتصال را به نشست همان کاربر گره میزند. از این دو شرط برمیآید: عامل باید در حال اجرا باشد و باید قفلگشایی شده باشد.
مدل سوم اعتبارنامه محافظتشدهای برای اتصال سیستمی ذخیره میکند. از راهاندازی دوباره جان سالم به در میبرد و پیش از ورود هر کسی کار میکند، و در عوض مقدار روی دیسک با مجوزهای فایل محافظت میشود نه با رمزنگاری.
هر مدل در زمینه درست معقول است. خطا درآمیختن آنهاست، و اینگونه یک لپتاپ با رازی در دو جا و بدون پاسخ روشن درباره اینکه کدام معتبر است رها میشود. بنویسید یک پروفایل از کدام مدل استفاده میکند. یک خط در دفترچه تیم نفر بعدی را از ساختن چهارمین جای جستجو نجات میدهد.
وضعیت فعلی را پیش از تغییر بخوانید
به پروفایل و وضعیت راز بهعنوان کاربری که اتصال را مدیریت میکند نگاه کنید. فرمان دوم همان است که میگوید مقدار واقعاً خواندنی است یا نه.
nmcli connection show "Office VPN"
nmcli --show-secrets connection show "Office VPN"
sudo stat -c '%U %a %n' /etc/NetworkManager/system-connections/*.nmconnection
فایل کلید در آن پوشه معمولاً در مالکیت root با حالت 600 است. این کاربران عادی را بیرون نگه میدارد و root را بیرون نگه نمیدارد، که وقتی همان ماشین مشترک است یا وقتی نسخه پشتیبان با root اجرا میشود اهمیت دارد.
مجوزهای فایل یک مرزند، نه رمزنگاری. هر کس که فایل را با root بخواند گذرواژه را بهصورت متن روشن دارد. این معاملهای پذیرفتنی برای سرور بدون نظارت و بد برای ایستگاه کاری مشترک است. یکبار نوشتن آن از جدالی طولانی درباره اینکه آیا مقدار محافظت میشود جلوگیری میکند.
هر مقدار پرچم چه میکند
راز VPN ویژگی flags را حمل میکند و مقادیر تنها از روی اعداد بدیهی نیستند.
| Value | Meaning | Practical effect |
|---|---|---|
| 0 | No special flag | Secret is typically saved with the connection |
| 1 | Agent-owned | A keyring or secret agent supplies it |
| 2 | Not saved | Prompted at each activation |
| 4 | Not required | Connection proceeds without asking |
رفتار واقعی به افزونه و به اینکه عاملی در حال اجراست نیز بستگی دارد، پس جدول را قرارداد و رفتار مشاهدهشده را چیزی بدانید که بررسی میکنید. مقداری که روی یک رومیزی کار میکند میتواند روی سروری بدون نشست رفتار دیگری داشته باشد. بیشتر بلیتهای گیجکننده در همین شکاف زندگی میکنند.
ویژگی را صریح تنظیم کنید، نه اینکه خطی را پاک کنید و امیدوار باشید. پرچم غایب یک سیاست نیست و بهروزرسانی بسته بعدی ممکن است آن را با چیزی پر کند که قصدش را نداشتید.
مدل را با زمان شروع اتصال همخوان کنید
اگر اتصال تنها زمانی شروع میشود که کاربری وارد شده است، مالکیت عامل خوب جواب میدهد و راز را بیرون از فایل نگه میدارد. اگر هنگام بوت، پیش از وجود هر نشستی شروع شود، عامل نمیتواند به شما کمک کند.
این تمام تصمیم برای بیشتر ماشینهاست. این همچنین دستهای از گزارشهای گیجکننده را توضیح میدهد که اتصال بهصورت تعاملی کار میکند و پس از راهاندازی دوباره شکست میخورد. پرچم هرگز تغییر نکرد؛ زمینه تغییر کرد.
برای حالت بدون نظارت، فایل محدود در مالکیت root یا منبع اعتبارنامه تأییدشده پاسخ عملی است. اگر آن پروفایل روزی صادر یا به ماشین دیگری کپی شود، آن را بیرون از پروفایل اتصال نگه دارید.
اگر مقدار از قبل قابل مشاهده بود، آن را تغییر دهید
تغییر پرچم خود گذرواژه را دستنخورده میگذارد. مقداری که در یک تصویر صفحه، در تاریخچه shell، در بستهای که به پشتیبانی فرستاده شده یا در فایلی که کاربران دیگر میتوانستند باز کنند پیدا شده، باید افشاشده تلقی شود.
آن را روی سرور تغییر دهید، سپس سرویسگیر را اصلاح کنید و هر نشستی را که با گذرواژه قدیمی تأیید شده پایان دهید. حذف اتصال محلی چیزی را در طرف دیگر لغو نمیکند، و همین بخشی است که مردم از دست میدهند.
سپس گذاشتن گذرواژه روی خط فرمان را متوقف کنید. در تاریخچه shell میافتد و میتواند در فهرست فرایندها ظاهر شود؛ بهجای آن از اعلان تعاملی یا عامل استفاده کنید.
با اتصال دوباره بررسی کنید
فرمانی را که راز را نشان داد تکرار کنید و تأیید کنید که فیلد دیگر چاپ نمیشود. سپس قطع و دوباره وصل شوید، و اگر اتصال خودکار شروع میشود دوباره راهاندازی کنید، چون خرابی جالب فقط وقتی ظاهر میشود که زمینه نشست تغییر کند.
اگر راز هنوز نشان داده میشود، پروفایل دیگری یا عامل دیگری آن را تأمین میکند. بهجای حذف فایلها تا جابهجایی نشانه، اتصال فعال و دستهکلید را بررسی کنید.