گری لاگ چیست؟ #
Graylog یکی از پیشروترین راهحلهای مدیریت لاگ متمرکز متنباز در جهان است که برای متمرکزسازی، ذخیره، تجسم و نظارت بر ترابایتها داده ماشینی به صورت بلادرنگ استفاده میشود و توسط مهندسان DevOps ، تحلیلگران امنیتی و توسعهدهندگان برنامهها مورد استفاده قرار میگیرد.
گری لاگ برای چه مواردی استفاده میشود؟ #
Graylog ابزاری پرکاربرد در صنایعی مانند فناوری، رسانه، خردهفروشی و موارد دیگر برای نظارت بر طیف وسیعی از فعالیتهای شبکه و شناسایی هرگونه مشکلی که بر عملکرد تأثیر میگذارد، است. این ابزار به کسب بینش از گزارشها در مقیاس بزرگ کمک میکند تا از حل سریعتر مشکلات و تداوم کسبوکار با کمترین زمان از کارافتادگی پشتیبانی کند.
سرور Graylog شامل اجزای برجسته زیر است:
- Elasticsearch – یک موتور جستجو و تجزیه و تحلیل که دادهها را ذخیره و فهرستبندی میکند.
- MongoDB – یک پایگاه داده سند NoSQL متنباز که ابردادههایی مانند اطلاعات کاربر را ذخیره میکند.
- سرور Graylog – مؤلفه اصلی مورد استفاده در ضبط، ذخیره و تجزیه و تحلیل دادههای ماشین در زمان واقعی. این سرور دادهها را برای شناسایی روندها و ناهنجاریها مصورسازی میکند و در صورت بروز هرگونه حادثه، هشدارهایی را فعال میکند. همچنین، میتوانید گزارشهایی را مطابق با استانداردهای تعیین شده و نیازهای مدیریتی ایجاد کنید.
حالا، بیایید با دستورالعملهای نصب Graylog Ubuntu ادامه دهیم، ابتدا پیشنیازها را تعریف میکنیم.
پیش نیازها #
مطمئن شوید که الزامات زیر را رعایت میکنید:
- نمونهای از سرور اوبونتو ۲۲.۰۴ با اتصال SSH؛
- حداقل ۴ گیگابایت رم و ۲ پردازنده؛
- یک کاربر sudo که روی سرور پیکربندی شده است.
نصب Graylog در اوبونتو : مراحل گام به گام #
برای نصب Graylog در اوبونتو ۲۲.۰۴، باید یک فرآیند نسبتاً ساده را دنبال کنید. این شامل نصب بستههای پیشنیاز مانند OpenJDK، Elasticsearch و MongoDB میشود. پس از آن، بسته سرور Graylog را دانلود و پیکربندی کنید، سپس Nginx را به عنوان یک پروکسی معکوس برای دسترسی به رابط کاربری وب Graylog تنظیم کنید .
بیایید مستقیماً شروع کنیم. مراحل زیر را دنبال کنید تا Graylog روی سرور اوبونتو ۲۲.۰۴ شما نصب و اجرا شود.
مرحله ۱: بهروزرسانی فهرست بسته محلی #
برای شروع، وارد سرور خود شوید و فهرست بستههای محلی را بهروزرسانی کنید .
sudo apt update
در مرحله بعد، مجموعه وابستگیهای زیر را که در طول نصب سرور Graylog مورد نیاز هستند، نصب کنید.
sudo apt install curl wget apt-transport-https
پس از نصب، به مرحله بعدی بروید.
مرحله ۲: نصب OpenJDK #
قبل از نصب Graylog، باید جاوا را نصب کنیم . ما OpenJDK را نصب خواهیم کرد، یک پیادهسازی رایگان و متنباز از جاوا که در حال حاضر توسط Oracle نگهداری میشود. آخرین نسخه Graylog – Graylog 5.2 – حداقل به OpenJDK 17 نیاز دارد.
برای نصب OpenJDK 17، دستور زیر را اجرا کنید:
sudo apt install openjdk-17-jre-headless -y
پس از نصب، میتوانید نسخه جاوا نصب شده را همانطور که نشان داده شده است تأیید کنید.
java -version

مرحله ۳: نصب ElasticSearch #
Elasticsearch یکی دیگر از اجزای حیاتی در نصب Graylog است. این یک موتور جستجو و تجزیه و تحلیل توزیعشده است که به طور گسترده برای جستجوی متن کامل، تجزیه و تحلیل گزارشها، تجزیه و تحلیل کسبوکار و تجزیه و تحلیل رویدادهای امنیتی استفاده میشود.
در Graylog، Elasticsearch لاگها و پیامهای منابع خارجی را ذخیره، جستجو و تجزیه و تحلیل میکند.
Elasticsearch در مخازن رسمی اوبونتو میزبانی نمیشود. از این رو، ما قصد داریم آن را از مخزن Elasticsearch نصب کنیم. برای انجام این کار، ابتدا کلید GPG مربوط به Elasticsearch را دانلود و اضافه کنید.
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
در مرحله بعد، به کاربر ریشه (root) بروید.
sudo su -
و مخزن Elasticsearch را به سیستم اضافه کنید.
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
در مرحله بعد، حافظه پنهان محلی را بهروزرسانی کنید تا سیستم از مخزن تازه اضافه شده مطلع شود.
apt update
پس از بهروزرسانی حافظه پنهان محلی، Elasticsearch را با استفاده از مدیر بسته APT از مخزن نصب کنید.
apt install elasticsearch -y

پس از اتمام نصب، باید چند تغییر در فایل پیکربندی اصلی Elasticsearch ایجاد کنید. برای دسترسی به فایل از ویرایشگر متن دلخواه خود استفاده کنید. در اینجا، ما از ویرایشگر خط فرمان nano استفاده میکنیم.
nano /etc/elasticsearch/elasticsearch.yml
نام خوشه مورد نظر خود را تنظیم کنید و action.auto_create_index: falseخط زیر آن را اضافه کنید.
cluster.name: graylog
action.auto_create_index: false
پس از انجام، تغییرات را ذخیره کرده و خارج شوید. systemd را مجدداً بارگذاری کنید تا تغییرات اعمال شوند و Elasticsearch شروع به کار کند.
systemctl daemon-reload
systemctl start elasticsearch
میتوانید وضعیت Elasticsearch را مطابق شکل تأیید کنید.
sudo systemctl status elasticsearch

از خروجی میتوان دریافت که سرویس Elasticsearch فعال و در حال اجرا است.
علاوه بر این، فعال کردن سرویس Elasticsearch را برای شروع در هنگام بوت شدن در نظر بگیرید.
systemctl enable elasticsearch
شما میتوانید با استفاده از ابزار خط فرمان، GETدرخواستی را به گره خود ارسال کنید تا اطلاعات دقیقی در مورد Elasticsearch مشاهده کنید.curl
curl -X GET http://localhost:9200

مرحله ۴: نصب سرور MongoDB #
در سرور Graylog، پایگاه داده MongoDB اطلاعات پیکربندی و دادههای کاربر را ذخیره میکند. آخرین نسخه Graylog به نسخههای MongoDB 5.x و ۶.x نیاز دارد. برای این راهنما، MongoDB 6.0 را از مخزن MongoDB نصب خواهیم کرد.
بنابراین، کلید امضای MongoDB GPG را اضافه کنید.
curl -fsSL https://pgp.mongodb.com/server-6.0.asc | \
sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/mongodb-server-6.0.gpg
در مرحله بعد، مخزن MongoDB را به sources.list.dدایرکتوری موجود در سیستم خود اضافه کنید.
echo "deb [ arch=amd64,arm64 signed=/etc/apt/trusted.gpg.d/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
با اضافه شدن مخزن به سیستم خود، حافظه پنهان محلی APT را بهروزرسانی کنید.
sudo apt update
سپس سرور پایگاه داده MongoDB را نصب کنید.
sudo apt install mongodb-org -y

برای تأیید نسخه نصب شده، دستور زیر را اجرا کنید:
mongod --version

MongoDB پس از نصب به طور خودکار شروع به کار نمیکند، بنابراین آن را مطابق شکل زیر شروع کنید.
sudo systemctl start mongod
تأیید کنید که سرویس پایگاه داده MongoDB در حال اجرا است:
sudo systemctl status mongod

علاوه بر این، فعال کردن سرویس برای شروع خودکار در هنگام بوت را در نظر بگیرید.
sudo systemctl enable mongod
با نصب سرور پایگاه داده MongoDB، مرحله بعدی نصب سرور Graylog است.
مرحله ۵: سرور Graylog را نصب کنید #
اکنون آماده نصب سرور Graylog در اوبونتو هستیم. به طور پیشفرض، بسته سرور Graylog در مخازن اوبونتو موجود نیست. بنابراین، ما قصد داریم Graylog را از مخزن رسمی Graylog نصب کنیم.
بنابراین، بسته Graylog Debian را دانلود کنید.
wget https://packages.graylog2.org/repo/packages/graylog-5.2-repository_latest.deb
در مرحله بعد، dpkgدستور را برای اجرای بسته اجرا کنید.
sudo dpkg -i graylog-5.0-repository_latest.deb
در مرحله بعد، حافظه پنهان محلی APT را بهروزرسانی کنید.
sudo apt-get update
در نهایت، سرور Graylog را به صورت زیر نصب کنید.
sudo apt install graylog-server -y

پس از نصب سرور Graylog، باید یک رمز عبور برای ایمنسازی رمزهای عبور کاربر و یک رمز عبور رمزگذاری شده برای کاربر ادمین ایجاد کنید.
برای ایجاد یک رمز عبور مخفی برای ایمنسازی رمزهای عبور کاربر، دستور زیر را اجرا کنید:
< /dev/urandom tr -dc A-Z-a-z-0-9 | head -c${1:-96};echo;
رمز عبور رمزگذاری شده، متشکل از کاراکترهای الفبایی-عددی، در ترمینال نمایش داده خواهد شد.
در مرحله بعد، یک رمز عبور رمزگذاری شده برای کاربر ورود به سیستم Graylog admin ایجاد کنید.
echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
وقتی از شما خواسته شد، رمز عبور را تایپ کنید و ENTER را بزنید. رمز عبور رمزگذاری شده روی صفحه نمایش داده میشود.

دو رمز عبور رمزگذاری شده را در جایی کپی و جایگذاری کنید و فایل پیکربندی Graylog را باز کنید.
nano /etc/graylog/server/server.conf
password_secretو را root_password_sha2با رمزهای عبور رمزگذاری شده تولید شده به روز کنید .
password_secret = hTRdp0JxNLeuxKXFeTjNYzOMpM-6zdBPalK4eKbsEhxSlxkIFgTcUBzPmhj21Hc89OmyW1NqitmROHXtgqJqwGte4t7PBwi0
root_password_sha2 = bfe4814665ab5c23359f7114d289110e7c725a1528fa2cd68c601a0a5d6c05108
در مرحله بعد، آدرس IP که رابط HTTP Graylog به آن گوش میدهد را با استفاده از مشخص کنید http_bind_address. به طور پیشفرض، این آدرس روی localhost یا آدرس loopback تنظیم شده است. مطمئن شوید که آن را روی IP اختصاص داده شده به رابط شبکه خود تنظیم کرده و پورتی را که Graylog به آن گوش میدهد (پورت ۹۰۰۰) مشخص کنید.
http_bind_address = 208.117.84.72:9000
تغییرات را ذخیره کرده و از فایل پیکربندی خارج شوید. در مرحله بعد، systemd را مجدداً بارگذاری کنید تا سیستم از تغییرات ایجاد شده مطلع شود.
systemctl daemon-reload
بعد، سرویس Graylog را شروع کنید.
systemctl start graylog-server
اکنون باید سرویس یا سرویس Graylog در حال اجرا باشد. میتوانید این را همانطور که نشان داده شده است تأیید کنید.
systemctl status graylog-server

فعال کردن سرویس برای شروع به کار در هنگام راهاندازی سیستم را در نظر بگیرید.
systemctl enable graylog-server
مرحله ۵: پیکربندی Nginx به عنوان یک پروکسی معکوس #
Graylog به خودی خود میتواند به عنوان یک رابط کاربری عمل کند و نیازی به وب سرور ندارد. با این حال، میتوانید یک وب سرور را به عنوان یک پروکسی معکوس برای پورت ۸۰ تا پورت ۹۰۰۰ پیکربندی کنید، که Graylog روی آن گوش میدهد. این امر همچنین پیکربندی گواهی SSL برای Graylog را ساده میکند.
در مورد ما، ما از Nginx به عنوان گزینه ترجیحی خود برای وب سرور استفاده خواهیم کرد. برای نصب Nginx ، دستور زیر را اجرا کنید:
apt install nginx
پس از نصب، یک فایل میزبان مجازی برای Graylog ایجاد کنید.
nano /etc/nginx/sites-available/graylog.conf
این خطوط کد را اضافه کنید و مطمئن شوید که IP سرور خود را برای این proxy_passویژگی مشخص میکنید.
server {
listen 80;
server_name graylog.example.org;
location /
{
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Graylog-Server-URL http://$server_name/;
proxy_pass http://208.117.84.72:9000;
}
}
تغییرات را ذخیره کنید و از فایل پیکربندی خارج شوید. سپس، دستور زیر را اجرا کنید تا تأیید کنید که سینتکس پیکربندی وب سرور شما درست است.
nginx -t

اگر همه چیز خوب به نظر میرسد، فایل میزبان مجازی Nginx را فعال کنید.
ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/
به یاد داشته باشید که فایل میزبان مجازی پیشفرض را حذف کنید، زیرا این کار پیکربندی میزبان مجازی تازه فعال شده را لغو میکند.
rm -rf /etc/nginx/sites-enabled/default
برای اعمال تغییرات ایجاد شده، سرویس وب Nginx را مجدداً راه اندازی کنید
systemctl restart nginx
و مطمئن شوید که طبق انتظار اجرا میشود.
systemctl status nginx

مرحله ۶: به رابط وب Graylog دسترسی پیدا کنید #
برای دسترسی به رابط وب Graylog، از URL زیر در مرورگر وب خود بازدید کنید.
http://server-ip
صفحه وب نشان داده شده را مشاهده خواهید کرد. با استفاده از نام کاربری adminو رمز عبور کاربر ریشه که در مرحله ۵ به صورت متن ساده مشخص کردهاید، وارد شوید. سپس روی Sign Inدکمه کلیک کنید.

پس از ورود، باید رابط کاربری وب Graylog را ببینید. از اینجا میتوانید منابع داده را برای تجزیه و تحلیل دادههای بلادرنگ اضافه کنید.

نتیجهگیری #
همین بود؛ در این آموزش، نحوه نصب Graylog روی سرور اوبونتو ۲۲.۰۴، از جمله پیکربندی را نشان دادهایم.
