ایمن سازی رمز عبور در اسکریپت و فایل PowerShell

ایمن سازی رمز عبور در اسکریپت و فایل PowerShell

432views

مثل تمامی مدیران سیستم، من هم بعضا لازم شده اسکریپت هایی را برای اتوماسیون برخی وظایف پیاده سازی کنم. خودکار سازی وظایف توسط فایل PowerShell بسیار ساده و کارآمد است تا زمانی که بخواهید رمزهای عبور را در آن قرار دهید.

ایمن سازی رمز عبور در اسکریپت و فایل PowerShell

تعداد زیادی اسکریپت و فایل را دیده ام که برخی مدیران سیستم برای راحتی کار، رمز عبور را بصورت کاملا واضح درون فایل‌ها قرار داده‌اند، بعضا تصور می‌کنند چون این فایل‌ها در پوشه‌های تو در تو و بعضا در مسیرهای Group Policy ها قرار دارد، کاملا امن و دور از دسترس هستند، در صورتی که اصلا این چنین نیست و یک کلاه سیاه اولین جایی را که برای یافتن اطلاعات حساس زیر و رو می کند، همین بخش ها می باشد. انجام این عمل به عنوان یک گناه کبیره در صنعت IT و امنیت حساب می شود!

فایل PowerShell

در ابتدا، به شما آموزش می دهیم که چطور رمزهای عبور را بدون اینکه بصورت متن ساده قابل خواندن باشد درون فایلها قرار دهید، حداقل بصورتی که رمز قابل مشاهده برای کاربران و دیگران قابل مشاهده نباشد.

1- استفاده از Get-Credential و Read-Host

شما می توانید یک آبجکت PSCredential را با دستور Get-Credential ایجاد و آن را در یک متغیر ذخیره کنید و سپس آن را در دستوری که از PSCredential پشتیبانی می کند استفاده کنید.

هنگامی که شما متغیر $MyCredential را فراخواهنی می‌کنید، شما می‌توانید نام کاربری را مشاهده کنید اما رمز عبور را به شکل “System.Security.SecureString” نشان می‌دهد، این به این دلیل است که هم اکنون رمز ها به صورت یک “رشته امن” ذخیره شده است.

شما هم اکنون می توانید این متغیر را در هر دستوری (cmdlets) که از مقدار PSCredential پشتیبانی می کند، فراخوانی کنید. حتی اگر دستور از این مقدار پشتیبانی نمی کند و فقط می خواهید نام کاربری و یا فقط رمز عبور را به یک دستور ارسال کنید، می توانید به صورت $MyCredential.UserName و یا $MyCredential.Password از آن استفاده کنید.

همچنین شما می توانید از دستور Read-Host برای ورود اطلاعات در همان لحظه به داخل یک متغیر استفاده کنید. با افزودن گزینه AsSecureString می توانید مقادیر وارد شده را بصورت امن ذخیره کنید:

خروجی این روش همانند قبلی یکسان هست. نام کاربری و رمز عبور به سهولت در دسترس و رمز عبور بصورت یک رشته امن ذخیره شده است.

این دو مورد روش های خوبی برای اجرای یکبار و یا دستی اسکریپت ها هست که رمز عبور را درون فایلها قرار ندهیم اما برای اتوماسیون وظایف اصلا مناسب نیست. ما به دنبال راهکاری هستیم که بدون نیاز به ورود دائم رمزها توسط دستورات فوق و یا رها کردن رمزهای عبوری که برای همه قابل مشاهده باشد؛ بتوانیم وظایف و اسکریپت ها را بصورت خودکار اجرا کنیم.

 

2- رمزنگاری کلمه های عبور و رشته های دیگر توسط ConvertTo-SecureString

با استفاده از ConvertTo-SecureString می توانید یک متن یا رشته ساده را به بصورت یک رشته رمزنگاری شده SecureString تبدیل کنید. این مقدار می‌تواند برای تمامی دستوراتی که نوع PSCredential را قبول می کنند استفاده شود.

نحوه استفاده:

برای مثال جهت تبدیل کلمه عبور P@ssword1 به یک رشته امن از دستور زیر استفاده می کنیم:

خروجی این نوع یک رشته امن خواهد بود. متاسفانه این امکان وجود ندارد که SecureString را درون یک فایل برای استفاده های آتی قرار دهیم، به همین منظور باید SecureString را به یک رشته رمزنگاری شده تغییر دهیم. برای این کار از دستور ConvertFrom-SecureString استفاده می کنیم.

3- ذخیره کردن یک رشته رمزنگاری شده – ConvertFrom-SecureString

با استفاده از این دستور می‌توانیم یک رشته امن را به یک رشته ساده رمزنگاری شده تغییر داده و آن را بصورت مستقیم و یا بصورت Pipe درون دستورات خود استفاده کنیم.

نحوه استفاده:

دقیقا مطابق مثالی که در بالا زدیم، ما خروجی دستور فوق را با استفاده از دستور ذکر شده به یک رشته رمزنگاری شده تغییر میدهیم:

نتیجه یک رشته استاندارد رمزنگاری شده است که می‌توانیم آن را ذخیره کرده و برای استفاده‌های آتی از آن استفاده کنیم.

جمع بندی

یادگرفتیم که چطور یک رشته امن را به یک رشته رمزنگاری شده تغییر دهیم، یک رشته ساده را به یک رشته امن تغییر می‌دهیم و سپس آن را رمزنگاری کرده و امکان ذخیره آن را در فایل‌ها داریم.

خروجی گرفتن یک رشته امن از یک متن ساده و ذخیره آن در یک فایل با دستور Out-File

خروجی گرفتن یک رشته امن توسط Get-Credential

خروجی گرفتن یک رشته امن توسط Read-Host

هر یک از دستورات فوق به ما یک فایل با نام Password.txt می دهد که دارای یک رشته رمزنگاری شده است.

هنگامی که نیاز دارید از این رمز استفاده کنید، در اصل باید این مراحل را بصورت برعکس استفاده کنید. اگر شما به SecureString فقط نیاز دارید می توانید تا همین مرحله فقط استفاده کنید.

ایجاد SecureString توسط Get-Content و ConvertTo-SecureString

ایجاد یک نوع PSCredential

نکته آخر:

این کار باعث نمی‌شود که کسی که میداند شما چطور کار خود را انجا می دهید، نتواند رمز شما را بازگشایی کند و یا از کلمه عبور رمزنگاری شما سوءاستفاده نکند. قصد ما از تبدیل رمزها به یک رشته امن و ذخیره سازی آن در فایل برای این است که رمز عبور به صورت متن ساده در اسکریپت ها نباشد تا به راحتی مورد سوء استفاده قرار نگیرد. هر چند این روش یک روش 100% امن و اصولی نیست اما از امنیت سایت بالایی به نسبت رویه عادی برخوردار است.

فایل PowerShell

همانطور که در بالا گفته شد، ما از یک کلید و یا یک کلید امن برای تهیه این رشته امن استفاده نمی‌کنیم. این روش فقط برای همان کاربر و بر روی همان سیستم که تهیه شده قابل استفاده است و اگر شما از کلید/کلید امن استفاده نکنید، نمی‌توانید آن را بازگشایی کنید. هر پردازشی که در همان سیستم و توسط همان کاربر اجرا شود می‌تواند رشته رمزنگاری شده را باز کند.

اگر می‌خواهید بتوانید رمزهای عبور را به اشتراک بگذارید و روی سیستم های دیگر و .. از آن استفاده کنید، باید یک کلید/کلید امن برای این کار استفده کنید.

میزبانی وب زاگریو

افزودن رمز برای دایرکتوری‌ها در DirectAdmin

 

 

قدم اول: وارد دایرکت ادمین خود شوید.

قدم دوم: مانند تصویر زیر به منو Advanced Features می‌روید و گزینه Password protected directories را انتخاب می‌نمایید.

 

قدم سوم: در صفحه جدید باز شده می‌توانید با گزینه Find a Directory to password protect پوشه‌ای که نیاز دارید برای آن رمز انتخاب نمایید را انتخاب نموده و رمز برای آن قرار دهید.

نحوه انتخاب رمز عبور قوی و مناسب چیست؟

نحوه انتخاب رمز عبور قوی و مناسب چیست؟

10.4kviews

در این مقاله سعی می‌کنیم، راه کار انتخاب یک رمز عبور قوی و ایمن را به شما آموزش دهیم و نکات مهم، برای داشتن پسووردی مطمئن را در زاگریو به شما خواهیم گفت.

نکاتی که در انتخاب رمز عبور باید به آن دقت کنید

رمز عبور قوی، یکی از مهم‌ترین مواردی است که شما برای ساخت هر اکانت و ورود به سوشیال مدیا (اینستاگرام، فیس‌بوک، توییتر، لینکدین و …) به آن نیاز دارید، پس باید بسیار در ساخت پسوورد دقت به خرج دهید.

1. طولانی بودن رمز عبور |اصول انتخاب رمز قوی

اکثر سیستم‌هایی که پسوورد دریافت می‌کنند به حداقل ۸ کاراکتر نیاز دارند، هر چقدر پسورد شما طولانی‌تر باشد امنیت آن بیشتر است.

2. ترکیبی تصادفی از حروف و عدد

یک کلمه و یا کلماتی “تصادفی” را انتخاب کنید که یادآوری آن برای شما ساده باشد و آن کلمات را به عنوان “کلمات پایه” در نظر بگیرید.
مثال: نام فرزندان من علی، تارا، سامان و ستاره است پس کلمه تصادفی من می‌تواند altasase باشد (دو حرف اول هر نام).

خرید سرور مجازی

3. اعدادی را به کلمات پایه خود اضافه کنید تا امن‌تر شوند.

مثال: سن فرزندان خود را به آن اضافه کنید: altasase391720

4. کاراکترهای اضافی را اضافه کنید تا پسوورد شما پیچیده‌تر شود.

مثال: altasase#391720

5. با استفاده ار حروف بزرگ و کوچک رمز خود را پیچیده‌تر کنید.

مثال: AlTaSaSe#391720

6. پسوورد‌های مشابه اما متغیر استفاده نمائید |  رمز عبور مناسب

کلمات پایه و ترکیب آن‌ها به شما کمک می‌کند که یادآوری آن‌ها ممکن است ساده باشد پس با ترکیب کردن این موارد آن را از به صورتی تبدیل نمائید که به سادگی قابل شکستن (Crack) نباشد.

مثال: تبدیل AlTaSaSe#391720 به mykidsAlTaSaSe#3090170200

زاگریو

محافظت از پوشه‌ها با استفاده از Directory Privacy در cPanel

2.1kviews

در این آموزش قص داریم به محافظت از پوشه‌ها با استفاده از Directory Privacy در cPanel بپردازیم با زاگریو همراه باشید.

این ابزار به ما این امکان را می‌دهد که روی پوشه‌های خود حفاظ امنیتی ایجاد کنیم. با ایجاد این حفاظ امنیتی کاربرانی که از طریق وب می‌خواهند به این پوشه دسترسی پیدا کنند باید رمز عبور و نام کاربری وارد نمایند.

برای دسترسی به گزینه محافظت از پوشه‌ها وارد cPanel می‌شویم و از قسمت فایل بر روی گزینه Directory Privacy کلیک می‌کنیم.
Directory-Privacy1
با کلیک روی Directory Privacy پنجره Directory Privacy Directory Selection برای ما باز خواهد شد که با انتخاب مسیر موردنظر بر روی Go کلیک می‌کنیم.
Directory-Privacy2
با کلیک روی Go وارد صفحه Directory Privacy خواهیم شد. در این صفحه بر روی پوشه مورد نظر کلیک کنید.
Directory-Privacy3
ما پوشه TEST را انتخاب می‌کنیم. با کلیک بر روی پوشه  TEST وارد پنجره جدیدی می‌شویم. در این قسمت همان‌طور که در شکل زیر نشان داده شده است در کادر آبی رنگ گزینه Password protect this directory را تیک می‌زنیم و در داخل کادر قرمز رنگ در قسمت Name of the protected directory نام پوشه موردنظر را وارد می‌کنیم و بر روی گزینه Save کلیک می‌کنیم.
Directory-Privacy4
از قسمت Create User می‌توانیم یک User برای دسترسی به این پوشه محافظت شده تعریف کرد.

برای این کار گزینه‌های شماره‌گذاری شده را مطابق زیر پر می‌کنیم.

۱- Username: در این قسمت نام کاربری مربوط به یوزر جدید وارد شود.

۲- New Password: رمز عبور دسترسی برای این یوز انتخاب می‌کنیم.

۳- Password Again: جهت اطمینان از درستی رمز عبور مجدد آن را تایپ کنید.

۴- Strength: میزان قابلیت اطمینان و امن بودن رمز عبور انتخابی را نمایش می‌دهد. رنگ سبز و عدد ۱۰۰ نشان دهنده رمز عبوری بسیار قوی است.

۵- Password Generator: جهت ایجاد یک رمز عبور بسیار قوی به صورت خودکار می‌توانید از این ابزار کمک بگیرید.

 با کلیک بر روی Password Generator پنجره‌ای باز می‌شود که پسوردی برای ما تولید می‌کند. با انتخاب گزینه I have copied this password in a safe place و کلیک بر روی دکمه Use Password پسورد به فیلدهای پسورد انتقال می‌یابد و نیازی به تایپ پسورد نیست.
Directory-Privacy5
ما فرم را با توجه به توضیحات بالا پر کردیم و در نهایت بر روی گزینه Save کلیک می‌کنیم.
Directory-Privacy6
اکنون ما یک User ایجاد کردیم که می‌تواند به پوشه محافظت شده دسترسی داشته باشد.