شما در مجله صفرویک میتوانید تمام اطلاعات خود را در زمینه خدمات اینترنت و انواع سرویس ها به دست بیاورید و از اخبار روز صفرویکی مطلع شوید.
در حالی که بسیاری از کاربران نیازمند یک سیستم مدیریتی دیتابیس مثل MySQL هستند اما شاید کار کردن با سیستمی که تنها داری MySQL است در آنها احساس رضایت ایجاد نکند.
به همین دلیل phpMyAdmin ساته شد تا کاربران از طریق یک رابط وب بتوانند با MySQL کار کنند. در اینجا قصد داریم آموزش نصب و امن سازی phpMyAdmin را توضیح دهیم تا بتوانید با خیال راحت از آن برای مدیریت دیتابیس های خود در یک سیستم Ubuntu 18.04 استفاده کنید.
پیش نیازها
قبل از شروع باید مراحل اولیه زیر را تکمیل کنید.
ابتدا اگر سرور شما با دستور sudo روت نشده و یا firewall با دستور ufw ساخته نشده باشد می توانید با استفاده از راهنمای تنظیمات اولیه سرور برای Ubuntu 18.04 آن را انجام دهید.
سپس باید برنامه LAMP (مخفف لینوکس، آپاچی، MySQL، و PHP ) را به طور کامل بر روی سرور خود نصب کرده باشید. در غیر این صورت می توانید با استفاده از راهنمای نصب LAMP در Ubuntu 18.04 این کار را انجام دهید.
در آخر، هنگام استفاده از نرم افزاری مثل phpMyAdmin باید نکات امنیتی مهمی را رعایت کنید که به شرح زیر است:
• برقراری ارتباط صرفا از طریق نصب MySQL
• مدیریت تاییدیه ها با استفاده مدارک MySQL
• اجرا و بازگردانی نتایج حاصله به SQL قراردادی
به دلایل بالا و همین طور گستردگی نرم افزار PHP که اغلب به آن حمله می شود، هرگز نباید phpMyAdmin را بر روی سیستم های HTTP اجرا کرد. اگر دامنه پیکربندی شده با SSL/TLS ندارید می توانید از راهنمای امنیت آپاچی در Ubuntu 18.04 استفاده کنید که در آن به ثبت کردن نام دامنه، ساخت رکورد DNS در سرور، و تنظیم کردن آپاچی مجازی می پردازد.
هنگامی که مراحل بالا را انجام دادید دیگر می توانید آموزش زیر را شروع کنید.
برای شروع، phpMyAdmin را از مخزن پیش فرض Ubuntu نصب می کنیم.
برای این کار ابتدا پکیج index سرور خود را به روز رسانی کرده سپس با استفاده از دستور apt فایل ها را تقسیم بندی کرده و روی سیستم نصب کنید:
sudo apt update $
sudo apt install phpmyadmin php-mbstring php-gettext $
در اینجا چند سوال از شما پرسیده می شود تا پیکربندی به درستی انجام شود.
هشدار: هنگامی که پیامی ظاهر شود یعنی”آپاچی 2 “هایلایت شده ولی هنوز انتخاب نشده است. اگر کلید SPACE را نزنید، در حین فرایند نصب فایل های ضروری انتقال نخواهند یافت. پس برای انتخاب آپاچی اول کلید SPACE را زده سپس کلید TAB را بزنید و درآخر کلید ENTER را فشار دهید.
• برای انتخاب سرور، گزینه apache2 را بزنید.
• اگر از شما پرسید برای تنظیمات دیتابیس از دستور dbconfig-common استفاده کند یا خیر، گزینه Yes را انتخاب کنید.
• سپس از شما می خواهد یک رمز عبور برای phpMyAdmin انتخاب کنید.
در این فرایند نصب، فایل های پیکربندی آپاچی به آدرس /etc/apache2/conf-enabled/ اضافه شده و به طور اتومانیک خوانده می شوند. تنها کاری که شما باید انجام دهید این است که دستور mbstring را به صورت زیر فعال کنید:
sudo phpenmod mbstring $
پس از آن آپاچی را ری استارت کرده تا تغییرات صورت گرفته اعمال شوند:
sudo systemctl restart apache2 $
اکنون phpMyAdmin نصب و پیکربندی شد. با این وجود قبل از وارد شدن و شروع به کار با دیتابیس MySQL، باید مطمئن شوید که کاربران MySQL دسترسی لازم برای کار با این برنامه را خواهند داشت.
زمانی که phpMyAdmin را نصب می کنید به طور اتوماتیک یک کاربر دیتابیسی به نام phpmyadmin ساخته می شود که کارهای اساسی برنامه را انجام می دهد. به جای اینکه به عنوان یک کاربر اصلی با پسوردی که ساختید وارد شوید می توانید به عنوان یک کاربر روت شده یا یک کاربر اختصاصی نیز برای مدیریت کردن دیتابیس ها از طریق رابط phpmyAdmin لاگین شوید.
در سیستم های Ubuntu که 5.7MySQL (یا ورژن های بالاتر) اجرا شده است، کاربر روت شده به جای رمزعبور با استفاده از پلاگین پیش فرض auth_socket تایید می شود. این کار باعث امنیت بیشتر و کارایی بهتر می شود اما زمانی که باید به کاربر مجوز دسترسی به یک برنامه خارجی مثل phpMyAdmin داده شود باعث بروز مشکل خواهد شد.
زمانی که به عنوان کاربر روت شده MySQL، وارد phpMyadmin می شوید باید شیوه تایید را از حالت auth_socket به حالت mysql_native_password تغییر دهید. برای انجام این کار MySQL را از قسمت ترمینال باز کنید:
sudo mysql $
سپس با استفاده از دستور زیر چک کنید روش تایید حساب کاربری شما به چه صورت است:
SELECT user,authentication_string,plugin,host FROM mysql.user;
Output
+——————+——————————————-+———————–+———–+
| user | authentication_string | plugin | host |
+——————+——————————————-+———————–+———–+
| root | | auth_socket | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *8486437DE5F65ADC4A4B001CA591363B64746D4C | mysql_native_password | localhost |
| phpmyadmin | *5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | mysql_native_password | localhost |
+——————+——————————————-+———————–+———–+
5 rows in set (0.00 sec)
در مثال بالا دیدید که کاربر روت شده با استفاده از پلاگین auth_socket تایید شد. برای تایید حساب کاربری روت شده با استفاده از رمزعبور، دستور ALTER USER زیر را اجرا کنید. عبارت password را با یک رمزعبور قوی تغییر دهید:
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’;
سپس دستور FLUSH PRIVILEGES را اجرا کنید که یعنی سرور جدول ها را مجددا بارگذاری کرده و تغییرات جدید را اعمال می کند:
FLUSH PRIVILEGES;
روش های تایید هر کدام از کاربران خود را با استفاده از پلاگین auth_socket دوباره بررسی کنید:
SELECT user,authentication_string,plugin,host FROM mysql.user;
Output
+——————+——————————————-+———————–+———–+
| user | authentication_string | plugin | host |
+——————+——————————————-+———————–+———–+
| root | *DE06E242B88EFB1FE4B5083587C260BACB2A6158 | mysql_native_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *8486437DE5F65ADC4A4B001CA591363B64746D4C | mysql_native_password | localhost |
| phpmyadmin | *5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | mysql_native_password | localhost |
+——————+——————————————-+———————–+———–+
5 rows in set (0.00 sec)
در این مثال دیدید که کاربر روت شده با استفاده از یک رمزعبور تایید شد. اکنون می توانید به عنوان یک کاربر روت شده با استفاده از رمزعبوری که ساختید به phpMyAdmin خود وارد شوید.
برخی از افراد بر این باورند که بهتر است با یک کاربر اختصاصی به phpMyAdmin متصل شوند. برای این کار، یکبار دیگر MySQL را باز کنید:
sudo mysql $
توجه: اگر رمزعبور شما فعال است (همان طور که در قسمت قبل توضیح دادیم)، باید با یک دستور دیگر وارد MySQL شوید. با دستور زیر کلاینت شما با امتیازات کاربر معمولی اجرا شده و فقط امتیازات administrator را به دست خواهید آورد:
mysql -u root -p
سپس یک حساب کاربری جدید بسازید و رمزعبور قوی برای آن انتخاب کنید:
CREATE USER ‘sammy’@’localhost’ IDENTIFIED BY ‘password’;
حالا برای کاربر جدید خود امتیازاتی لحاظ کنید. برای مثال می توانید قدرت اضافه کردن، تغییر دادن و حذف کردن تمام جدول های داخل دیتابیس را به آن اختصاص دهید. برای این کار از دستور زیر استفاده کنید:
GRANT ALL PRIVILEGES ON *.* TO ‘sammy’@’localhost’ WITH GRANT OPTION;
سپس با این دستور از محیط MySQL خارج شوید:
exit
اکنون شما می توانید با مشاهده اسم دامنه سرور و یا IP آدرس عمومی خود به رابط وب دسترسی یابید. به این صورت:
http://your_domain_or_IP/phpmyadmin
با روش روت و یا با استفاده از نام کاربری و رمزعبور جدیدی که ساختید وارد رابط شوید.
هنگام ورود، رابطی شبیه به تصویر زیر خواهید دید:
اکنون می توانید به phpMyAdmin متصل شده و با آن کارکنید. تمام عملیات گفته شده به منظور محکم تر شدن سیستم امنیتی شما بوده تا در مقابل حمله ها در امان باشید.
phpMyAmin به دلیل دسترسی بالایی که دارد بسیار مورد حمله قرار می گیرد در نتیجه باید برای جلوگیری از دسترسی های غیر مجاز بیشتر از آن مراقبت کرد. ساده ترین راه این است که با استفاده از دستور .htaccess آپاچی یک دروازه در سراسر اپلیکیشن ایجاد کنیم.
برای این کار ابتدا باید با ویرایش کردن فایل پیکربندی آپاچی، استفاده از دستور .htaccess را فعال کنید.
لینک فایل هایی که در پیکربندی آپاچی قرار دارند را به صورت زیر ویرایش کنید:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf $
دستور AllowOverride All را داخل کادر <Directory /usr/share/phpmyadmin> اضافه کنید. به این صورت:
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
. . .
سپس فایل را ذخیره کرده و ببندید.
برای اعمال تغییرات، آپاچی را ری استارت کنید:
sudo systemctl restart apache2 $
اکنون که دستور .htaccess را فعال کردید باید ابزاری برای امنیت آن بسازید.
برای اینکه این کار با موفقیت انجام شود باید فایلی در داخل اپلیکیشن ساخته شود. می توانید با وارد کردن دستور زیر در ویرایشگر خود یک فایل ضروری ساخته و آن را باز کنید:
sudo nano /usr/share/phpmyadmin/.htaccess $
داخل این فایل اطلاعات زیر را وارد کنید:
AuthType Basic
AuthName “Restricted Files”
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
در اینجا معنی هر بند را توضیح می دهیم:
• AuthType Basic : نوع مجوزی که اجرا کردید را بیان می کند که در آن با استفاده از یک رمزعبور، اجازه اجرا داده می شود.
• AuthName : پیامی را برای تصدیق کادر محاوره ای ارسال می کند. شما باید آن را حفظ کرده تا کاربران غیر مجاز نتوانند به اطلاعات ذخیره شده دسترسی پیدا کنند.
• AuthUserFile : محل قرارگیری فایل رمز عبور را نشان می دهد که باید خارج از محدوده دایرکتوری باشد. به زودی این فایل را می سازیم.
• Require valid-user : نشان می دهد که فقط کاربران مجاز باید به منابع دسترسی داشته باشند و از ورود کاربران غیر مجاز جلوگیری می کند.
پس از اتمام، فایل را ذخیره کرده و آن را ببندید.
فایل رمز عبور خود را در آدرس /etc/phpmyadmin/.htpasswd ذخیره کردید. حالا می توانید با استفاده از htpasswd این فایل را ساخته و به عنوان اولین کاربر وارد آن شوید:
$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd username
در اینجا باید برای کاربری که ساختید یک رمزعبور انتخاب کرده و آن را تایید کنید. سپس فایلی با رمز عبور غیر قابل دیدن ( hashed password )ساخته خواهد شد.
اگر می خواهید کاربر دیگری اضافه کنید باید بدون وارد کردن –c این کار را انجام دهید. به این صورت:
sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser $
اکنون برای دسترسی به phpMyAdmin خود، باید نام کاربری و رمزعبوری که به تازگی ساختید را وارد نمایید:
https://domain_name_or_IP/phpmyadmin
پس از وارد نمودن مجوز آپاچی، به صفحه دائمی phpMyAdmin می روید. این setup یک بخش دیگری در ایمن سازی اضافه کرده که در زمان گذشته وقتی phpMyAdmin مورد آسیب قرار می گرفت بسیار از آن استقبال شد.
جمع بندی
اکنون باید phpMyAdmin خود را پیکربندی کرده و از آن در سرور Ubuntu 18.04 استفاده کنید. با استفاده از این رابط به راحتی می توانید دیتابیس، کاربر، جدول و… ساخته و کارهای معمولی مثل پاک کردن و تغییر دادن اطلاعات و ساختارهار را انجام دهید.
Nginx یک وب سرور کدباز و رایگانی است که وظیفه ارسال صفحات وب به اینترنت را دارد. در واقع می توان به وسیله آن صفحات ایستا (static) یا پویا (dynamic) که توسط PHP تولید شده اند را ارسال کرد. دلیل شهرت Nginx، عملکرد بالای HTTP و HTTPS و سرور پروکسی معکوس آن است. این سرور پیکربندی ساده ای داشته و از منابع کمی استفاده می کند بنابراین بهترین جایگزین برای آپاچی به شمار می رود.
روش نصب Nginx روی Ubuntu 18.04به صورت زیر است:
1: به روز رسانی سیستم با استفاده از دستور apt
2: نصب Nginx با استفاده از دستور apt install nginx
3: پیکربندی سرور Nginx
4: فعال کردن Nginx و ری استارت کردن آن
اجازه دهید تمام مراحل بالا را با جزییات کامل نشان دهیم.
ابتدا از طریق دستور ssh وارد سرور خود شوید:
$ ssh user@server
$ ssh vivek@server1.cyberciti.biz
دستور IP زیر را وارد کنید:
$ ip show
$ ip addr show
IP آدرس 10.105.28.46 را یادداشت کنید. ممکن است آدرس IPv4 عمومی داشته باشید که همه اینها بستگی به setup شما دارد.
برای نصب آپدیت های امنیتی روی Ubuntu 18.04، دستور apt زیر را اجرا کنید:
$ sudo apt update
$ sudo apt upgrade
خروجی آن به این صورت خواهد بود:
Hit:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic InRelease
Get:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:3 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Get:4 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Fetched 252 kB in 1s (503 kB/s)
Reading package lists… Done
Building dependency tree
Reading state information… Done
All packages are up to date.
در آخر، وب سرور Nginx را به این صورت نصب می کنیم:
$ sudo apt install nginx
در زمان بوت شدن سرور با استفاده از دستور زیر Nginx را فعال کنید:
$ sudo systemctl enable nginx
سرور را با دستور زیر استارت کنید:
$ sudo systemctl start nginx
به وسیله دستور زیر آن را ری استارت کنید:
$ sudo systemctl restart nginx
متوقف کردن Nginx به صورت زیر است:
$ sudo systemctl stop nginx
بارگذاری مجدد Nginx با دستور زیر قابل اجراست:
$ sudo systemctl reload nginx
برای فهمیدن وضعیت Nginx از دستور زیر استفاده کنید:
$ sudo systemctl status nginx
UFW (مخفف uncomplicated firewall) به معنای فایروال بدون پیچیدگی است. که برای مدیریت فایروال لینوکس استفاده شده و هدفش ایجاد یک رابط ساده برای کاربر است. برای باز کردن پورت 80 (HTTP) و 443 (HTTPS) دستور زیر را اجرا نمایید:
$ sudo ufw allow https comment ‘Open all to access Nginx port 443’
$ sudo ufw allow http comment ‘Open access Nginx port 80’
$ sudo ufw allow ssh comment ‘Open access OpenSSH port 22’
$ sudo ufw enable
سپس وضعیت فایروال را بررسی کنید:
$ sudo ufw status
وب سرور شما در حال اجراست. اکنون نوبت تست کردن آن است. با استفاده ازIP آدرس موجود در مرحله 2، یک مرورگر باز کرده و URL زیر را داخل آن وارد کنید:
http://10.105.28.46/
یا از IP آدرس عمومی استفاده کنید:
http://104.200.23.232/
صفحه پیش فرض بالا بیانگر این است که سرور Nginx و Ubuntu به درستی روی سیستم نصب شده است.
بگذارید دامنه عمومی خودمان را ( cms.cyberciti.biz یا www.cyberciti.biz و …) توسط یک دایرکتوری راه اندازی کنیم.
با استفاده از دستور useradd، یک کاربر جدید با نام www-pubcms اضافه کنید:
$ sudo useradd -s /usr/sbin/nologin -m -d /home/lighttpd/ -c ‘cms.cyberciti.biz user’ www-pubcms
سپس آن را با دستور passwd رمزگذاری کنید:
$ sudo passwd -l www-pubcms
passwd: password expiry information changed.
به این صورت است:
$ sudo mkdir -v /home/lighttpd/http/
با استفاده از ویرایشگر متنی دستور nano یا vim را اجرا کنید:
$ sudo nano /home/lighttpd/http/index.html
یا
$ sudo vim /home/lighttpd/http/index.html
کد HTML زیر را ضمیمه کنید:
<html>
<head>
<title>CMS.CYBERCITI.BIZ</title>
</head>
<body>
<h1>Welcome</h1>
This is a test page for cms.cyberciti.biz.
<hr>
<small>Powered by Nginx and Ubuntu 18.04 LTS</small>
</body>
</html>
سپس مجوز لازم را تعیین کنید:
$ sudo chown -vR www-pubcms:www-pubcms /home/lighttpd/
دستورهای زیر را وارد نمایید:
$ sudo vim /etc/nginx/sites-available/http.cms.cyberciti.biz.conf
یا
$ sudo nano /etc/nginx/sites-available/http.cms.cyberciti.biz.conf
سپس پیکربندی را ضمیمه کنید:
our first viraul host cms.cyberciti.biz
server {
listen 80; # port
server_name cms.cyberciti.biz; # dns server name
# log files
access_log /var/log/nginx/cms.cyberciti.biz_access.log;
error_log /var/log/nginx/cms.cyberciti.biz_error.lg;
# document root where files stores for cms.cyberciti.biz domain
root /home/lighttpd/http;
index index.html index.htm;
}
سپس فایل را ذخیره کرده و ببندید. با استفاده از دستور ln، یک لینک جدید در دایرکتوری sites-enabled ساخته تا دامنه cms.cyberciti.biz فعال شود:
$ cd /etc/nginx/sites-enabled/
$ sudo ln -v -s /etc/nginx/sites-available/http.cms.cyberciti.biz.conf .
برای تست کردن از دستور زیر استفاده کنید:
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
برای بارگذاری مجدد سرور از دستور زیر استفاده کنید:
$ sudo systemctl reload nginx
مطمئن شوید که نام دامنه (مثلا 104.200.23.232 ) را با دقت وارد IP آدرس عمومی کردید. می توانید با استفاده از دستورhost یا dig یک رکورد برای cms.cyberciti.biz بسازید:
$ host cms.cyberciti.biz
cms.cyberciti.biz has address 104.200.23.232
cms.cyberciti.biz has IPv6 address 2600:3c00:1::68c8:17e8
نام دامنه را در مرورگر خود وارد کنید:
http://cms.cyberciti.biz/
• /var/log/nginx/ : لاگ فایل های Nginx را نشان می دهد.
• /etc/nginx/ : دایرکتوری فایل های پیکربندی Nginx است. همه فایل های پیکربندی فعال شده در این /etc/nginx/sites-enabled/ وجود دارند که از دایرکتوری /etc/nginx/sites-enabled/ لینک شده اند.
• /etc/nginx/nginx.conf : فایل اصلی تنظیمات است.
با استفاده از دستورهای tail، more، grep و cat می توان به لاگ فایل های سرور دست یافت:
$ tail -f /var/log/nginx/access.log
$ more /var/log/nginx/error.log
$ grep ‘something’ /var/log/nginx/cms.cyberciti.biz_access.log
$ cat /var/log/nginx/cms.cyberciti.biz_access.log
با چک کردن لاگ فایل ها مطمئن شوید که همه چیز در تمام دامنه ها به درستی عمل می کند.
با استفاده از دستور ss یا netstat از باز بودن پورت ها در Ubuntu مطمئن شوید:
$ ss -tulpn
$ ss -tulpn | grep :80
$ netstat -tulpn
جمع بندی
اکنون نصب و پیکربندی Nginx روی سرور Ubuntu 18.04 به درستی انجام شد. در قسمت دوم این مجموعه، پیکربندی سرورHTTPS ( مجوزهای SSL/TLS ) برای انجام اقدامات امنیتی را آموزش خواهیم داد. جهت کسب اطلاعات بیشتر به این صفحه مراجعه کنید.
Nginx چیست؟
Nginx جایگزینی برای آپاچی است و یکی از معروف ترین وب سرورها در دنیا تلقی می شود. برعکس آپاچی، Nginx منابع کمتری از بین برده و موجب بهبود پاسخگویی سرور می شود و همین طور طراحی مبتنی بر رویداد آن باعث محبوبیتش شده است.
علاوه بر این، به ادمین اجازه می دهد پیکربندی های advanced را راه اندازی کرده و بتواند با حجم زیادی از اتصالات همزمان سروکار داشته باشد. Nginx جدای مزیت هایش برای یک HTTP وب سرور، به عنوان یک reverse proxy، لود بالانسر و mail سرور استاندارد هم عمل می کند.
در این مقاله به آموزش نصب و پیکربندی Nginx در CentOS 7 خواهیم پرداخت.
پیش نیازها:
• یک سرور CentOS یا VM
• دسترسی root
• SELinux
روش پیکربندی زیر، مراحل ضروری راه اندازی Nginx در CentOS 7 را با جزئیات کامل توضیح می دهد.
برای دستورالعمل نصب CentOS 8، لطفا نحوه نصب Nginx در CentOS 7 را مطالعه نمایید.
برای این کار، دستور زیر را اجرا نمایید:
$ sudo yum -y update
-y یک پارامتر اختیاری است و از ایجاد سوالات تاییدی جلوگیری می کند. توجه داشته باشید که از آن زیاد استفاده خواهیم کرد. اگر نمی خواهید از این پارامتر استفاده کنید باید دستورها را تایید کنید.
Nginx در repository (مخازن) استانداردی که همراه پکیج CentOS می آید قابل دسترسی نیست، بنابراین باید مخزن EPEL را نصب کنیم. استفاده از EPEL رایگان بوده و پکیج های open- source(منبع باز) متعددی برای نصب با Yum در اختیارمان قرار می دهد.
برای نصب EPEL دستور زیر را با استفاده از Yum اجرا کنید:
$ sudo yum install -y epel-release
در مرحله 2 مخزن Nginx به سرور شما اضافه شد. اکنون می توانید با اجرای دستور yum زیر Nginx را نصب کنید:
$ sudo yum –y install nginx
Nginx شما نصب شد اما به طور اتوماتیک شروع به کار نخواهد کرد. برای شروع آن دستور زیر را اجرا کنید:
$ sudo systemctl start nginx
بعد از زدن enter گرچه Nginx باید شروع به کار کند اما return value دریافت نخواهید کرد. برای چک کردن آن از دستور زیر استفاده کنید:
$ sudo systemctl status nginx
باید یک عبارت سبز رنگی بیاید که نوشته باشد‘active (running) ’ . اگر نیامد یعنی نمونه Nginx شما به درستی استارت نشده است.
توجه: اگر آپاچی سرور اجرا شده دارید باید آن را قبل از استارت کردن Nginx غیرفعال کنید. برای این کار از دستور sudo service httpd stop استفاده کنید. حواستان باشد که غیر فعال کردن آپاچی، هر وب سایت جدیدی که اجرا شده است را به هم می زند.
اکنون آپاچی را غیرفعال کردید اما شاید همچنان حین reboot کردن سرور به طور اتوماتیک استارت شود. برای غیرفعال کردن استارت اتوماتیک، دستور زیر را اجرا کنید:
$ sudo systemctl disable httpd
اکثر ادمین ها می خواهند مطمئن شوند هر وقت سرور restart می شود، Nginx به طور اتوماتیک استارت خواهد شد. برای این کار دستور زیر را انجام دهید:
$ sudo systemctl enable nginx
centOS 7 به طور پیش فرض Firewallها را فعال و دسترسی به پورت های 80 و 443 را مسدود می کند. در واقع هر HTTP داخلی و HTTP packet را از Nginx مسدود خواهد کرد.
برای مجوز دادن به HTTP و HTTP traffic از دستورهای زیر استفاده کنید:
firewall-cmd –zone=public –permanent –add-service=http
firewall-cmd –zone=public –permanent –add-service=https
firewall-cmd –reload
بعد از هر دستور باید عبارت success را ببینید که نشان می دهد دستور به درستی اجرا شده است.
ساده ترین روش برای این که بفهمیم Nginx به درستی اجرا شده یا نه این است که نگاهی به IP آدرس عمومی سرور خود بیاندازیم. فقط کافی است مرورگر خود را باز کرده و سایت http://server_IP_or_domain_name/ ببینید.
ابتدا IP آدرس عمومی سرور خود را پیدا کنید.
$ ip a
IP آدرس ما این است 192.168.122.1/24. IP آدرس خود را کپی و در مرورگر paste کنید. باید صفحه Welcome to Nginx ظاهر شود.
اگر یک پیام حاوی ‘test failed’ error درفایل nginx.conf دریافت کردید احتمالا به مشکل IP آدرس برخوردید.
Nginx سرویس به طور پیش فرض تحت فرمان IPv4 و IPv6 است. اگر سرور شما از IPv6 پشتیبانی نکند، تست fail خواهد شد. با این وجود می توان این مشکل را با تغییر دادن فایل پیکربندی اصلی درست کرد.
فایل پیکربندی اصلی /etc/nginx/nginx.conf را باز کنید. خط زیر را پیدا کنید:
listen [::]:80 default_server;
فقط ‘#’ را در ابتدای خط اضافه کنید. مطابق زیر:
# listen [::]:80 default_server;
تغییراتی که انجام دادید را save کرده و Nginx سرویس را reload کنید.
$ sudo systemctl reload nginx
در مرورگر، IP آدرس سرور خود را Browse کنید. باید صفحه پیش فرض Nginx test را ببینید.
به طور حتم باید محل قرارگیری فایل های پیکربندی Nginx و root directory پیش فرض Nginx سرور را بدانید.
ادمین ها در آپاچی، برای اجرای چندین وب سایت از host های مجازی استفاده می کنند. در حالی که در Nginx، اجرای چند وب سایت در یک سرور با server blocks صورت می گیرد.
Server blocks Additional با درست کردن فایل های پیکربندی جدید با پسوند فایل .conf به وجود آمده اند. این فایل ها را در /etc/nginx/conf.d قرار بدهید تا هر زمان که Nginx شروع به کار کرد بارگیری شوند.
Root کردنNginx سرور به طور پیش فرض به این صورت است /usr/share/nginx که در فایل پیکربندی server block پیش فرض که در /etc/nginx/conf.d/default.conf قرار دارد به طور کامل مشخص شده است.
root directory document پیش فرض که شامل وب فایل ها می شود به این صورت است usr/share/nginx/html.
برای متوقف کردن Nginx سرور از دستور زیر استفاده کنید:
$ sudo systemctl stop nginx
برای Restart کردن Nginx سرویس طبق دستور زیر پیش بروید:
$ sudo systemctl restart nginx
اگر شما تغییری در پیکربندی اصلی Nginx ایجاد کردید باید سرور را reload کرده تا تغییرات انجام پذیرند.
sudo systemctl reload nginx $
اگر نمی خواهید Nginx به طور اتوماتیک در Boot استارت شود، دستور زیر را اجرا کنید:
$ sudo systemctl disable nginx
اگر شما چندین وب سایت را میزبانی می کنید بهترین کار این است که طبق نام گذاری استاندارد پیش بروید.
$ sudo mkdir -p /var/www/yourdomain.com/public_html
سپس به یک صفحه index نیاز داریم. دستور زیر به شما کمک می کند تا پیکربندی را تست کنید.
$ sudo nano /var/www/yourdomain.com/public_html/index.html $
برای تست کردن یک خط از متن را در index.html وارد کنید. سپس فایل را save کرده و ببندید.
با تغییر دادن مجوزهای فایل Linux، می توانید به صورت آنلاین به اطلاعات دسترسی یابید.
sudo chmod 755 /var/www/yourdomain.com/public_html $
صفحه index.html را باز کنید. این صفحه باید به صورت آنلاین در دسترس باشد.
درآخر
بعد از نصب موفقیت آمیز Nginx در CentOS 7، گزینه های زیادی برای نصب کامل LEMP که جاگزین شناخته شده ای برای LAMP stack هست پدیدار می شود. LEMP یک عبارت اختصاری است که هر کدام از حروف آن برای یک مولف کدباز به کار می رود.
• L – به جای Linux OS
• E – به جای Nginx (اگر آن را به صورت ‘engine x’ تلفظ کنیم)
• M – به جای MySQL یا سیستم مدیریت داده های پیوندی MariaDB
• P – به جای PHP
هر کدام از اینها بر روی دیگری می نشینند. Linux OS در لایه اصلی قرار می گیرد.
با گذشت زمان و پیشرفت ایران در زمینه تکنولوژی، کشور ما میتواند گزینه مناسبی برای تهیه هاست های داخلی باشد. برخلاف گذشته امروز صاحبان سایت میتوانند از هاست های داخل ایران استفاده کنند تا از وبسایت خود میزبانی کنند. در گذشته به مزایای هاست های داخل ایران پرداخته ایم، اکنون در این مطلب به سراغ معایب آن ها می رویم.
با استفاده از هاست های ایرانی سرعت بارگزاری سایت برای کاربران داخل ایران بسیار مناسب است ولی اگر شما کاربری از خارج از کشور داشتید چه؟ سرعت بارگزاری سایت شما به نسبت هاست خارجی پایینتر میآید و در نتیجه به مرور کاربران شما کم میشود.
برای دریافت مشاوره و یا خرید سرویس مناسب با شماره ی 02148655 تماس بگیرید و یا از طریق فرم زیر درخواست خود را به ثبت برسانید.
به دلیل کم بودن سرویس میزبانی در ایرانی و کیفیت پایین پورت های ارائه شده ، زیرساخت های ضعیفتری نسبت به هاست های خارجی دارند.
بیشتر بخوانید : 5 دلیل اساسی که شمارا به خرید هاست ایران ترغیب می کند!
هزینه راه اندازی به دلیل محدودیت در نگهداری سرویس بالاتر است. سرویس های خارجی به دلیل افزایش ظرفیت در میزبانی وبسایت ها قیمت پاییتری دارد ولی در مقابل محدودیت هایی نیز برای ما ایرانی ها مانند تحریم در پی دارد.
بیشتر بخوانید : همه چیز از خرید هاست و دامنه آغاز می شود!
کلام آخر
در آخر باید گفت که با وجود این معایب باز هم برای کاربران ایرانی استفاده از هاست داخل ایران، مناسبتر است زیرا هم امنیت بالاتری دارد و هم سرعت بیشتری. در این بین عده ای فکر میکنند که سرورهای ایران حتما در انتها آدرس سایت باید از .ir استفاده شود که باید گفت این دو مقوله هیچ ارتباطی به یکدیگر ندارند. امیدواریم در این مطلب شما را راهنمایی کرده باشیم.
کلاینت SSH به شما اجازه می دهد تا به remote computer ای که سرور SSH دارد متصل شوید. پروتکل SSH اغلب برای اتصال ترمینال راه دور استفاده شده و اجازه می دهد به ترمینال remote computer که دارید دسترسی یابید. همچنین می توان از آن برای SSH tunneling، SCP file transfers و دیگر چیزها استفاده کرد.
معروف ترین و جامع ترین روش پیشنهاد شده برای اتصال به سرورهای SSH نرم افزار کدباز PuTTY است.
PuTTY را دانلود و استارت کنید.
داخل کادر “Host name (or IP address)” آی پی آدرس یا hostname سرورمورد نظر خود را وارد کنید. مطمئن شوید شماره درگاه موجود در کادر “Port” با شماره port سرور مطابقت کند. SSH به طور پیش فرض از درگاه 22 استفاده کرده اما گاهی اوقات بنا به دلایل امنیتی از پورت های دیگری استفاده میکنند . روی “Open” کلیک کنید تا وصل شود.
دفعه اولی که به سرور وصل می شوید پیام امنیتی خواهید دید که به شما می گوید قبلا به این سرور وصل نشده اید. روی “OK” کلیک کرده و ادامه دهید.
باید یوزرنیم و پسوردی را که در ایمیل ارسالی دریافت کرده اید را برای حساب کاربری خود در سرور وارد کنید. سپس وصل خواهید شد. با بستن پنجره، اتصال SSH تمام می شود.
با PuTTY می توان کارهای زیادی انجام داد. برای مثال، اگر لازم باشد از یک فایل کلیدی خصوصی جهت تایید شدن توسط سرور SSH استفاده کنید، هر بارکه اپلیکیشن را باز می کنید گزینه Connection > SSH > Auth را در پنجره پیکربندی PuTTY خواهید دید. برای اطلاعات بیشتر به PuTTY’s manual مراجعه کنید.
سیستم عامل هایی مانند Mac OS و لینوکس که بر پایه UNIX هستند، دستورهایی دارند که در همه جا به یک صورت کار می کنند.
برای وصل شدن به سرور SSH از طریق این سیستم عامل ها، ابتدا پنجره ترمینال را بازکنید. در Mac از آدرس Finder > Applications > Utilities > Terminal آن را پیدا خواهید کرد. در لینوکس ، shortcut آن را در منوی اپلیکیشن ها جستحو کنید. در ویندوز، Bash shell را نصب کرده و باز کنید.
برای اتصال به سرور دستور زیر را در ترمینال تایپ کنید. به جای عبارت username نام کاربری خود را وارد کرده و ssh.server.com را با آی پی آدرس یا hostname سرور موردنظر تغییر دهید:
ssh username@ssh.server.com
این دستور، به درگاه 22 سرور وصل می شود که به صورت پیش فرض است. برای مشخص کردن درگاه دیگر، -p را با شماره درگاه مورد نظر خود در انتهای دستور بالا اضافه کنید. مانند:
ssh username@ssh.server.com -p 2222
پیامی می آید که از شما می خواهد برقراری ارتباط را تایید کنید. اگر اولین بار است که به سرور وصل می شوید این پیام عادی بوده و می توانید با تایپ کردن “yes” به کار خود ادامه دهید.
در اینجا باید پسورد سرور را وارد کنید. سپس وصل خواهید شد. با بستن پنجره، یا تایپ کردن “exit”، و یا با فشار دادن کلید Enter اتصال SSH تمام می شود.
اگر به فکر راه اندازی یک وبسایت باشید، حتما نام هاست ایران و هاست خارج به گوشتان خورده است. ولی شاید برایتان سوال پیش بیاید که مزایای هاست ایران چیست؟ چرا باید هاست ایران را انتخاب کنیم؟ در این مطلب به طور کامل به سوالات شما پاسخ میدهیم و به مزایای هاست ایران می پردازیم.
هاست ایران به دلیل نزدیکی از لحاظ جغرافیایی به کاربران سرعت بیشتری دارد و در نتیجه سایت شما زودتر لود میشود. همین امر باعث افزایش مخاطبان شما و در نتیجه فروش محصولتان میشود. درسته که تفاوت هاست ایران با خارج در حد چند ثانیه است ولی همین زمان کم نیز برای جلو افتادن از رقبا بسیار حائز اهمیت است.
بیشتر بخوانید : هاست و خدمات هاستینگ
در چند سال گذشته هیچ سایت ایرانی از هاست های داخلی استفاده نمیکرد و حتی سازمان های دولتی نیز به سمت هاست های خارجی روی آورده بودند ولی با گذشت زمان و پیشرفت ایران در حوزه سرور و هاست داخلی توانست نظر تمام کاربران را به سمت خود جلب کند. به طوری که بسیاری از سایت های معتبر و موفق از هاست های ایرانی استفاده می کنند.
بیشتر بخوانید : همه چیز از خرید هاست و دامنه آغاز می شود!
مشکل کشورهای بزرگ دنیا با کشور ما امری بدیهیست، همین امر باعث تحریم سایت های ما از سمت هاست های خارجی می شود. حال با عرضه هاست های ایرانی احتمال این تحریم ها به صفر می رسد و تمامی صاحبان کسب و کار بدون هیچ نگرانی می توانند سایت خود را راه اندازی کنند. البته ناگفته نماند کسانی که از هاست های خارجی استفاده میکنند از تمامی اطلاعات خود بک آپ تهیه میکنند تا در صورت بروز مشکل فایلهای آن ها پاک نشود. ولی با این حال استفاده از هاست های داخل کشور مناسب تر است.
برای دریافت مشاوره و یا خرید سرویس مناسب با شماره ی 02148655 تماس بگیرید و یا از طریق فرم زیر درخواست خود را به ثبت برسانید.
اگر قصد راه اندازی سایت امنیتی و یا دولتی را دارید، بطور حتم از هاست های ایرانی استفاده کنید. زیرا این سرورها به دلیل قرارگیری جغرافیایی در ایران و نزدیکی به کاربر مشکلاتی مانند قطعی اینترنت و نوسانت سرعت وجود ندارد، همچنین احتمال نفوذ هکر به این سایت ها بسیار کمتر است.
بیشتر بخوانید : نکاتی جهت خرید هاست ایران و کاهش هزینه های اضافی
هاست های ایرانی به دلیل کمبود دیتاسنتر و بالا بودن هزینه های نگهداری اندکی نسبت به هاست های خارجی گرانتر است ولی خب برای افرادی که امنیت و کیفیت سایت برایشان مهم است حتما پیشنهاد میشود که از هاست های ایرانی استفاده کنند.
بیشتر بخوانید : مهم ترین ویژگی های پلن هاستینگ
در کل استفاده از هاست داخلی یا خارجی بسته به استفاده شماست. اگر شما سایتی راه اندازی میکنید که کاربر ایرانی از آن بازدید نمیکند، طبیعی است که از هاست های خارجی استفاده کنید. ولی اگر برای کاربران ایرانی وبسایتی را راه اندازی میکنید استفاده از هاست های ایران برایتان به صرفه تر است. امیدواریم در این مطلب شما را راهنمایی کرده باشیم.
رایانش ابری در حال حاضر به یکی از فناوریهای مهم در حوزهی فناوری اطلاعات بهحساب میآید و شما باید به این موضوع و موارد دیگری که به آن مربوط میشود، توجه داشته باشید؛ برای مثال رایانش ابری در مدلهای مختلفی وجود دارد که یکی از این مدلها، مدل هزینهای pay as you go است، اگر بخواهیم برای شما بهصورت کوتاه و خلاصه این موضوع را توضیح دهیم، میتوان گفت شما با استفاده از مدل pay as you go، پرداخت بر اساس مصرف دارید؛ یعنی به میزانی که از خدمات استفاده میکنید، به همان نسبت برای آن پول پرداخت خواهید کرد.
در این مقاله برای شما عزیزان بهصورت جامع و کامل، موضوعاتی که در بالا ذکرشده است را توضیح خواهیم داد، به همین دلیل متن را با رایانش ابری شروع کرده و با مدل هزینهای آن به پایان میرسانیم.
رایانش ابری یا (Cloud Computing) کلمهای است که در دنیای امروز زیاد به گوش میرسد؛ اما برای همهی ما در ابتدا پس از شنیدن این کلمه، سوالاتی چون رایانش ابری چیست و چگونه از آن در کسبوکارهای اینترنتی استفاده میشود، پیشآمده که در این متن بهطور کامل برای شما این موضوع و موارد مربوط به آن بررسی میشود.
رایانش ابری در کل به معنی انتقال اطلاعات و دادههای یک نرمافزار به فضای بیرونی است؛ برای رایانش ابری مدلهای مختلفی وجود دارد که درازای هرکدام از آنها باید هزینهای را پرداخت کنید؛ قیمت سرویسهای ابری در بیشتر مواقع بر اساس میزان مصرف کاربر است یعنی میتوان گفت پرداخت بر اساس مصرفی است که شما از این سرور دارید؛ همچنین در خرید خدمات رایانش ابری، قیمتها بر اساس ویژگیهایی چون CPU، RAM، تعداد IP مورداستفاده، ترافیک مصرفی و هزینهی پایهی ساخت خدمات متغیر است.
بیشتر افراد امروزه بدون آنکه بدانند، از این سرور ابری در حال استفاده هستند، بهطور مثال وقتی شما یک آهنگ را در اینترنت پخش میکنید، از طریق اینترنت خریدی را انجام میدهید یا حتی زمانی که از خدمات موبایل بانکتان استفاده میکنید در حال بهرهگیری از سرور رایانش ابری هستید؛ پس این تکنولوژی در سراسر زندگی ما دیده میشود و از اهمیت بالایی برخوردار است.
درواقع رایانش ابری یک مجموعهی جامع است که چندین زیرمجموعه دارد؛ این زیرمجموعهها شامل سه دستهی Iaas، Paas و Saas میشود که هرکدام ویژگی خاصی در این سرور دارد.
Iaas: این بخش از رایانش ابری، توانایی چون پردازش و ذخیرهسازی اطلاعات را به شما میدهد، یعنی کاربر میتواند بر روی سیستمعامل خود این موارد را بهطور کامل کنترل کند.
Paas: این مدل از رایانش ابری، امکان توسعه و استقرار راحت برنامههای کاربردی را بدون پیچیدگی و دریافت هزینه، فراهم میکند. میتوان گفت برنامههای کاربردی، با استفاده از کد و زبان برنامهنویسی در اختیار شما قرار میگیرد، این مدل از رایانش ابری نمیتواند ذخیرهسازی را کنترل کند اما بر روی برنامهی شما کنترل دارد.
Saas: با استفاده از این مدل میتوانید برنامههای کاربردی در حال اجرا را بر روی زیربنای ابر فراهم کنید. برنامههای کاربردی که از Saas استفاده میکند شامل Gmail، Facebook و Twitter هستند که روزانه مورداستفادهی شما واقع میشوند.
ارائه و محاسبات منابع، امروزه یکی از دغدغههای افراد محسوب میشود که باوجود سروری چون رایانش ابری این موضوع حل میشود؛ در این سرور شما امکان دسترسی به منابع محاسباتی رادارید و میتوانید از راه دور بر این موضوع کنترل داشته باشید، همچنین امنیت بالا و امکان بهروزرسانی در این سرور وجود دارد و از دلایل محبوبیت آن بین مردم نیز بهحساب میآید. لازم به ذکر است که چند کاربر همزمان میتوانند از رایانش ابری استفاده کنند و از نقاط گوناگون با یکدیگر از این طریق ارتباط داشته باشند.
استفاده از رایانشهای ابری در مقایسه با دیگر سیستمهای امروزی، دارای تفاوتهایی است که سبب میشود این سرور از بقیه متمایز شود؛ این فضا نسبتا ازلحاظ اقتصادی بهصرفهتر است چراکه شما باید پرداخت بر اساس مصرف داشته باشید و این هزینهای که در این راستا پرداخت خواهید کرد، چیزی است که خودتان از آن بهره بردهاید، همچنین کار کردن با این سیستم راحت است و محدودیتی بر اساس موقعیت مکانی برای شما ایجاد نخواهد نکرد.
این نوع از پرداخت در رایانش ابری، همانند پولی است که شما برای قبضهای برق و گاز منزلتان پرداخت میکنید؛ منظور از بیان این موضوع، تاثیر مبلغ پرداختی بر میزان مصرف شما است، یعنی پرداخت بر اساس مصرف شما انجام خواهد شد و اگر سرور شما قطع باشد، در مدتزمان قطعی آن، هزینهای برای شما در نظر گرفته نمیشود. این ویژگی به کاربران امکان کنترل میزان مصرف منابع را میدهد و میتوانند آن را بر اساس نیازشان کم یا زیاد کنند.
این مدل در انواع مختلف دیگری نیز وجود دارد که در ادامه به آنها میپردازیم.
Pay As You GO Monthly: هزینهی پرداختی که شما باید در این مدل درازای خدمات رایانش ابری پرداخت کنید، بر اساس تعداد ماههایی است که از این سرور استفاده کردهاید.
Pay As You GO Hourly: تامین کنندهی خدمات ابری در این روش، پرداخت بر اساس مصرف در ساعات را از شما دریافت میکنند، یعنی زمانی که شما تصمیم به پرداخت هزینهدارید، میزان مصرفتان را بر اساس تعداد ساعات میبینید و هزینهی آن محاسبه می شود.
Pay As You GO Per Minute: در این نوع از هزینهی رایانش ابری، معیاری برای سنجش هزینهها در نظر گرفته میشود که در اینجا این معیار، میزان استفادهی شما از این سرور در دقیقه است.
از زمان پدیدار شدن خدمات ابری عمومی، از جانب شرکتها و سازمانها نگرانی دربارهی خطرات امنیتی به وجود آمد که موضوع امنیت ابری (cloud security) را به یک چالش تبدیل کرد. امروزه با توجه به میزان حملات سایبری که رو به افزایش بوده است و همچنین افرادی که از ابرها بهعنوان یک تهدید در کسبوکار استفاده میکنند، متخصصان IT را متقاعد کرده است که برای تامین امنیت ابری خود به یک سیستم امنیتی قویتر نیاز است تا بتوان از شرکتها و دادههای اطلاعاتی محافظت کرد.
در این مقاله به بررسی راهحلهایی که یک کاربر میتواند برای تامین امنیت ابری و سیستمی که مورداستفاده قرار میگیرد داشته باشیم.
امروزه بیش از هر چیزی ممکن است سرورهای ما در معرض حملات سایبری قرار گیرند؛ حملاتی که در آن، سیستم و کامپیوترهای پیشرفته، در جهت هجوم به سرورهای ما مجهز میشوند، برای جلوگیری و مانعشدن از این اتفاق راههای گوناگونی وجود دارد که امنیت ابری یکی از اصلیترین آن راهها بهحساب میآید.
امنیت سرورهای ابری با آسانی به وجود نمیآید و نمیتوان گفت افرادی که این سرورها را ارائه میدهند، میتوانند امنیت آن را بهصورت صد درصد برای شما تامین کنند. شرکتها باید در پلتفرمهای مختلف سرور ابری، حتی در مدل Saas، یکسری قوانین را به دلیل اختیاراتی که کاربر دارد، در جهت دسترسی به این پلتفرمها وضع کنند که این کار تنها در حوزهی عمل یک کارشناس امنیت بادانش مناسب از سازمان، ممکن است. در دو پلتفرم Saas و همچنین Iaas چنین بستهی خدماتی وجود ندارد که امنیت این دو را تامین کند. در Iaas شما میتوانید هر نرمافزاری را بدون آنکه ازلحاظ امنیت بررسی شود، بر روی سیستم خود اجرا کنید که در این حالت سازمان در برابر امنیت ابری شما مسئول خواهد بود.
به مجموعهای از نرمافزارها، افراد، سازمانها و سیاستها گفته میشود که بهمنظور محافظت از دادهها، شبکه و ارتباط بین ابر و کاربر مورداستفاده قرار میگیرد، یعنی یکلایه محافظتی برای دادهها، برنامهها و زیرساختها در فضای ابری ایجاد میشود. اگر شما از سرور ابری استفاده میکنید، تمامی دسترسیهای لایهی امنیتی شما چک میشود؛ که این لایهها امنیتی برای کنترل، شامل Firewall، IPS و IDS است.
یکی از کارآمدترین روشها برای جلوگیری از این اتفاق را میتوان رمزنگاری دادهها در نظر داشت. سیستمهایی که برای انتقال دادههای خود از این شیوه استفاده نمیکنند، بیشتر در معرض خطر از بین رفتن اطلاعاتشان هستند. در فضای ابر امنیتی، سیستمهای مربوط به رمزنگاری اعم از SSL و TLS وجود دارد که تمام ارتباط بین سرور و نرمافزار را رمزنگاری میکند.
بیشتر بخوانید: سرور ابری
در این مورد از تهاجم هدف، منابع سرور DNS شما است که در این حالت شما از سمت فردی که قصد حمله به این بخش از سرور شمارا دارد، درخواستهای DNS ساختگی که معتبر هستند دریافت میکنید؛ در این حالت شما دیگر قادر به پاسخگویی به کاربران و تفسیر نام دامنهی آنها نخواهید بود.
یکی از خطرناکترین حملاتی که میتواند برای امنیت ابری شما اتفاق افتد. در این حالت فرد نفوذ گر بهطور مثال بستههای جعلی را به IP فردی که قرار است قربانی شوند، میفرستد و زمانی که به سرور و کامپیوتر فرد رسد، سیستم فرد قربانی بستهها را دریافت میکند و مورد پردازش نیز قرار میدهد که درنتیجه پهنای باند و منابع فرد اتلاف میشود و سیستم بهخوبی نمیتواند سرویسدهی کند.
یکی از پیچیدهترین حملات DDOS، از نوع حملات 7 لایه است که در آن تنها یک سیستم درگیر نمیشود، بلکه چندین سیستم آلوده که میتواند شامل کامپیوتر، دوربینهای مداربسته و حتی مودمهای اینترنت خانگی باشد، به یک سایت، حجم بالایی از درخواستهای بهظاهر معتبر اما جعلی را ارسال میکند که این کار موجب اتلاف منابع سرور و از دسترس خارج شدن وبسایت میشود.
در این مقاله به بررسی انواع خطرات و حملاتی که از جوانب مختلف برای سرور شما ممکن است رخ بدهد، پرداختیم. همچنین راهحلهایی که یک کاربر لازم است در جهت امنیت سرور ابری خود انجام دهد را برای شما در این متن بهصورت خلاصه جمعآوری کردهایم تا بتوانید از آن در این جهت استفاده نمایید.
اگر در حوزه سایت و طراحی سایت فعالیت داشته باشید، کلمه وردپرس (WordPress) برایتان ناآشنا نیست. وردپرس ابزاریست برای مدیریت راحت وبسایت که طراحان سایت و سئوکاران از آن استفاده زیادی میکنند. حال در برخی از مواقع وب مستران ناخواسته اشتباهاتی انجام میدهند که موجب نابودی سایت میشود. در ادامه این مطلب به این اشتباهات میپردازیم و شما را ازعواقب آن آگاه میسازیم.
بسیاری از سایت ها بخصوص سایت های وردپرسی در معرض خطرات نفوذی هکرها قرار میگیرند. اسپمها و هکر در پلاگینهای وردپرس وجود دارند و شما نمیتوانید از این احتمال جلوگیری کنید ولی میتوانید که در هنگام بروز این مشکل آماده باشید. چگونه؟ باید از تمامی اطلاعات خود بک آپ بگیرید. میتوانید خودتان بصورت مرتب هر چند وقت یکبار این کار را انجام دهید و یا از پلاگین هایی مانند UpdraftPlus که بطور خودکار بک آپ گیری میکنند، استفاده کنید.
خیلی از کاربران وردپرس خود را بروز نمیکنند و از نسخههای قدیم آن استفاده میکنند. باید بگم که اینکار بسیار غلط است زیرا با هر آپدیت جدید ویژگیهای جدید اضافه میشود و در نتیجه الگوریتمهای امنیتی پیشرفت میکند. WordPress پس از مدتی دیگر از نسخههای قبلی پشتیبانی نخواهد کرد و سایت شما در معرض هر نوع نفوذ هکری قرار میگیرد.
بیشتر بخوانید : چرا وردپرس 5.5 ممکن است قاتل سایت شما بشود؟
انتخاب یوزرنیم و پسورد قدرتمند میتواند شما را از خطر هک و نفوذ به سیستمتان نجات دهد. در انتخاب نام کاربری و رمز عبور برای پیشخوان وردپرس حتما سعی کنید از نام کاربری قابل حدس و پسوردی که مربوط به سال تولد و این دسته از بپرهیزید. معمولا پسورهای قوی متشکل از چند کارکتر هستند. برای مثال بهتر است که از حروف کوچک و بزرگ استفاده کنید و همچنین استفاده از کارکترهای @ و % و… را جدی بگیرید.
برای دریافت مشاوره و یا خرید سرویس مناسب با شماره ی 02148655 تماس بگیرید و یا از طریق فرم زیر درخواست خود را به ثبت برسانید.
بسیاری از شرکتها و سایتها پلاگین های رایگان وردپرس را ارائه میدهند که بیشتر آنها ویروسی است. با نصب این قالبها سایت شما ویروسی میشود و علاوه بر اینکه گوگل به سایت شما ارزش نمیدهد بلکه این ویروسها باعث میشود اطلاعات سایت شما بطور کامل از بین برود.
بیشتر بخوانید : چرا خرید هاست ایران برای ایرانی ها بهتر است؟
اگر در وردپرستان افزونههاو تم های غیرضروری وجود دارد که نیاز به آنها ندارید، سریعا آنها را دور بریزید زیرا که الکی فضای شما را پر میکند و همچنین به سئو سایت شما ضربه میزند. فرض کنید همیشه در خانه تان وسیلههای دور ریختنی را نگه دارید، چه اتفاقی میافتد؟ درقیقا همین آشفته بازار در حوزه مدیریت و سایت نیز پیش میاید.
اگر شما به عنوان یک وب مستر مدیریت سایتی را برعهده دارید، باید بدانید که مخاطبان شما از کجا می آیند، چه موقعی میآیند و بیشترین کلیک سایت شما از طریق چه کلمه ای است. در کل گوگل آنالیتیکس به شما در مدیریت بهتر سایت کمک میکند و باعث میشود مخاطبان خود را بیشتر بشناسید تا مطالب سایت خود را بر اساس نیازهای آنها تولید کنید.
بیشتر بخوانید : همه چیز از خرید هاست و دامنه آغاز می شود!
حتما یادتان باشد که از این اشتباهات رایج در وردپرس جدا خودداری کنید زیرا باعث نابودی سایتتان میشود. خیلی از افراد با نادیده گرفتن این موارد سایت خود را از بین بردند و دیگر نه تنها پیش کاربر بلکه در ربات گوگل نیز جایی ندارند. پس حواستان به این نکات کلیدی و در عین حال ساده باشد.
اگر شما قصد دارید اطلاعات خود را بر روی یک فضای مشخص ذخیره کنید و بعد به آن دسترسی داشته باشید، میتوانید از نرمافزار Cloud استفاده کنید و آن را بر روی سرور خود نصب کنید. این برنامه، امکان دسترسی آسان به دادهها را برای شما فراهم میآورد که در ادامه به نحوهی نصب آن میپردازیم.
پیش از نصب برنامه بر روی سرور خود، بهتر است اطلاعاتی از خود Cloud داشته باشیم؛ این نرمافزار قابلیت ذخیرهی اطلاعات، بهصورت ابری و بر روی شبکه را فراهم میکند؛ این نرمافزار opensource و رایگان است که کارایی و کار با آن همانند با دراپ باکس (DropBox) و دیگر سرویسهای ذخیرهسازی دادهی اطلاعات است؛ که با استفاده از آن بهراحتی میتوانید فایلهای خود را با استفاده از مرورگر وب که بر روی سیستم و یا گوشی هوشمند شما نصب است، آپلود کنید و هرزمانی که خواستید، میتوانید به آن دسترسی داشته باشید و آن را نیز به اشتراک بگذارید.
زبان برنامهنویسی که در Cloud استفادهشده است، PHP است که قابلیت سازگاری با دیتابیسهای مختلف (DataBase) ازجمله MySQL، Oracle، Mariadb، SQLite و PostgreSQL را دارا است که در میان این موارد، نحوهی نصب نرمافزار و برقراری ارتباط با MySQL از بقیه موارد راحتتر است.
در Cloud، برنامههای پرطرفدار و کاربردی چون Dropbox یا GoogleDrive وجود دارد که هیچ هزینهای در قبال این دو نباید پرداخت کنید و کاملا رایگان هستند و همهی افراد میتوانند از این سیستم کاربردی که بدون محدودیت است، استفادهی خود را ببرند. در ادامهی این مطلب به نصب Cloud در سروری با سیستمعامل 7CentOS میپردازیم.
برای آنکه بتوانید فایل سرور ابری موردنظر خود را بسازید، باید از نصب شدن CentOs بر روی سیستمعامل خود مطمئن شوید و سپس به نصب نرمافزار خود اقدام کنید.
اولین مرحله پس از اطمینان حاصل پیدا کردن از وجود سنت او اس، نصب خود فایل سرور ابری (Cloud) است که در ابتدا باید از منابع معتبر تهیه و بر روی سرور شما نصب شود؛ برای نصب این نرمافزار نیاز به واردکردن یکسری کد است که برای شما در این قسمت درج میشود.
در ابتدا که به سرور خود وارد میشوید، باید کدی که در زیر درج میشود را در قسمت موردنظر وارد کنید:
rpm -import example.com
پس از واردکردن چنین آدرسی، شما باید کد دانلود پیشنیاز را در بخش تنظیمشده، وارد کنید.
curl -L example.com
پسازاین مرحله، شما باید حافظهی کش (cache) خود را پاککنید و برای این کار همچنان میتوانید حافظهی کش را به بخش Yum معرفی کنید، برای این کار باید آدرس yum clean expire-cache را وارد کنید. پس از انجام این امور، چند کد خروجی مانند نمونهای که در خط بعد ذکر میشود، دریافت میکنید.
Loaded plugins: fastestmirror، 10 metadata files removed وCleaning repos: base ce_stable extras updates vz-base vz-updatesو در آخرین مرحلهی این پروسه، فایل سرور ابری Cloud را با کد yum install cloud –y بر روی سیستمهای خود نیز به اجرا میگذارید.اگر تا به اینجا، کد هارا بهدرستی وارد کرده باشد، نرمافزار مربوطه بر روی سیستم شما نصب میشود و باید به سراغ مراحل دیگر نیز رفت؛ که دوباره در انجام آن به واردکردن کد باید بپردازید.
پس از نصب نرمافزار، نوبت به ساخت یک پایگاه برای برقراری ارتباط میرسد که در آن نیز باید از کدهای مخصوص استفاده شود.زمانی که شما این بخش را نیز به پایان رساندید، باید تنظیمات فایل سرور ابری را تنظیم کنید که برای دسترسی به Cloud خود، کافی است در قسمت URL مرورگر، آدرس example.com/domain_or_IP / cloud را سرچ کنید تا به بخش حساب خود وارد شوید و به مدیریت آن بپردازید. پس میتوان نصب و راهاندازی Cloud را یک امر ساده پنداشت و لازم به یادآوری است که در سیستمعامل CentOS، چیزی مربوط به نرمافزار Cloud وجود ندارد و برای نصب و کانفینگ آن باید بهصورت دستی عمل کرد.
اگر سایتی دارید یا در حوزهای مرتبط با وب سایتها فعالیت میکنید، حتما گواهینامه امنیتی ssl شنیدهاید و میدانید که بسیار پراهمیت است. اما اگر برای اولین بار است که این کلمه را میشنوید، با ما همراه شوید.
اگر در هنگام بادید از سایتها به نوار آدرس مرورگر خود دقت کنید، متوجه وجود یک قفل یا نشان سبز رنگ در کنارآدرس سایت میشوید. این علامت وجود گواهی ssl را در سایت بیان میکند.
SSLچیست؟ SSL مخفف عبارت « Secure Socket Layer » و به معنای « لایه اتصال امن » است. در واقع SSL پروتکلی است که برای ایمنسازی اطلاعات رد و بدل شده مابین کلاینت و سرور طراحی شده است. پروتکل ssl برای این طراحی شده است که یک هکر نتواند در بین راه، به اطلاعات انتقالی دست پیدا کند و آنها را تغییر دهد. در واقع لایه اتصال امن یا SSL ، لایهای است که اطلاعات شما را رمزگذاری میکند و از افشای آنها جلوگیری میکند.
پروتکلهایhttp و https هر دو برای انتقال اطلاعات هستند. http دادهها را به صورت متن ساده انتقال میدهد بنابراین اگر هکری مابین وب سرور و مروگر قرار بگیرد، این اطلاعات را به راحتی در اختیار میگیرد. https دادهها را ابتدا رمزنگاری کرده، سپس انتقال میدهد. تفاوت دیگر http با https در سرعت بارگذاری وبسایت است. سرعت پروتکل https کمتر است.
اولین دلیل استفاده از گواهی SSL امنیت است. وقتی کاربر اطلاعات هویتی و رمز عبور خود را وارد یک سایت دارای SSL میکند، باید بداند که SSL از این صفحه (صفحه ورود با رمز عبور) به صورت کامل محافظت خواهد کرد. علاوه بر آن ممکن است محصول خاصی را از سایت خریداری کند. در این صورت اطلاعات کارت بانکی خود را در درگاه پرداخت وارد کند. درگاههای پرداخت معمولاً دارای این گواهینامه هستند؛ زیرا از تمامی اطلاعات به بهترین شکل محافظت میکنند. نبود گواهی ssl راه را برای ورود یک بدافزار به سایت شما باز میکند. به همین دلیل وبسایتها در حال استفاده از https هستند.
سه نوع گواهی SSL وجود دارد:
DV یا « Domain Validation » اعتبار دامنه سایت را بررسی میکند( برای خرید دامنه حتما باید ابتدا به آنها مراجعه کنید). عموما وب سایتهای عمومی شخصی و شرکتها از آن استفاده میکنند. وقتی شرکت صادرکننده گواهینامه، نام دامنه را تأیید و احراز کرد، گواهینامه صادر میشود.(سامانه هایی مثل ایرنیک یرای دامنه های (IR ) اعتبار دامنه را بررسی می کنند.)
OV مخفف «Organization Validation» است. این گواهی مخصوص سازمانها و کسب و کارهای اینترنتی بزرگ بسیار است و اعتبار آن بسیار بالا است. گواهینامه SSL-OV فقط به سازمانها و اشخاص حقوقی تعلق میگیرد.
درجه اعتبار آن از نوع OV هم بیشتر است. پس از اخذ آن در مرورگر یک نشان سبزرنگ در کنار آدرس آن سایت نمایش داده میشود. شرکتهایی مانند گوگل این گواهینامه را میگیرند.
معمولا از شرکتی که هاست سایت خود را خریداری کردهاید، میتوانید گواهی را خریداری کنید. برخی شرکتها نیز اقدام به فروش گواهی SSL میکنند. هر سه نوع گواهی ssl به طریق خاصی صادر میشوند که در ادامه به آنها میپردازیم
نتیجه گیری
شاید فکر کنید گواهینامه امنیتی ssl تنها برای فروشگاههای اینترنتی لازم است اما باید بدانید اهمیت این گواهینامه به حدی بالا است که بسیاری از مرورگرها تصمیم دارند، وبسایتهایی که از این گواهی SSl استفاده نمیکنند را مسدود کنند و این به معنای پایین آمدن اعتبار سایت شما است.
وجود این گواهینامه برای گوگل بسیار مهم است چرا که امنیت اطلاعات کاربران را تضمین میکند و علاوه بر آن بر سئوی سایت شما نیز تاثیرات مثبت دارد.
زمانی که ویندوز سرور برای مدت زمان طولانی اجرا شود، نرم افزارهای سیستم عامل ناپایدار خواهند شد.
در یک سیستم عامل ناپایدار ممکن است نرم افزارها هنگ کرده و از کار بیفتد و یا اینکه مشکل حافظه داشته باشد. یا در بعضی مواقع حتی عملکرد های اصلی هم مختل شود.
ساده ترین راه حل، ری استارت کردن آن است. این مقاله شما را در نحوه ری استارت کردن ویندوز سرور 2016 از طریق گزینه های دستوری مختلف همراهی خواهد کرد.
پیش نیازها:
رابط ویندوز سرور 2016 یک GUI یا رابط گرافیکی کاربر است که کار را آسان می کند.
برای این کار روی Start menu > Power button > Restart کلیک کنید.
در بعضی موارد ممکن است GUI نصب نشده یا اینکه سیستم عامل به مشکل برخورده باشد، در این صورت به تنها چیزی که دسترسی دارید یک کنسول خط فرمان است.
در پنجره خط فرمان عبارت Windows Server restart command را تایپ کرده سپس کلید Enter را فشار دهید:
shutdown –r
گزینه –r به این معناست که ویندوز به جای خاموش شدن، ری استارت می شود.
ویندوز PowerShell ورژن قوی تر کنسول خط فرمان است که عملکرد آن بر پایه .NET framework بوده و دارای یک زبان اسکریپت است. PowerShell برای تعمیر زیرساخت سیستم عامل ویندوز نیز سودمند است.
در پنچره PowerShell دستور زیر را وارد کرده و کلید Enter را فشار دهید:
Restart-Computer
به طور پیش فرض پس از 5 ثانیه شمارش معکوس، سیستم ری استارت خواهد شد.
می توانید با اضافه کردن یک گزینه، زمان ری استارت شدن را طولانی تر کنید.
Restart-Computer –delay 15
عدد 15 را به هر شماره ثانیه ای که دوست داشتید تغییر دهید.
داخل کنسول خط فرمان دستور زیر را وارد کنید:
PowerShell
PS در ابتدای خط فرمان اضافه شده و دستوری که تایپ کردید باید به رنگ زرد در بیاید.
دستور زیر را در پنجره PowerShell وارد کنید:
Restart-Computer –ComputerName “NAME_OF_SYSTEM”
عبارت NAME_OF_SYSTEM را با اسم کامپیوتری که می خواهید ری استارت شود عوض کرده و حتما علامت (“ ”)را تایپ کنید.
توجه: با این کار وانمود می شود credentials فعلی شما با سیستم مجازی یکسان می باشد. در واقع مثل یک حساب کاربری administrator است که رمزعبور آن برای هر دو سیستم یکی است. همچنین اگر هر دو سیستم در یک دامنه باشند و حساب کاربری شما مجوز لازم را داشته باشد هم این کار شدنی است.
ری استارت کردن ویندوز سرور مخصوصا از طریق GUI بسیار ساده است.