زمانی که سرور اوبونتو 16.04 خود را ایجاد میکنید، چند مرحله مقدماتی را باید در ابتدای کار پیش ببرید. این کار باعث افزایش امنیت و استفاده بهینه از سرور میشود و یک پایه قوی برای عملیاتهای بعدی در اختیار شما قرار میدهد.
قدم اول: ورود با Root
برای ورود به سرور باید آدرس آیپی عمومی آن را داشته باشید. همچنین نیاز به رمز عبور دارید و یا اگر برای اعتبار سنجی کلید SSH
نصب کرده باشید به کلید خصوصی برای حساب کاربری root
نیاز دارید. اگر قبلا به سرور متصل نشدهاید، با کاربر root و با استفاده از دستور زیر وارد شوید. (بجای your_server_ip
آیپی عمومی و حقیقی سرور خود را وارد کنید)
در صورتی که پیامی بر روی صفحه ظاهر شد، فرایند ورود را با پذیرش هشدار درباره اعتبار میزبان کامل کنید. سپس با استفاده از رمز عبور یا کلید خصوصی وارد شوید. اگر اولین بار است که وارد سرور میشوید، سرور از شما میخواهد که رمز عبور پیش فرض را تغییر دهید.
درباره Root
کاربر root کاربری با سطح مدیریت در محیط لینوکس است که امتیازات و دسترسیهای بسیار گستردهای دارد. به دلیل دسترسیهای زیاد حساب root
به شما پیشنهاد میشود که از آن برای کارهای روزمره استفاده نکنید. زیرا بخشی از قدرت root
توانایی آن در ایجاد تغییرات مخرب، حتی بطور تصادفی است.
مرحله بعدی راه اندازی یک حساب کاربری دیگر با محدودهی اختیارات کمتر برای کارهای روزانه است. به شما یاد خواهیم داد که چگونه در زمان نیاز دسترسی آن را به سطح بالاتری ارتقا دهید.
قدم دوم: ایجاد حساب کاربری جدید
اکنون که با حساب کاربری root
وارد شدهاید، میخواهیم حساب جدیدی ایجاد کنیم تا از این به بعد برای ورود از آن استفاده کنیم.
در این مثال کاربر جدیدی با نام vivin
ایجاد میکنیم، اما شما میتوانید این نام را با هر نام دیگری عوض کنید.
پس از وارد کردن دستور بالا، سوالاتی از شما پرسیده میشود که با رمز حساب کاربری شروع میشود. حتما رمز عبوری قوی وارد کنید و به دلخواه اطلاعات مراحل بعدی را پر کنید. مراحل بعد از رمز عبور اختیاری هستند و میتوانید با زدن کلید اینتر رد شوید.
قدم سوم: امتیازات Root
اکنون ما یک حساب کاربری جدید با امتیازات معمولی داریم. اما گاهی برای انجام برخی کارها نیاز به دسترسی در سطح مدیریت داریم.
برای جلوگیری از خروج از حساب کاربری عادی و ورود به حساب root، میتوانیم برای حساب کاربری جدیدمان امتیازات root یا superuser
را اعمال کنیم. این کار به کاربران عادی اجازه میدهد تا دستورات را در سطح مدیریت اجرا کنند و آن هم با قرار دادن کلمه sudo
در پشت هر دستور.
برای اضافه کردن این امتیازات به حساب جدید، باید حساب جدید را به گروه sudo
اضافه کنیم. بطور پیش فرض در اوبونتو 16.04 کاربرانی که به گروه sudo
تعلق دارند اجازه استفاده از دستورات sudo را دارند.
با استفاده از حساب root دستور زیر را اجرا کنید تا حساب جدید به گروه sudo اضافه شود. (کلمه vivin
را با نام کاربری انتخابی خود عوض کنید)
اکنون کاربر شما میتوانید دستورات سطح بالا را اجرا کند.
اگر میخواهید امنیت سرور خود را افزایش دهید ادامه آموزش را مطالعه کنید.
قدم چهارم: افزودن کلید اعتبار سنجی عمومی (توصیه شده)
مرحله بعدی در امنسازی سرور، تنظیم کلید عمومی اعتبار سنجی برای کاربر جدید است. این تنظیمات باعث افزایش امنیت سرور شما میشود که در نتیجه آن برای ورود نیاز به کلید خصوصی SSH دارید.
تولید کلید
اگر از قبل کلید SSH
ندارید، که شامل یک کلید عمومی و یک کلید خصوصی می شود، باید کلید را تولید کنید. اگر از قبل کلید را دارید، از این بخش رد شوید و به مرحله کپی کلید عمومی بروید.
برای تولید کلید جدید، دستور زیر را در ترمینال ماشین محلی یا همان کامپیوتر خود وارد کنید:
با فرض اینکه نام حساب محلی شما localuser
است، این خروجی را مشاهده خواهید کرد:
با زدن کلید اینتر نام و مسیر فایل را بپذیرید یا نام جدیدی برای آن وارد کنید.
سپس، از شما خواسته میشود که با رمز عبور کلید خود را امن کنید. میتوانید بدون وارد کردن رمز از این مرحله رد شوید.
نکته: اگر رمز را خالی بگذارید، میتوانید از کلید خصوصی اعتبار سنجی برای ورود بدون رمز استفاده کنید. اگر رمزی را وارد کنید، به هر دو رمز و کلید خصوصی نیاز خواهید داشت. تامین امنیت کلیدها با رمز عبور روشی امنتر است، اما هر دو روش استفاده خاص خود را دارند و امنتر از ورود تنها با رمز عبور هستند.
با این کار یک کلید خصوصی (id_rsa
) و یک کلید عمومی (id_rsa.pub)
در پوشه .ssh
خانه localuser
ایجاد میشود. فراموش نکنید که کلید خصوصی نباید با کسانی که نمیخواهید به سرور شما دسترسی داشته باشند به اشتراک گذاشته شود.
کپی کلید عمومی
پس از تولید کلید SSH باید کلید عمومی را به سرور خود کپی کنید. با استفاده از دو روش آسان این کار را انجام خواهیم داد.
روش اول: استفاده از ssh-copy-id
اگر اسکریپت ssh-copy-id
بر روی ماشین محلی شما نصب است، میتوانید کلید عمومی را برای هر کاربری که اطلاعات اعتبارسنجی آن را دارید استفاده کنید.
دستور ssh-copy-id
با مشخص کردن نام کاربری و آیپی سروری که میخواهید روی آن نصب کنید را اجرا کنید:
پس از وارد کردن رمز عبور، کلید عمومی شما به فایلهای کاربر در .ssh/authorized_keys
اضافه میشود. اکنون میتوان با کلید خصوصی مرتبط وارد سرور شد.
روش دوم: نصب دستی کلید
با فرض اینکه در مرحله قبل کلید خود را تولید کردهاید، با استفاده از دستور زیر کلید عمومی (id_rsa.pub
) ماشین محلی خود را بر روی صفحه پرینت کنید:
با این کار کلید عمومی شما بر روی صفحه نمایش داده میشود. چیزی مانند کدهای زیر:
کلید عمومی را انتخاب کنید و آن را در حافظه سیستم کپی کنید.
برای استفاده از کلید SSH
در اعتبار سنجی ورود، باید کلید عمومی را در یک فایل خاص در دایرکتوری خانه کاربر قرار دهید.
در سرور اوبونتو، با استفاده از کاربر root
دستور زیر را وارد کنید تا به طور موقت به حساب کاربری جدید وارد شوید.
اکنون در دایرکتوری خانه کاربر جدید هستید.
یک دایرکتوری جدید بسازید و نام آن را .ssh
قرار دهید و مجوزهای آن را با دستور زیر محدود کنید:
اکنون فایلی با نام authorized_keys
در .ssh
با یک ویرایشگر متن باز کنید. ما از nano
استفاده میکنیم:
اکنون کلید عمومی خود را که قبلا کپی کرده بودید در اینجا paste کنید.
با فشردن کلید CTRL-x
و زدن کلید y
و در نهایت کلید ENTER
از ویرایشگر خارج شوید.
اکنون مجوزهای authorized_keys
را با دستور زیر محدود کنید:
با تایپ دستور زیر به حساب root برگردید:
اکنون کلید عمومی نصب شده است و میتوانید با استفاده از کلیدهای SSH به سرور وارد شوید.
در مرحله بعد به شما نشان خواهیم داد که چگونه اعتبارسنجی با رمز عبور را غیر فعال کنید.
قدم پنجم: غیرفعالسازی اعتبارسنجی با رمز عبور (توصیه شده)
اکنون که کاربر جدید شما میتوانید با استفاده از کلید SSH وارد شود، میتوانید اعتبارسنجی با رمز عبور را غیرفعال کنید. با این کار سرور شما تنها محدود به ورود با کلید SSH خواهد شد. پردازش کلید خصوصی تنها راه برای ورود به سرور خواهد بود.
نکته: تنها زمانی اعتبار سنجی با رمز عبور را غیرفعال کنید که یک کلید عمومی برای کاربر خود نصب کرده باشید، در غیر این دسترسی به همه چیز را از دست خواهید داد.
برای غیرفعال سازی ورود با رمز عبور مراحل زیر را پیش بروید. با حساب root یا sudo
کاربر جدید تنظیمات SSH را باز کنید:
خطی که عبارت PasswordAuthentication
در آن قرار دارد را پیدا کنید و از حالت کامنت شده در بیاورید (با حذف #
) سپس مقدار آن را به no
تغییر دهید. پس از انجام تغییرات باید کد زیر را داشته باشید:
در اینجا دو تنظیم مهم دیگر برای اعتبارسنجی با کلید وجود دارد که بطور پیش فرض تنظیم شده است. اگر این فایل را قبلا ویرایش نکردهاید نیاز به تغییر چیزی نیست.
پس از اعمال تغییرات، با استفاده از کلیدهای CTRL-X
، سپس Y
و بعد ENTER
از حالت ویرایش خارج شوید.
با استفاده از دستور زیر SSH را مجدد راه اندازی کنید:
اکنون ورود با رمز عبور غیرفعال است و سرور شما تنها با کلید SSH
در دسترس قرار میگیرد.
قدم ششم: تست ورود
قبل از خروج از سرور باید تنظیمات جدید را تست کنید. تا قبل از اینکه از ورود موفق توسط SSH مطمئن نشدهاید ارتباط خود را قطع نکنید.
در یک ترمینال جدید در ماشین محلی خود، وارد حساب کاربری جدید که ایجاد کردیم شوید. برای اینجا از دستور زیر استفاده کنید. (آیپی سرور و نام کاربری خود را با vivin
جابجا کنید):
اگر کلید عمومی اعتبار سنجی را برای کاربر اضافه کرده باشید، کلید خصوصی شما برای اعتبارسنجی استفاده میشود. در غیر این صورت، رمز عبور از شما خواسته میشود.
نکته: اگر کلید خود را با استفاده از رمز عبور ایجاد کرده باشید، از شما هنگام ورود رمز عبور خواسته میشود. در غیر این صورت بدون رمز عبور وارد سرور خواهید شد.
زمانی که اعتبار سنجی انجام شود شما وارد سرور خواهید شد.
فراموش نکنید که اگر میخواهید دستوری در سطح root اجرا کنید با قبل از آن از sudo
استفاده کنید:
قدم هفتم: راهاندازی دیوارهی آتشین
اوبونتو 16.04 با استفاده از فایروال UFW میتوانید از ارتباطات مجاز متصل به سرور مطمئن شود. با استفاده از این اپلیکیشن میتوانیم فایروال ساده راهاندازی کنیم.
اپلیکیشنهای مختلف میتوانند پروفایل خود با UFW
در زمان نصب ثبت کنند. این پروفایلها به UFW اجازه میدهند تا اپلیکیشنها بر اساس نامشان مدیریت شوند. مثلا سرویس OpenSSH
که به ما اجازه اتصال به سرور را میدهد، پروفایلی ثبت شده با UFW
دارد.
برای مشاهده دستور زیر را وارد کنید:
ما باید مطمئن شویم که فایروال اجازه اتصال به SSH
را میدهد تا بتوانیم در آینده به سرور متصل شویم. برای صدور مجوز دسترسی به این ارتباط میتوانیم از کد زیر استفاده کنی:
سپس میتوانیم فایروال را با دستور زیر فعال کنیم:
حرف y را تایپ کنید و کلید اینتر را فشار دهید. با تایپ دستور زیر میتوانید ارتباطات مجاز را مشاهده کنید:
در صورت نصب و تنظیم سرویسهای دیگر، باید فایروال را برای دریافت ترافیک ورودی مجاز تنظیم کنید.
در اینجا میتوان گفت که شما یک سرور با پایه بسیار قوی دارید. اکنون میتوانید هر نوع نرم افزاری را بر روی سرور نصب کنید.