آموزش مقدمات لینوکس – بخش پانزدهم

آموزش مقدمات لینوکس

در این بخش از دوره آموزشی مقدمات لینوکس شما با سرویس های کاربردی لینوکس که شامل آپاچی، MySQL و OpenSSH می باشد، آشنا خواهید شد.

Using and Abusing Services

در اصطلاحات لینوکس، یک سرویس، برنامه ای است که در پس زمینه اجرا شده و منتظر بوده تا شما از آن استفاده نمایید. لینوکس دارای سرویس های متعددی است که از پیش نصب شده اند.

از این میان، یکی از سرویس های کاربردی لینوکس ، سرویس آپاچی می باشد که برای ایجاد، مدیریت و استقرار سرورهای وب از آن استفاده می شود. در این بخش ما سه سرویس را انتخاب کرده ایم که برای تست نفوذگران از اهمیت ویژه ای برخوردار هستند که عبارتند از Apache، OpenSSH، MySQL

Starting, Stopping, and Restarting Services

پیش از اینکه به توضیح سرویس های مذکور بپردازیم، ابتدا به توضیح در مورد start، stop و restart سرویس ها در لینوکس می پردازیم.

برخی از سرویس ها را می توانید بوسیله محیط گرافیکی در کالی لینوکس، start یا stop نمایید ولی برخی از آن ها نیز باید بوسیله محیط دستوری start یا stop شوند.

ساختار کلی فعال یا غیرفعال کردن سرویس ها به صورت زیر می باشد:

service servicename start|stop|restart

به عنوان مثال برای فعال نمودن سرویس Apache، کافی است دستور زیر را وارد نمایید:

service apache2 start

همچنین برای stop نمودن این سرویس نیز می توانید از عبارت stop بعد از نام سرویس استفاده نمایید.

معمولا زمانی که شما یک سرویس را پیکربندی می کنید و یا پیکربندی آن را تغییر می دهید، باید سرویس را restart نمایید.

Creating an HTTP Web Server With the Apache Web Server

وب سرور آپاچی در واقع رایج ترین سرویس مورد استفاده در سیستم عامل های لینوکس می باشد. وب سرور آپاچی در بیش از 60 درصد از سرورهای وب دنیا یافت می شود، بنابراین یک مدیر سیستم لینوکسی باید با این سرویس آشنایی داشته باشد.

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

Starting with Apache

در صورتی که شما از سیستم عامل کالی لینوکس استفاده می کنید، سرویس Apache به صورت پیش فرض بر روی سیستم شما نصب می باشد. در صورتی که این سرویس به هر دلیلی بر روی سیستم عامل شما نصب نشده است می توانید از دستور زیر برای نصب آن استفاده نمایید:

apt-get install apache2

علاوه بر سرویس آپاچی شما برای ایجاد یک وب سایت، شما به یک پایگاه داده MySQL و همچنین برای نوشتن اسکریپت های وب، نیاز به یک زبان برنامه نویسی تحت وب مانند php یا perl نیز نیاز خواهید داشت.

ترکیب لینوکس، Apache، MySQL و PHP یک مجموعه قدرتمند را برای طراحی و توسعه برنامه های تحت وب ایجاد می نماید که در مجموع به عنوان LAMP نیز شناخته می شود. معادل همین مجموعه برای ویندوز با نام WAMP شناخته می شود که حرف W از این عبارت به Windows اشاره دارد.

آشنایی با ثبت لاگ در لینوکس

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

Apache web server

شما می توانید با مراجعه با فایل index.html که در مسیر /var/www/html/ قرار دارد، محتوای این صفحه را ویرایش نمایید.

OpenSSH

SSH که مخفف Secure Shell می باشد، شما را قادر می سازد که به صورت امن یک ارتباط دستوری را از راه دور ایجاد نمایید. در واقع از این سرویس می توان به عنوان یک جایگزین مناسب برای سرویس telnet استفاده نمود که اطلاعات را به صورت Cleartext انتقال می دهد.

مدیران سیستم، اغلب از SSH برای مدیریت سرورها از راه دور استفاده نموده و نفوذگران از این سرویس برای اتصال به سیستمی که آن را در اختیار خود گرفته اند، استفاده می نمایند.

برای فعال کردن OpenSSH که یکی دیگر از سرویس های کاربردی لینوکس می باشد، در سیستم عامل کالی لینوکس از دستور زیر استفاده می شود:

service ssh start

همچنین در صورتی که قصد اتصال به یک سیستم را بوسیله SSH داشته باشید می توانید از دستور زیر استفاده نمایید:

ssh test@192.168.1.100

در مثال بالا به جای test نام کاربری در سیستم مقصد را وارد نموده و پس از علامت @ آدرس IP سیستم مقصد را وارد می نماییم. پس از وارد نمودن دستور بالا، از شما کلمه عبور مربوط به نام کاربری وارد شده، درخواست می شود و پس از وارد نمودن آن، شما به سیستم مورد نظر متصل خواهید شد.

Extracting Information from MySQL

MySQL یکی از رایج ترین برنامه های پایگاه داده می باشد که در برنامه های وب از آن استفاده می شود. پایگاه های داده یکی از بخش های مورد علاقه نفوذگران می باشد. زیرا آن ها حاوی اطلاعات مهمی برای نفوذگران می باشند.

همانند لینوکس، MySQL نیز متن باز بوده و اغلب بر روی سیستم عامل های لینوکس نصب شده است. تعداد زیادی از برنامه های تحت وب و حتی سیستم های مدیریت محتوا (CMS) مانند وروپرس،جوملا و دروپال نیز از این پایگاه داده استفاده می کنند.

Starting MySQL

خوشبختانه MySQL به صورت پیش فرض بر روی کالی لینوکس نصب شده است و در صورتی که شما از توزیع دیگری استفاده می نمایید می توانید به آدرس زیر مراجعه نموده و آن را دانلود نمایید:

https://www.mysql.com/downloads

برای فعال سازی سرویس MySQL که یکی از سرویس های کاربردی لینوکس می باشد، از دستور زیر استفاده می شود:

service mysql start

برای وارد شدن به محیط MySQL از دستور زیر استفاده می شود:

mysql -u root -p

Mysql

در صورتی که شما برای اولین از این سرویس استفاده می نمایید، نیازی به وارد نمودن کلمه عبور نبوده و هنگام درخواست کلمه عبور، کلید Enter را فشار دهید.

Interacting with MySQL

SQL یک زبان برنامه نویسی تفسیر شده برای ارتباط با پایگاه داده می باشد. پایگاه داده اغلب به صورت رابطه ای بوده و در آن چندین جدول با ارتباطات خاص با یکدیگر ایجاد می شوند. برخی از دستوراتی که در این ساختار استفاده می گردند عبارتند از:

select: برای بازیابی اطلاعات استفاده می شود.
union: برای ترکیب نتایج یک یا تعداد بیشتر دستور select از آن استفاده می شود.
insert: برای اضافه نمودن داده استفاده می شود.
update: برای تغییر در داده های موجود استفاده می شود.
delete: برای حذف داده ها استفاده می شود.

دستور زیر نمونه ای از استفاده select در پایگاه داده می باشد:

select user, password from customers where user=’admin’;

دستور بالا، ستون های نام کاربری و کلمه عبور از جدولی با نام customer در جایی که نام کاربری برابر با admin می باشد را نمایش می دهد.

Setting a MySQL Password

در ابتدا قصد داریم تا کلیه کاربرانی که در mysql وجود دارند را مشاهده نماییم. بدین منظور از دستور زیر استفاده می کنیم:

Select user, host , password from mysql.user;

Mysql

همانطور که در تصویر بالا مشاهده می کنید، کاربر کلمه عبوری برای کاربر root تنظیم نشده است. در ادامه قصد داریم تا برای این نام کاربری، یک کلمه عبور تنظیم نماییم. بدین منظور ابتندا باید پایگاه داده مورد نظر را انتخاب نماییم.

برای مشاهده لیست پایگاه داده موجود در mysql از دستور زیر استفاده می نماییم:

show database;

Mysql

به صورت پیش فرض سه پایگاه داده در Mysql تعریف شده است که دو پایگاه داده information_schema و performance_schema برای موارد مدیریت بوده و ما از آن ها استفاده نمی کنیم. در این جا برای تنظیم کلمه عبور می بایست از پایگاه داده mysql استفاده نماییم.

برای این منظور بوسیله دستور زیر، این پایگاه داده را فراخوانی می نماییم:

use mysql;

پس از فراخوانی پایگاه داده mysql و اتصال به آن بوسیله دستور بالا، برای تنظیم کلمه عبور برای آن، از دستور زیر استفاده می نماییم:

update user set password = PASSWORD(“hackers-arise”) where user = ‘root’;

در دستور بالا به جای عبارت hackers-arise، شما می توانید کلمه عبور مورد نظر خود را وارد نمایید.

Accessing a Remote Database

در برخی از موارد شما نیاز دارید که از راه دور به یک پایگاه داده متصل شوید. بدین منظور باید در ادامه دستورات اتصال به پایگاه داده، آدرس IP مقصد را نیز وارد نمایید:

mysql -u root -p 192.168.1.100

توجه داشته باشید که کاربر root در mysql به صورت پیش فرض دارای کلمه عبور نمی باشد و شما باید پیش از هر کاری، با دستوراتی که در بخش پیشین به آن اشاره کردیم، کلمه عبور مناسبی را برای کاربر root تنظیم نمایید.

Database Tables

یکی از مواردی که باید به آن توجه داشته باشید، مشاهده جداول یک پایگاه داده می باشد. برای مشاهده جداول یک پایگاه داده ابتدا باید پایگاه داده مورد نظر را با دستور use انتخاب نموده و با دستور show tables، لیست جداول آن را مشاهده نمایید:

Mysql

جهت نمایش نوع داده های استفاده شده در هر یک از جداول می توانید از دستور describe استفاده نمایید:

Mysql

در دستور بالا اطلاعات مربوط به جدول host در پایگاه داده mysql نمایش داده شده است.

Examining the Data

به منظور استخراج اطلاعات جداول، از دستور select استفاده می شود. در دستور select شما نیاز به نام جدول مورد نظر و نام ستون های آن دارید. ساختار کلی این دستور به صورت زیر می باشد:

Select columns from table

همچنین شما برای مشاهده کلیه ستون های جدول مورد نظر می توانید به جای نوشتن نام کلیه ستون های آن، از ستاره استفاده نمایید.

درباره نویسنده: احسان نیک آور

ممکن است دوست داشته باشید