مقالات

استقرار دو سرور منبع باز Bastion – Webterminal و Jumpserver (PAM رایگان و منبع باز) – 51 ثانیه.


من به دنبال راهی امن برای مدیریت زیرساخت ابری خود بودم و این دو پروژه را در Guihub پیدا کردم. هر دو یک رابط کاربری گرافیکی وب برای پشتیبانی از پروتکل های راه دور اولیه برای اتصال به اهداف راه دور ارائه می کنند.

سرور Bastion (سرور پرش) ماشین‌های مجازی، رایانه‌های محلی و منابع ابری شما را بدون قرار گرفتن در معرض اتصالات شبکه عمومی به یکدیگر متصل می‌کند. این استحکامات یا سرور هاپ را می توان به عنوان یک ایست بازرسی واحد برای ورود به سیستم دسترسی به اهداف راه دور در نظر گرفت. هم سرورهای پرش و هم هاست های باستیون نقاط ضعیفی در نظر گرفته می شوند و باید مراقبت ویژه ای برای به روز نگه داشتن و نظارت بر آنها انجام شود.

یک ترمینال وب که توسط جنگو پیاده سازی شده است. این پروژه بر DevOps و تحویل مداوم تمرکز دارد. تا کنون، تقریبا 90٪ از پروتکل مدیریت از راه دور مانند vnc، ssh، rdp، telnet، sftp را پشتیبانی می کند … از توانایی نظارت و ضبط اقدامات کاربر در هنگام استفاده کاربر از این پروژه برای مدیریت سرور خود پشتیبانی می کند! همچنین می‌توانید اکشن کاربر را مانند ویدیو پخش کنید. امیدوارم خوشتون بیاد

با داکر اجرا کنید

docker pull webterminal/webterminal
docker run -itd -p 80:80 -p 2100:2100 webterminal/webterminal
Login user & password
username: admin
password: password!23456

آن را با موفقیت فقط در یک ماشین مجازی اجرا کنید 1vCPU و 1G RAM. خوب

[node1] (local) [email protected] ~
docker run -itd -p 80:80 -p 2100:2100 webterminal/webterminal
Unable to find image 'webterminal/webterminal:latest' locally
latest: Pulling from webterminal/webterminal
5bed26d33875: Pulling fs layer 
f11b29a9c730: Pulling fs layer 
930bda195c84: Pulling fs layer 
78bf9a5ad49e: Waiting 
40bfa83ccba3: Waiting 
e0c622d8a177: Waiting 
a77fd2b28058: Pulling fs layer 
d23ecd878679: Waiting 
6396b0b41768: Waiting 
a0c3712d46f1: Pull complete 
5cf29e2c162f: Pull complete 
50fa1365dd0e: Pull complete 
df9b9e9a9ef4: Pull complete 
43b940435464: Pull complete 
8f805c3f9ffe: Pull complete 
c4b10cb83cab: Pull complete 
a6945596333f: Pull complete 
1b3ded0589ee: Pull complete 
b09dd8cf0745: Pull complete 
c2d92b59414c: Pull complete 
218a54c37087: Pull complete 
36be31be50c2: Pull complete 
6fcad3ac8e8e: Pull complete 
2eb58f11f849: Pull complete 
f1d9848986dd: Pull complete 
dbc8d56aa423: Pull complete 
199643251bfe: Pull complete 
606c39648549: Pull complete 
938714a329ae: Pull complete 
9db62e071241: Pull complete 
45109cc2cdf6: Pull complete 
f7ebbe9a19f6: Pull complete 
730f510e852c: Pull complete 
e9d93fd1fb19: Pull complete 
Digest: sha256:b7d3e783ec7ba021bf35d5da4dbca2f98319dc458f1b1160b6ef9ad4f62c4fe3
Status: Downloaded newer image for webterminal/webterminal:latest
558ff7acc25f22f0078bb644aad30b26875b3b52fb3c191ed2a37fcbad25e621
[node1] (local) [email protected] ~

صفحه ورود:

مراحل سریع برای پیکربندی:

1 اعتبارنامه های جدید اضافه کنید

2 یک سرور جدید اضافه کنید

3 به گروه سرور اضافه کنید

4 یک لیست مجوز جدید اضافه کنید

5 تماس بگیرید

6 ویدیو را بررسی کنید

فایل های رسانه ای جلسه ذخیره شده در این پوشه: /opt/webterminal/media

[opc@centos7-webterminal ~]$ sudo -i
[root@centos7-webterminal ~]# docker ps
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                                        NAMES
d6b4d1d991e9        webterminal/webterminal   "/docker-entrypoint.…"   2 weeks ago         Up 2 weeks          0.0.0.0:80->80/tcp, 0.0.0.0:2100->2100/tcp   charming_leakey
[root@centos7-webterminal ~]# docker exec -it charming_leakey /bin/bash
root@d6b4d1d991e9:/opt/webterminal# find . -type f -size +10000 -exec ls -lh {} \;
-r--r--r--. 1 root root 160M Apr  5 02:38 ./.git/objects/pack/pack-c5eb40daf95c7bcc45e9a967a09f40a577a762c0.pack
-rw-r--r--. 1 root root 8.5M Apr  5 02:38 './helper/Webterminal Helper.deb'
-rw-r--r--. 1 root root 23M Apr  5 02:38 './helper/Webterminal Helper.dmg'
-rwxr-xr-x. 1 root root 6.5M Apr  5 02:38 './helper/Webterminal Helper.exe'
-rw-r--r--. 1 root root 24M Apr  5 02:38 ./screenshots/screenshotsmac.gif
-rw-r--r--. 1 root root 5.5M Apr  5 02:38 ./screenshots/screenshotvnc.gif
-rw-r--r--. 1 root root 5.0M Apr  5 02:38 ./static/plugins/datatables/datatables.js
-rw-------. 1 root root 14M Jul 15 12:04 ./media/2020-7-15/bfe85783-c377-4302-9e86-89c1cabec1d4
-rw-------. 1 root root 14M Jul 15 12:04 ./media/2020-7-15/bfe85783-c377-4302-9e86-89c1cabec1d4.1
root@d6b4d1d991e9:/opt/webterminal# cd ./media/
root@d6b4d1d991e9:/opt/webterminal/media# ls
2020-6-30  2020-7-15  admin
root@d6b4d1d991e9:/opt/webterminal/media# pwd
/opt/webterminal/media
root@d6b4d1d991e9:/opt/webterminal/media#


جامپ سرور

قبل از نصب، بررسی می شود که آیا دستگاه شما حداقل دارد یا خیر 2 vCPU و 4G RAM. برای عملکرد بهتر توصیه می شود یک VM با سایز 4C8G داشته باشید. این حداقل نیاز است.

نصب JumpServer با یک کلیک از وب سایت Doc:

curl -sSL https://github.com/jumpserver/jumpserver/releases/download/2.0.1/quick_start.sh | sh

دستور استقرار سریع یک کانتینر.

docker run --name jms_all -d \
  -p 80:80 -p 2222:2222 \
  -e SECRET_KEY=PleaseChangeMe \
  -e BOOTSTRAP_TOKEN=PleaseChangeMe \
  jumpserver/jms_all:latest

all-in-one Quick Deployment

docker volume create jsdata &> /dev/null
docker volume create pgdata &> /dev/null
docker run --name jms_all -d\
     -e SECRET_KEY=PleaseChangeMe \
     -e BOOTSTRAP_TOKEN=PleaseChangeMe \
     -v jsdata:/opt/data \
     -v pgdata:/var/lib/postgresql \
     -p 2222:2222 \
     -p 80:80 jumpserver/jms_all

می توانید این را در محیط Docker Lab در KodeKloud.com تست کنید.

  • https://kodekloud.com/studio/labs/

حساب پیش فرض:

User: admin
Password: ChangeMe

داشبورد

مراحل پیکربندی:
1 ایجاد دارایی – کاربران مدیر

2 ایجاد دارایی – کاربر سیستم

3 ایجاد دارایی – دارایی

4 ایجاد مجوز – مجوزهای دارایی

5 اتصالات RDP / SSH – جلسات – پایانه وب

6 Sftp – Sessions – File Manager

7 ضبط: Sessions – Sessions

استفاده از منابع داکر:

شناسه کانتینر نام CPU % استفاده از MEM / MEM LIMIT % NET I/O BLOCK I/O PIDS

dfccbd9f20ef jms_all 2.45% 2454 گیگا بایت / 31.42 گیگابایت 7.81% 621 کیلوبایت / 4.87 مگابایت 180 مگابایت / 91.4 مگابایت 226

اسکرین شات ها:

Cloudflared Zero Trust Tunnel

2. روی Zero Trust – Networks – Connectors – Create a tunnel کلیک کنید

3. Cloudflared را انتخاب کنید

4. نام تونل – نصب و اجرای کانکتورها – انتخاب سیستم عامل، ویندوز، لینوکس – دبیان

برای سیستم آلپاین:

  • https://gist.github.com/sarkrui/a2998f3a6256a43a5a41dbf5edf5947f

در اینجا مراحل نصب Cloudflared آورده شده است.

# Download the latest version of cloudflared
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -O /usr/bin/cloudflared

# Give executable permissions to the downloaded file
chmod +x /usr/bin/cloudflared

# Check the version of cloudflared to confirm the installation
cloudflared -v

o سرویس Cloudflared را در دستگاه خود راه اندازی کنید، مراحل زیر را دنبال کنید:

# Start the service
/etc/init.d/cloudflared start

# Remove the service from the default runlevel (just in case it was added earlier)
rc-update del cloudflared

# Add the service to the runlevel again (this ensures that the service starts automatically when the system boots)
rc-update add cloudflared

# Start the service immediately
rc-service cloudflared start

# Add the service to the default runlevel
rc-update add cloudflared default

همین! شما با موفقیت Cloudflared را در سیستم Alpine خود نصب و پیکربندی کرده اید.

5. تونل / برنامه خود را منتشر کنید

– می توانید چندین برنامه را با استفاده از یک تونل منتشر کنید

– یک زیر دامنه انتخاب کنید (ممکن است لازم باشد آن را به رجیستری دامنه خود اضافه کنید مانند ezoic)

– دامنه و نوع سرویس (مثلا http) و سپس آدرس اینترنتی (مثلا localhsot:80) را انتخاب کنید.

6. کنترل دسترسی – برنامه های کاربردی

7. قوانین دسترسی:

برای اجرای احراز هویت برای این برنامه، قوانین جدیدی ایجاد کنید یا قوانین موجود خود را انتخاب کنید

به عنوان مثال احراز هویت ایمیل. فقط از ایمیل های خاصی می توان برای دریافت کد احراز هویت استفاده کرد.

8. تست کنید.

بعد از اینکه تغییر خود را ذخیره کردید، هر دسترسی به url https:// شما را به این صفحه دسترسی cloudflare هدایت می کند:

ویدیوها در یوتیوب


Source link

نوشته های مشابه

دیدگاهتان را بنویسید

دکمه بازگشت به بالا