نحوه بک‌ آپ‌ گیری و ریستور کردن بانک اطلاعاتی از طریق SSh

نحوه بک‌ آپ‌ گیری و ریستور کردن بانک اطلاعاتی از طریق SSh

3.8kviews

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

نحوه بک‌ آپ‌ گیری و ریستور کردن بانک اطلاعاتی از طریق SSh

برای این‌که بتوانید از بانک اطلاعاتی خود بک‌ آپ‌ گیری انجام دهید و یا ریستور بک‌ آپ را انجام دهید از طریق ssh به سرور خود لاگین نمائید.

بک‌ آپ‌ گیری

برای بک‌ آپ‌ گیری از دیتابیس دستور زیر را وارد کرده و Enter کنید:

 

mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql

برای ریستور کردن دیتابیس دستور زیر را وارد نمائید:

 

mysql -u root -p[root_password] [database_name] < dumpfilename.sql
در دستورات بالا در قسمت root_password باید پسورد دیتابیس موردنظر و در قسمت database_name نام دیتابیس و در قسمت dumpfilename.sql فایلی را که می‌خواهیم از آن بک‌آپ تهیه کنیم با ریستور کنیم را وارد می‌کنیم.

نحوه بک‌ آپ گرفتن کامل از سیستم با rsync

2.2kviews

در این مقاله می‌خواهیم با استفاده از دستور rsync تمامی مسیر / بجر چند فولدر خاص را منتقل کنیم. این روش نسبت به روش کپی کردن دیسک، که با دستور dd صورت می‌گیرد، بسیار مناسب‌تر است، زیرا اجازه می‌دهد از پارتیشن‌ها و فایل سیستم‌های متفاوت و سایزهای متفاوت دیسک بهره‌مند شویم.

نحوه بک‌ آپ گرفتن کامل از سیستم با rsync

همچنین از روش کپی کردن cp –a بهتر است زیرا کنترل بیشتری بر روی سطوح دسترسی، صفات و Access Control Lists و extended attributes به ما می‌دهد. تمامی روش‌های فوق برای کپی کردن یک سیستم در حال اجرا قابل استفاده است اما فایل‌هایی که در این مدت تغییر می‌کند ممکن است منتقل بشوند یا نشوند.

rsync

که این مورد برای برخی از نرم‌افزارهایی که با فایل‌های تغییر داده کار می‌کنند ممکن است مشکلی بوجود بیاورند. این روش همچنین برای مهاجرت از یک هارد دیسک به هارد دیسک دیگر و یا از یک سیستم عامل به سیستم عامل دیگر مناسب است.

با یک تک دستور

دستور زیر را تحت یک کاربر root اجرا کنید تا مطمئن شوید rsync به تمامی فایل‌های موجود و فایل‌های سیستمی می‌تواند دسترسی داشته باشد و مالکیت آن‌ها را حفظ کند.

# rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /path/to/backup/folder

با استفاده از سوئیچ aAX– این تنظیمات را انجام می‌دهیم که تمامی فایل‌ها در قالب فشرده شده به‌صورتی‌که تمامی لینک‌های نمادین فایل‌ها به حالت آرشیو منتقل می‌شوند. اطمینان داشته باشید که لینک‌های نمادین، دستگاه‌ها، سطوح دسترسی‌ها و مالکیت‌ها، تغییرات زمانی، ACL ها و ویژگی‌های توسعه تماما حفظ می‌شوند (با در نظر گرفتن این‌که سیستم عامل مقصد از این موارد پشتیبانی می‌کند).
سوئیج exclude- این اجازه را به شما می‌دهد تا مسیرهای مشخصی را نادیده بگیرید. برای مثال محتوای پوشه‌های dev, /proc, /sys, /tmp, /run در دستور فوق حذف شده‌اند. زیرا پوشه‌ها در هنگام بوت شدن سیستم لود می‌شوند (هرچند که آن‌ها حقیقتا ساخته نمی‌شوند). مسیر /lost+found یک مسیر مخصوص فایل سیستم است.

نکات مهم

  • اگر تمایل به بکاپ گرفتن از سیستم‌تان و مدیریت سرور بهترتان را در مسیری غیر از /mnt یا /media را دارید مطمئن شوید که آن‌ها در مسیر exclude وجود داشته باشند در غیر این‌صورت یک چرخه بی‌نهایت ایجاد خواهید کرد.
  • اگر مسیرهای مشخصی را در سیستم خود mount کرده‌اید، آنها را نیز باید از لیست Bound خود حذف کنید چرا که فقط لازم است یکبار محتوای آن‌ها کپی شود.
  • اگر از فایل swap هم استفاده می‌کنید اطمینان حاصل کنید که آن فایل‌ها در لیست استثناها باشند.
  • چنان‌چه بخواهید مسیر /home/ را منتقل کنید عموما این پوشه اطلاعات بیشتری به نسبت پوشه‌های سیستمی دارد. استثنا کردن یک تعداد از فایل‌های غیر نیاز مانند /home/*/.thumbnails/*, /home/*/.cache/mozilla/*, /home/*/.cache/chromium/*, /home/*/.local/share/Trash/* به شما کمک می‌کند که فضای کمتری اشغال کنید و اطلاعات مورد نیاز را منتقل نکنید که این مورد بسته به نرم‌افزارهای روی سستم ممکن است متفاوت باشد.
  • شما همچنین می‌توانید دستورات و سوئیچ‌های بیشتری را به rsync اضافه کنید. (جهت مشاهده لیست کامل این دستورات man rsync را کلیک کنید):
  • اگر از تعداد زیادی hardlink استفاده می‌کنید حتما دستور H- را اضافه کنید. این دستور به صورت پیش‌فرض به دلیل مصرف بالای حافظه رم غیرفعال است هرچند که در اکثر سیتسم‌های جدید مشکلی بوجود نمی‌آورد. خیلی از مسیرهای Hardlink در پوشه /usr/ قرار دارند.
  • ممکن است تمایل داشته باشد دستور –delete را به دستور اصلی خود اضافه کنید، چنان‌چه می‌خواهید چندین بار این دستور را بر روی پوشه بکاپ خود اجرا کنید. این سوئیچ به شما این اطمینان را می‌دهد مسیرها هیچگاه بصورت /* نشوند.
  • این مورد فقط بر روی فایل‌هایی که درون زیر پوشه‌های پوشه اصلی وجود دارند اتفاق می‌افتد اما بر روی فایل‌های موجود در پوشه اصلی اثری ندارد.
  • اگر از فایل‌هایی که بصورت هارد مجازی استفاده می‌شوند مانند virtual disks ، Docker images و مشابه آن شما باید دستور S- را استفاده کنید.
  • سوئیچ numeric-ids– این اجازه را به شما می‌دهد که ارتباط بین نام کاربری و نام گروه‌ها را غیرفعال کنید و به جای آنها از شناسه گروه‌ها و کابران برای انتقال استفاده کنید. این روش به شما این اطمینان را می‌دهد که در صورت انتقال بر روی SSH فایل سیتسم فعال شما بتواند به سیستم دیگری منتقل شود.
  • استفاده از سوئیچ info=progress2 — به جای v- پروسه و سرعت انتقال کپی کردن اطلاعات را به شما نشان می‌دهد.
  • اگر نیاز داشتید که بکاپ خود را بازیابی کنید از همان دستور rsync که در ابتدا استفاده کردید به کار ببرید فقط منبع و مقصد را باید معکوس نمائید.

نیازمندی‌های بوت شدن:

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

اگر شما فایل‌های سیستمی را در پوشه‌ها یا پارتیشن‌های متفاوتی منتقل کرده‌اید و می‌خواهید آن‌ها را بوت کنید این روش به راحتی آپدیت کردن فایل /etc/fstab بر روی فایل تنظیمات bootloader خود است. که به راحتی با Edit کردن این فایل می‌توانید این کار را انجام دهید. در ادامه این تصور را داریم که شما به صورت کامل سیستم خود را بکاپ گرفته‌اید و بر روی یک هارد، یک درایو و یا یک پارتیشن دیگر آن‌ها را بازیابی کرده‌اید و سیستم بوت فعلی شما به درستی کار می‌کند و می‌خواهید که از روی بکاپ نیز بوت شما به درستی کار کند.

به‌روزرسانی fstab

پس از انتقال اطلاعات قبل از اینکه سیستم خود را Restart نمائید فایل fstab را باز کنید و تمام محتوای آن را حذف کنید و یک رکود پارتیشن بکاپ را مانند نمونه زیر در سیستم اضافه کنید.

به‌روزرسانی fstab

/dev/sdaX / ext4 defaults 0 1

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

به‌روزرسانی فایل تنظیمات bootloaderها:

در syslinux تنها کاری که لازم است این است که یک کپی از رکورد مورد نظر تهیه کرده و فقط مسیر درایو یا پارتیشن را تغییر دهید.

نکته: به جای ویرایش syslinux.cfg، شما می‌توانید در زمان بوت به صورت موقت منو را ویرایش کنید. وقتی که منو نشان داده می‌شود کلید تب را فشار دهید و ورودی‌های مربوطه را تغییر دهید. پارتیش‌ها از یک و درایوها از صفر شمارش می‌شوند.

برای Grub توصیه می‌شود که به صورت خودکار فایل‌های تنظیمات را ایجاد کنید. اگر نیاز دارید که تمامی فایل‌های Grub را در مسیری به غیر از /boot مانند مسیر /mnt/newroot/boot ، از دستور –boot-directory flag استفاده کنید.
همچنین اطمینان حاصل کنید که ردیف درج شده در /boot/grub/grub.cfg شناسه هارد دیسک (UUID) با پارتیشن جدید همخوانی دارد در غیر این‌صورت سیستم همچنان از سیستم قدیمی بوت می‌شود. با استفاده از دستور زیر می‌توانید UUID هر پارتیشن را پیدا کنید:

# lsblk -no NAME,UUID /dev/sdb3

پس از جابجا کردن پارتیشن مورد نظر خود، برای مشاهده کردن UUID هایی که Grub می‌تواند از روی آن‌ها بوت کند دستور زیر را استفاده کنید.

# grep UUID= /boot/grub/grub.cfg

اولین Boot:

تمامی مسیرهای موقتی حذف شده و پوشه‌هایی که در مسیر / خالی بودند با اطلاعات جدید پر می‌شوند. حالا شما می‌توانید با ویرایش کردن مجدد فایل /etc/fstab مسیرهای مورد و پارتیشن‌ها و mount point نظر خود را مجدد ایجاد نمائید.

نحوه Zip و Unzip کردن فایل‌ ها به وسیله SSH

نحوه Zip و Unzip کردن فایل‌ ها به وسیله SSH

7.6kviews

در این مطلب، قصد داریم تا در مورد نحوه Zip و Unzip کردن فایل‌ ها به وسیله SSH، در مرکز آموزش زاگریو صحبت کنیم، تا به شما در زیپ و آنزیپ کردن فایل‌هایتان کمک کنیم.

نحوه Zip و Unzip کردن فایل‌ ها به وسیله SSH

در ادامه به بررسی این مورد به وسیله SSH خواهیم پرداخت :

نحوه Zip و Unzip کردن فایل‌ ها به وسیله SSH

مطالعه این مقاله را نیز از دست ندهید : 

دستورات مفید SSH برای مدیریت CFS

1. ابتدا از طریق نرم‌افزار Putty و یا Terminal به سرور خود متصل شوید.

برای ZIP کردن فایل‌ها دستور زیر را تایپ کنید:

# zip -r myarchive.zip myfolder

این دستور یک آرشیو ZIP شده از تمامی فایل‌ها و sub directorie ها ایجاد می‌کند.

2.  به سرور می‌گوید که تمامی فایل‌ها و sub directorie را شامل شود.

  • myarchive.zip: نام پوشه ZIP شده که می‌خواهیم ایجاد کنیم.
  • myfolder: نام پوشه‌ای که می‌خواهیم آنرا ZIP کنیم.

3. برای UNZIP کردن فایل ها دستور زیر را استفاده نمائید:

# unzip myarchive.zip

myarchive.zip نام فایلی است، که می‌خواهیم آن را از حالت فشرده خارج کنیم.

WINDOWS BACKUP

بررسی کلی و آموزش Windows Backup

6.6kviews

در Windows Backup، هدف این است که در صورت خلل در سخت افزارتان و پاک شدن اطلات به بازیابی سریع و قابل اعتماد داده هایتان دسترسی داشته باشید و همیشه در اختیارتان باشند.

آموزش Windows Backup

بکاپ ویندوز سرور یا Windows Backup Wizard شامل پنجره‌های کنسول مدیریت مایکروسافت (MMC)، ابزارهای خط فرمان و cmdletهای Windows powershell است که راه‌حلی کامل برای تهیه بکاپ‌ها و بازیابی‌های مورد نیاز برای شما را فراهم می‌کند. شما با استفاده از بکاپ ویندوز سرور می‌توانید  از کل سرور یا از فایل‌ها، فولدرهای خاص، فضاهای انتخاب شده و … بک‌آپ تهیه کنید.

شما می‌توانید با استفاده از بکاپ ویندوز سرور، بکاپ را بر روی یک کامپیوتر محلی یا یک کامپیوتر راه دور ایجاد و مدیریت کنید. همچنین می‌توانید با استفاده از Backup Schedule Wizard در بکاپ ویندوز سرور به صورت اتوماتیک هر روز یا هرچند روز یک‌بار یک بکاپ برنامه‌ریزی شده را اجرا کنید.

خرید هاست

هنگام استفاده از Windows Server Backup باید این نکات را در نظر بگیرید:

  • برای استفاده از این کنسول باید کاربر شما حتما عضو گروه Administrator یا Backup Operators باشد.
  • برای ریکاوری کردن سیستم عامل یک ویندوز باید از System State Backup همان ورژن از ویندوز استفاده کنید. یعنی نمی‌توانید از System State Backup ویندوز ۲۰۰۸ برای ریکاوری OS ویندوز ۲۰۰۸R2 استفاده نمایید.

بکاپ‌گیری در Windows Backup را می‌توان به دو صورت تقسیم‌بندی کرد:

1. بکاپ‌گیری به صورت دستی (Manual Backup): شما می‌توانید با استفاده از Backup Once Wizard که در Windows Server Backup وجود دارد یک بکاپ بر روی کامپیوتر خود ایجاد کنید. همچنین با استفاده از فرمان‌های Wbadmin start backup و یا  Wbadmin start systemstatebackup و یاWindows PowerShell  cmdlets  برای windows Server یک بکاپ یک‌باره تهیه کنید.
2. بکاپ‌گیری به صورت اتوماتیک (Automatic Backup): شما می‌توانید با استفاده از گزینه Backup Schedule Wizard در Schedule Backup به صورت روزانه یا هر چند روز یک‌بار بکاپ تهیه کنید. همچنین می‌توانید با استفاده از فرمان‌های Wbadmin enable backup  و  Windows PowerShell cmdlets یک بکاپ زمان‌بندی شده ایجاد کنید.

معرفی انواع Backup ها در:

Full Server all volumes: از تمام Volume ها Backup تهیه می‌کند و شما می‌توانید از آن برای انواع ریکاوری‌ها استفاده کنید. از جمله Recovery System State و Bare metal Recovery

Critical volumes/Bare metal recovery: از این گزینه برای Backup گیری از اطلاعات لازم برای ریکاور کردن سیستم عامل استفاده کنید.

System Stateاین گزینه فقط از اطلاعات لازم برای ریکاور کردن System State dataها نسخه پشتیبان تهیه می‌کند. این اطلاعات عبارت‌اند از:
  • اطلاعات رجیستری
  • Boot fileها و فایل های سیستمی
  • اطلاعات مربوط به سرویس Certificate، اگر کامپیوتر شما یک Certificate Server باشد.
  • اطلاعات مربوط به Active Directory، اگر کامپیوتر شما عضو یک Domain باشد.
  • SYSVOL directory، اگر کامپیوتر شما یک DC باشد.
  • اطلاعات مربوط به Clusterها، اگر چنین اطلاعاتی وجود داشته باشد.

Individual volumes: فقط از یک Volume که شما تعیین می‌کنید، Backup می‌گیرد.

Folders or files

فقط از فایل‌ها و فولدرهایی که شما تعیین می‌کنید، Backup گرفته می‌شود.

قبل از شروع باید مشخص کنید که هر چند روز یک‌بار و در چه زمانی می‌خواهید برنامه بکاپ اجرا شود و مشخص کنید که بکاپ را کجا می‌خواهید ذخیره کنید؟ بر روی یک دیسک یا چند دیسک، بر روی یک پوشه اشتراکی راه دور و یا … و اینکه باید مشخص کنید که از کدام فایل یا فولدر می‌خواهید بک آپ تهیه کنید.
بعد از انتخاب و برنامه‌ریزی نوع بکاپ باید در مورد مکان ذخیره‌سازی بک آپ تصمیم بگیرید. برای انتخاب مکان ذخیره‌سازی بکاپ باید با انواع ذخیره‌سازی آشنایی داشته باشید که در ادامه توضیح داده شده است.

۱- Remote Shared Folder

شما می‌توانید هر دو نوع بکاپ را (On-Time Backup و Schedule Bacakup) را بر روی فولدر اشتراکی راه دور ذخیره کنید. اگر بکاپ را بر روی فولدر اشتراکی راه دور ذخیره کنید، بکاپ شما هر زمان که یک بکاپ جدید ایجاد می‌شود شما گزینه‌ای را ندارید که بتوانید انتخاب کنید بکاپ‌های متعددی ذخیره کنید. همچنین اگر بکاپی را که بر روی فولدر اشتراکی ایجاد کنید که از قبل بکاپی بر روی این قرار گرفته، اگر بکاپ‌گیری شما با شکست بخورد ممکن است که بکا‌پ‌های قبلی را هم از دست بدهید و هیچ بک آپی نداشته باشید.

۲- DVD – Other optical media or Removeable media

شما می‌توانید فقط On – Time Backup را بر روی Removable media یا Optical ذخیره کنید. همچنین می‌توان بکاپ ذخیره شده بر روی Removable media یا Optical را برای بازیابی تمام فضاها یا Bare Mental استفاده کنید و نمی‌توانید Aplicatios، فایل‌ها و حالت‌های سیستم را از روی بکاپ ذخیره شده در Optical or Removable media بازیابی کنید.

بکاپ ذخیره شده بر روی DVD ها فشرده خواهد بود و کمتر از بک آپ ذخیره شده بر روی هارد دیسک فضا اشغال می‌کند.

مدیریت سرور

۳- Internal Hard Disk:

شما می‌توانید  هر دو نوع بکاپ (On- Time Backup و Schedule Backup) را بر روی دیسک با فرمت NTFS و با جدول پارتیشن GUID با فرمت GPT ذخیره کنید. اگر شما Schedule Backup را بر روی دیسک ذخیره کنید شما یک گزینه مختص برای ذخیره‌سازی روی دیسک دارید بنابراین دیسکی که شما انتخاب می‌کنید برای ذخیره Schedule Backup اختصاص می‌یابد و در ویندوز اکسپلورر قابل مشاهده است.

۴- External Hard Disk:

اگر شما بکاپ خود را بر روی یک هارد دیسک خارجی با فرمت NTFS یا GPT ذخیره کنید می‌توانید:
  • فایل‌ها و فولدرها و Aplication ها و Volumeها را بازیابی کنید.
  • اگر بکاپ کورد استفاده شامل آیتم‌های مورد نیاز باشد می‌توانید بازیابی حالت سیستم و سیستم عامل را انجام دهید.
  • می ‌توانید  بک آپ را برای حفاظت بیشتر جابجا کنید.
  • می‌توانید حالت سیستم را بازیابی کنید اگر بکاپ مورد استفاده شامل حالت سیستم باشد.

در ادامه برای دسترسی به ابزارهای بکاپ ویندوز سرور باید این ابزارها را نصب کنیم که در زیر مراحل نصب این ابزارها را برای شما توضیح می‌دهیم:

نصب Windows Server Backup Tools

برای دسترسی به ابزارهای Backup  و Recovery و همچنین سیستم‌های وابسته‌ای که در Add features Wizard در Server Manager موجود هستند باید windows Server Backup Feature را نصب کنیم.
برای نصب ابزارهای Backup  و Recovery:
۱- بر روی Start  کلیک می‌کنیم. گزینه Administrative Tool را انتخاب می‌کنیم. سپس بر روی Server Manager کلیک می‌کنیم. در پنجره سمت چپ بر روی Feature کلیک می‌کنیم و در پنجره سمت راست گزینه Add Features را کلیک کرده، Add Feature wizard باز می‌شود.
۲- در پنجره Add Feature Wizard با کلیک بر روی Select Features ویژگی‌های بکاپ نمایان می‌شود، سپس چک باکس‌های ابزارهای خط فرمان و بکاپ ویندوز را انتخاب می‌کنیم.
۳- در صفحه Confirm Installation Selection گزینه‌هایی را که انتخاب کرده‌ایم بررسی می‎کنیم و بر روی Install کلیک می‎‌کنیم. اگر در هنگام نصب خطایی رخ بدهد در صفحه Installation error مشخص می‌‎شود.
۴- برای دسترسی به گزینه بکاپ با کلیک بر روی Start و انتخاب گزینه Administrative Tools و در نهایت با انتخاب گزینه windows Server  Backup به این گزینه برای اجرای بکاپ دسترسی می‎‌یابید.
زاگریو
Windows Server 2012 : آموزش نصب Core Mode | بخش اول

Windows Server 2012 : آموزش نصب Core Mode | بخش اول

3.9kviews

در بخش اول آموزش نصب Windows Server 2012 Core Edition را به شما آموزش خواهیم داد، در بخش دوم نحوه مدیریت کردن این سیستم را از طریق روش‌های مختلف به شما آموزش می‌دهیم.

آموزش نصب – Core Mode – بخش اول

به دلیل عدم وجود رابط گرافیکی GUI مزایای زیر برای این نسخه بسیار محسوس است:
۱- سرعت بالاتر در لود سیستم عامل Boot Speed
۲- پایداری بسیار بالا به نسبت نسخه گرافیکی
۳- عدم هنگ و یا Crash سیستم به علت رابط گرافیکی
۴- مصرف بسیار پایین منابع سرور مانند CPU & RAM
۵- عدم دریافت بروزرسانی‌های زیاد که بیشتر مربوط به GUI است.
۶- به دلیل عدم وجود GUI بسیاری از مشکلات امنیتی که ممکن است در رابط گرافیکی وجود داشته باشد وجود ندارد.
۷- کاربر با سیستم گرافیکی کار نمی‌کند در نتیجه عدم نصب برنامه‌های غیرضروری بر روی سرور مشکلات کمتری بوجود می‌آورد.
۸- اشغال حجم کمتری از هارد دیسک
و بسیاری از موارد دیگر که در مقاله‌ای جداگانه به آن خواهیم پرداخت.

دریافت ویندوز Windows Server 2012:

با استفاده از این لینک آخرین نسخه Windows 2012 را دریافت نمائید. (نسخه Evaluation است)

مدیریت سرور

مراحل نصب :

پس از راه‌اندازی سیستم عامل از طریق DVD همانند نسخه‌های دیگر با صفحه زیر روبرو می‌شوید، زبان موردنظر خود را انتخاب و بر روی دکمه Next کلیک کنید.

Windows Server 2012

بر روی دکمه Install Now کلیک کنید.

Windows Server 2012

در این صفحه باید نسخه موردنظر خود را انتخاب کنید. در این مثال بر روی Windows Server 2012 Datacenter Evaluation (Server Core Installation) x64 کلیک می‌کنیم.
تفاوت نسخه Datacecnter و Standard در این است که نسخه Datacenter به شما اجاره استفاده لایسنس نامحدود Virtual Machine را می‌دهد در صورتی که نسخه Standard اجازه داشتن دو یا کمتر را می‌دهد. نسخه استاندارد عموما برای سرورهای استفاده می‌شود که به عنوان Hyper-V سرور استفاده نمی‌شوند و بیشتر برای نرم‌افزارها، سرویس‌ها و وب‌سایت‌ها استفاده می‌شود. در این قسمت بر روی گزینه Next کلیک می‌کنیم.

Windows Server 2012

حالا باید با شرایط و قوانین Licensing Terms موافقت نمائیم، گزینه I Accept .. را انتخاب و بر روی گزینه Next کلیک کنید.

حالا با توجه به اینکه قصد بروزرسانی و یا نصب جدید را دارید گزینه مورد نظر خود را انتخاب کنید، در این آموزش ما گزینه Custom: Install Windows only (advanced) را انتخاب می‌کنیم.

درصورتی‌که مایل به پارتیشن‌بندی هستید بر روی گزینه (Drive Options (advanced کلیک کنید، در غیر این‌صورت بر روی گزینه Next کلیک کنید.

حالا باید سیستم به حالت نصب برود. پیشنهاد می‌کنیم در این مرحله یک لیوان چای بنوشید و از سرویس‌های ما دیدن فرمائید :

خرید سرور مجازی

پس از نصب سرور و بوت شدن مجدد سیستم باید برای کاربر Administrator یک رمز عبور انتخاب نمائید، رمز عبور را دو دفعه وارد و ادامه دهید:

پس از ورود شما فقط یک صفحه سیاه رنگ مشاهده می‌کنید، با تایپ کردن دستور help می‌توانید لیستی از دستورات قابل اجرا را مشاهده نمائید.
برای مشاهده اطلاعات سیستم دستور systeminfo را تایپ نمائید، همچنین دستور ipconfig را وارد نمائید.

با استفاده از این دستور می‌توانید اطلاعات IP سیستم را مشاهده نمائید، این اطلاعات به شما کمک میکند تا بتوانید از راه دور این سرور را کنترل نمائید.
در بخش دوم این آموزش استفاده از ابزار Remote Server Administration Tool را در Windows Server 2012 به شما آموزش خواهیم داد.

میزبانی وب زاگریو

سرور Reverse Proxy

سرور Reverse Proxy: نحوه راه‌اندازی برای Skype for Business با استفاده از Microsoft IIS ARR 3.0

6.2kviews

در هفته گذشته اسکایپ بیزینس ، را برای یک شرکت بین‌المللی راه اندازی کردم، نحوه نصب و راه‌اندازی این سرویس دارای مستندات بسیاری به زبان انگلیسی در Technet و تعداد زیادی آموزش متنی و تصویری به زبان فارسی است، در این مقاله (در زاگریو) قصد داریم راه اندازی ایت سرویس با سرور Reverse Proxy را به شما آموزش دهیم.

دلیل نگارش این مقاله آموزش همگانی و همچنین مراجعات آتی خودم در صورت نیاز به آن است تا نیاز مجدد به عیب‌یابی سیستم‌ها نداشته باشم. اگر در حال گسترش و یا برنامه‌ریزی برای نصب Lync یا Skype4B هستید و قصد دارید این سرویس را در خارج از سازمان خود نیز استفاده کنید، یا با سیستم دیگری ارتباط Federation برقرار کنید، قطعا به یک Reverse Proxy همچون IIS ARR (همچنین سروری با وظایف Edge) نیاز دارید.

reverse proxy چیست؟

Reverse Proxy یکی از سرویس‌های Lync نیست و در اصل سرویسی جانبی برای تکمیل Skype4B است، به همین دلیل در هیچ یک از منابع همراه نرم‌افزار و یا در Topology Builder آن را مشاهده نخواهید کرد. این سرویس درخواست‌های کاربران را از طرف ایشان به سمت سرورهای داخلی هدایت کرده و پاسخ را به ایشان باز می‌گرداند. این ویژگی به کاربران خارج از سازمان این اجازه را می‌دهد تا به منابع داخلی سازمان به صورت کنترل شده متصل شده و از خدمات ذیل بهره‌مند شوند:

ویژگی‌های سرویس Reverse Proxy

  • مجوز دانلود محتوای Meetingها به کاربران بیرون سازمان
  • اجازه دانلود محتوای Address Bookها به کاربران بیرون سازمان
  • مجوز دسترسی به سرویس Lync Web App Client
  • اجازه دسترسی به صفحه Dial-in Conferencing
  • فراهم کردن دسترسی به سرویس Location Information (موقعیت مکانی)
  • فراهم کردن دسترسی کاربران بیرونی به صفحه به روزرسانی (Device Update Web Service)
  • فعال کردن امکان دسترسی به URLهای سرویس Lync Mobility
  • امکان استفاده از سرویس Lync Discover و هدایت منابع مورد نیاز به کاربران خارج سازمان

خدمات سرویس Reverse Proxy در اکثر فایروال‌ها و لود بالانسرهای امروزی به صورت یک امکان فراهم شده است. هر چند مثل یک دستگاه اختصاصی امنیتی مثل Cisco ASA از لحاظ کنترل و مدیریت عمل نمی‌کنند، با این حال این وظیفه را نیز می‌توان به Internet Information Services  با افزونه Application Request Routing یا به اختصار IIS ARR محول نمود.

پیش‌نیازهای سرور Reverse Proxy

سرور ARR، در یک شبکه DMZ یا ابتدایی باید قرار داشته باشد مایکروسافت پیشنهاد می‌کند که یک شبکه حقیقی DMZ توسط دو فایروال داخلی و خارجی مطابق تصویر زیر وجود داشته و سرویس Reverse Proxy در آن محل قرار داشته باشد به صورتی که کاملا از شبکه داخلی شما مجزا باشد.

پیش‌نیازهای سرور Reverse Proxy

هر چند به طور کلی (خیلی کلی) با تکنولوژی‌ها و راه‌کارهایی روبرو هستیم که تنها در آنها یک فایروال وجود دارد و سرور Reverse Proxy دارای یک ارتباط با شبکه داخلی مطابق تصویر زیر است که به اصطلاح به آن شبکه ۳ پایه ای (۳-legged Firewall) نیز می‌گویند.

فرای بحث نوع و ساختار شبکه سرور باید دارای ۲ کارت شبکه هر یک در یک شبکه جداگانه باشد.

سرورهای Front End بر روی پورت ۴۴۴۳ آماده دریافت درخواست های کاربران بیرونی است.

درخواست‌ها ابتدا از پورت ۴۴۳ دریافت شده و پس از تبدیل آن به پورت ۴۴۴۳ توسط Reverse Proxy به سمت Front End Pool ارسال می‌شوند.

سرویس Reverse Proxy یکی از آخرین سرویس‌هایی است که شما برای Lync یا Skype4B نصب می‌کنید. شما ابتدا باید دارای یک شبکه داخلی کامل و راه‌اندازی شده به همراه سرورهای Edge باشد تا بتوانید از این سرویس بهره‌برداری کنید.

موارد زیر باید ابتدا بر روی سرور انجام شود:

  • نصب حداقل ویندوز ۲۰۰۸ برای سیستم عامل
  • تخصیص IP های دستی به هر دو کارت شبکه
  • نصب تمامی به روزرسانی‌های سیستم عامل
  • تعیین نام سیستم به همراه دامنه موردنظر
  • تغییر WorkGroup  کامپیوتر (سرور نباید Domain Join باشد – با تنظیمات خاص در فایل HOST امکان‌پذیر است)
  • افرودن نام دامنه به DNS Suffix نام سرور
  • نصب Root CA سرور داخلی
  • اضافه نمودن یک رکورد A به سرور DNS داخلی برای سرور

آداپتور خارجی سرور باید دارای Default Gateway باشد، نه کارت شبکه داخلی، همچنین در صورتی که هر کارت شبکه شما دارای یک Subnet است استفاده از DNS های داخلی بلامانع است (مانند ساختار شبکه دوم در بالا) و یا درصورتی‌که سرور شما در یک شبکه DMZ واقعی است (تصویر اول) در این صورت لازم است یک Route مستقیم به سمت سرورهای Front End و سرورهای Office Web App خود داشته باشید. همچنین باید برای اطمینان از امکان دسترسی به سرورهای داخلی با تغییر محتویات فایل host برای مسیرهای meet, dialin, lyncdiscover و lyncwebexternal به سمت سرور Front End اطمینان حاصل نمائید.

نصب و تنظیم IIS ARR

برای این کار من از یک سرور Windows 2012 R2 استفاده می‌کنم که همانند دیاگرام اول در شبکه DMZ وجود دارد، این تنظیمات ممکن است در سیستم عامل‌های دیگر کمی متفاوت باشد.

مرحله اول : « نصب IIS »

با توجه به علاقه شخصی من به PowerShell دستورات نصب را حتی‌الامکان از این طریق انجام می‌دهم.

Install-WindowsFeature Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-Net-Ext,Web-Http-Logging,Web-Request-Monitor,Web-Http-Tracing,Web-Filtering,Web-Stat-Compression,Web-Mgmt-Console,NET-Framework-Core,NET-Win-CFAC,NET-Non-HTTP-Activ,NET-HTTP-Activation,RSAT-Web-Server -IncludeManagementTools

مرحله دوم : « نصب Application Request Routing »

ابتدا فایل موردنظر را از لینک زیر دانلود کنید، در صورت فعال بودن Web App Installer با تصویر زیر روبروی می‌شوید:

http://www.iis.net/downloads/microsoft/application-request-routing

IISARR2

.در این مرحله با تایید پیش‌نیازهای لازم (در زمان نگارش این مقاله) که در زیر نشان داده شده است سرویس را نصب خواهیم نمود

IISARR3

پس از اتمام تاییدیه زیر را مشاهده خواهیم نمود:

IISARR4

مرحله سوم : « نصب گواهینامه های امنیتی برای سرور Reverse Proxy »

همانطور که در قسمت پیش‌نیازها ذکر شد لازم است گواهینامه ریشه شبکه داخلی در مخزن Local Computer Trusted Root Certificate Authorities نصب شود.

سپس گواهینامه‌های امنیتی خارجی خود را که باید به همراه SAN های موردنظر باشد را نیز بر روی سرور نصب می‌کنیم.

شما می‌توانید با استفاده از گواهینامه‌های امنیتی Multi Domain SSL با قابلیت SAN میزبانی زاگریو برای تامین امنیت سرورهای خود اقدام نمائید (نحوه تهیه این گواهینامه‌ها خارج از بحث این مقاله است)

در قسمت Servers Certificate باید گواهینامه‌های امنیتی موردنظر خود را مشاهده نمائید.

خرید سرور مجازی

مرحله چهارم : « اتصال گواهینامه‌های امنیتی به سایت »

بر روی Default Web Site کلیک کنید، سپس بر روی Bindings کلیک کنید و برای سرویس HTTPS بر روی پورت ۴۴۳ گواهینامه مورد نظر را انتخاب و تایید نمائید.

مرحله پنجم : « ایجاد Server Farm »

ما باید برای هر نامی که می‌خواهیم آنها را منتشر کنیم (Meet, dialin, lyncdiscover و lyncwebexternal) یک Server Farm ایجاد کنیم. برای ایجاد اولین آیتم بر روی Server Farms دکمه راست موس را بزنید و گزینه Create Server Farm را مطابق تصویر کلیک کنید.

در فرم باز شده نام کامل FQDN خود را وارد نمائید.

Server Farm

در صفحه بعدی، قبل از پر کردن اطلاعات سرور بر روی Advanced Settings کلیک کنید و مقادیر HTTP و HTTPS را از ۸۰ و ۴۴۳ به ۸۰۸۰  و ۴۴۴۳ تغییر دهید. سپس نام کامل  FQDN سرور Front End و یا Front End Pool خود را وارد نمائید، سپس بر روی Add کلیک کنید. در صورت دریافت پیغام ایجاد URL Rewrite بر روی Yes کلیک نمائید.

مراحل فوق را برای تمامی آدرس‌های موردنظر خود تکرار نمائید. به یاد داشته باشید سرور Office Web Application نام متفاوتی خواهد داشت و پورت‌های آن همان ۸۰ و ۴۴۳ می باشد.

پس از اتمام مراحل خروجی کار باید شبیه تصویر زیر باشد.

مرحله ششم : « تنظیمات  Server Farm برای سرور Reverse Proxy »

لازم است برای هر یک از Server Farm های ایجاد شده موارد زیر را تنظیم کنیم:

۱. در بخش Caching تیک Enable Disk Cache را غیر فعال کنید.

۲.  در قسمت Proxy باید Timeout Value را از ۳۰ به حداقل ۶۰۰ تغییر دهیم.

در صورت عدم تعریف این تنظیم کاربران iPhone دائما پیغامی را مبنی بر الزام باز کردن نرم افزار Skype4B را مشاهده می‌نمایند. دلیل دریافت این خطا عدم تنظیم صحیح این گزینه است. این مورد بر اساس شرایط شما متفاوت است، عموما عدد تنظیم شده در شرایط متفاوت بین ۶۰۰ تا ۹۰۰ است. این مورد را برای تمامی Server Farm ها اعمال کنید.

۳.  در قسمت Routing Rules تیک SSL Offloading را غیر فعال کنید و مجددا برای تمامی آیتم ها اعمال کنید.

مرحله هفتم : « تنظیمات  URL Rewrite »

بر روی نام سرور خود در IIS کلیک کنید و گزینه URL Rewrite را انتخاب نمائید.

برای تمامی مواردی که ایجاد کرده‌اید مطابق تصویر زیر دو مورد HTTP و HTTPS را مشاهده می‌نمائید:

ما از سرویس HTTP به دلایل امنیتی استفاده نخواهیم کرد به همین دلیل تمامی مواردی که با HTTP هستند را حذف می‌نمائیم.

زاگریو

تغییر مسیر بازدیدکنندگان HTTP به HTTPS در IIS

تغییر مسیر بازدیدکنندگان HTTP به HTTPS در IIS

4.3kviews
در این مقاله قصد داریم تا در مورد تغییر مسیر بازدیدکنندگان HTTP به HTTPS در IIS، به صورت کامل و تخصصی با شما صحبت کنیم.

تغییر مسیر بازدیدکنندگان HTTP به HTTPS در IIS

اگر شما یک گواهینامه SSL، در وب سایت خود دارید و نیاز دارید که بازدیدکنندگان HTTP شما به صورت خودکار به نسخه HTTPS منتقل شوند تا اطمینان یابید که تمامی ارتباطات شما رمزگذاری شده است، باید مراحل زیر را انجام دهید: میزبانی وب اشتراکی ما (زاگریو)، سیستم‌های سرور ویندوزی با IIS هستند.
 
 
بعد از نصب گواهینامه SSL بر روی وب سایتتان، ممکن است URL rewrite به صورت اتوماتیک درفایل web.config، تغییر مسیر HTTPS را اضافه کند.

IIS

1 .  با استفاده از ویرایشگر متن (text editor)، فایل web.config را باز کنید.

2 . دستور URL rewrite برای تغییر مسیر HTTPS در  زیر اضافه شده است.

<configuration>
    <system.webserver>
    <rewrite>
           <rules>
                 <rule name=”HTTP to HTTPS redirect” stopProcessing=”true”>
                 <match url=”(.*)” />
                 <conditions>
                             <add input=”{HTTPS}” pattern=”off” ignoreCase=”true” />
                 </conditions>
                 <action type=”Redirect” redirectType=”Found” url=”https://{HTTP_HOST}/{R:1}” />
                 </rule>
            </rules>
    </rewrite>
    </system.webserver>

    </configuration>

3 . به سادگی و با کپی کردن دستورات بالا در فایل web.config، می‌توانید تغییرات را ذخیره کنید.

4 . فایل web.config ذخیره شده را از طریق FTP یا گزینه File Manager در کنترل پنل حساب خود، به سرور میزبان وب خود آپلود کنید.

5 . دستور جدید بلافاصله بعد از آپلود شدن فایل انجام می‌شود.
 

مسدودسازی IP های حمله کننده به MySQL, MSSQL, RDP

مسدودسازی IP های حمله کننده به MySQL ,MSSQL ,RDP

756views

یکی دیگر از مواردی که قصد داریم در زاگریو به آن بپردازیم، مسدودسازی IP های حمله کننده به MySQL ،MSSQ ،RDP، است. تا مدیریت سرور شما، توسط این آی‌پی‌ها دیگر مورد حمله قرار نگیریند و امنیت سرور شما، همیشه برقرار باشد.

مسدودسازی IP های حمله کننده به MySQL, MSSQL, RDP ️

اگر سرویس‌هایی بر روی سرور خود دارید، که باید از بیرون از سازمان شما به آن منابع دسترسی پیدا کرد، ممکن است شما نیز قربانی حملات بی‌پایان و تلاش‌های هکرها برای Brute Force باشید، راه حل این موضوع مسدودسازی IP های حمله کننده به MySQL, MSSQL, RDP.

سرویس‌هایی نظیر RDP ،MYSQL ،MSSQL از امثال این سرویس‌ها هستند و مسدودسازی IP های حمله کننده تنها راه است.

حملات صورت گرفته علاوه بر مصرف میزان پهنای باند شما و کند کردن سرعت اتصال، منابع بسیاری از پردازنده و حافظه را نیز هدر می‌دهند، از طرفی داشتن رمز عبورهای ضعیف خصوصا در محیط‌های اشتراکی، باعث نفوذ هکرها به سیستم شده و مشکلات فراوانی را برای شما پدید می‌آورد.

مسدودسازی IP

در این آموزش سعی داریم تا با استفاده از پاورشل، لاک‌های درج شده در Event Log را استخراج و پس از جدا کردن قسمت‌های آدرس IP که برای فرض مثال بیش از ۳ بار خطای ورود ناموفق داشته‌اند یک Rule با شرط Block در سیستم فایروال ویندوز ایجاد کنیم.

ما در این روش، به منظور امکان بررسی IP هایی که مسدود شده‌اند، تمامی آدرس‌ها را در فایل ذخیره کرده و برای استفاده‌های آتی نگهداری می‌کنیم.

️نکته️:
– می‌توان لاگ‌ها را حذف نکرد و در ابتدا تاریخ و ساعت مشخص کرد که اسکریپت صرفا لاگ‌های یک روز پیش را جستجو کند.
– می‌توانید هیچ گونه فایلی نگهداری نکنید و مستقیما آن‌ها را در فایروال مسدود کنید.
– در یک بخش از کد مقداری تحت عنوان “{ $_.Count -gt 3 }” آمده است، که با افزایش یا کاهش این عدد می‌توانید به تعداد خطاهای لاگین مورد نظر برسید.
– برای اتوماتیک کردن پروسه، می‌توانید در Scheduled Tasks یک TASK با عنوان و زمان‌بندی مورد نظر خود ایجاد کنید.
– فایل دوم صرفا وظیفه وارد کردن آدرس IP ها از یک فایل برای ایجاد RULE های BLOCK را دارد و می‌توانید از آن در موارد دیگر نیز استفاده کنید و مسدودسازی IP را انجام دهید.

فایل شماره ۱- Block-Brute.ps1 | مسدودسازی IP

$datetime = (((get-date).ToUniversalTime()).ToString("yyyyMMddhhmmss"))
$regex = ‘\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b’

## MySQL ##
$input_path = "C:\BLOCK\mysql-raw.txt"
$output_file = "C:\BLOCK\mysql-all-ip.txt"
$output_unique = "C:\BLOCK\MySQL-Bruteforce-$datetime.txt"
Get-EventLog -Source MySQL -LogName Application | select Message | Out-File $input_path
Select-String -Path $input_path -Pattern $regex -AllMatches | % { $_.Matches } | % { $_.Value } > $output_file
Get-Content $output_file | sort | Group-Object | Where-Object { $_.Count -gt 3 } | Select -ExpandProperty Name | Get-Unique > $output_unique
c:\BLOCK\import-firewall-blocklist.ps1 -inputfile $output_unique
Remove-Item $input_path
Remove-Item $output_file

## MSSQL ###
$MSSQLinput_path = "C:\BLOCK\mssql-raw.txt"
$MSSQLoutput_file = "C:\BLOCK\mssql-all-ip.txt"
$MSSQLoutput_unique = "C:\BLOCK\MSSQL-Bruteforce-$datetime.txt"
Get-EventLog -LogName Application | Where-Object { $_.eventid -eq 18456 } | select Message | Out-File $MSSQLinput_path
Select-String -Path $MSSQLinput_path -Pattern $regex -AllMatches | % { $_.Matches } | % { $_.Value } > $MSSQLoutput_file
Get-Content $MSSQLoutput_file | sort | Group-Object | Where-Object { $_.Count -gt 3 } | Select -ExpandProperty Name | Get-Unique > $MSSQLoutput_unique
c:\BLOCK\import-firewall-blocklist.ps1 -inputfile $MSSQLoutput_unique
Remove-Item $MSSQLinput_path
Remove-Item $MSSQLoutput_file

Clear-EventLog -LogName Application

 

فایل شماره ۲- import-firewall-blocklist.ps1 | مسدودسازی IP

####################################################################################
#.Synopsis
# Block all IP addresses listed in a text file using the Windows Firewall.
#
#.Description
# Script will create inbound and outbound rules in the Windows Firewall to
# block all the IPv4 and/or IPv6 addresses listed in an input text file. IP
# address ranges can be defined with CIDR notation (10.4.0.0/16) or with a
# dash (10.4.0.0-10.4.255.255). Comments and blank lines are ignored in the
# input file. The script deletes and recreates the rules each time the
# script is run, so don't edit the rules by hand. Requires admin privileges.
# Multiple rules will be created if the input list is large. Requires
# Windows Vista, Windows 7, Server 2008 or later operating system. Blocking
# more than 5000 IP address ranges does delay initial connections, will slow
# the loading of the Windows Firewall snap-in, and will lengthen the time
# to disable/enable a network interface. This script is just a wrapper for
# the netsh.exe tool. You can block individual IP addresses too, you do not
# need to use CIDR notation for this (10.1.1.1/32), though this does work.
#
#.Parameter InputFile
# File containing IP addresses and ranges to block; IPv4 and IPv6 supported.
# By default, the script will look for and use a file named 'blocklist.txt'.
#
#.Parameter RuleName
# (Optional) Override default firewall rule name; default based on file name.
# When used with -DeleteOnly, just give the rule basename without the "-#1".
#
#.Parameter ProfileType
# (Optional) Comma-delimited list of network profile types for which the
# blocking rules will apply: public, private, domain, any (default = any).
#
#.Parameter InterfaceType
# (Optional) Comma-delimited list of interface types for which the
# blocking rules will apply: wireless, ras, lan, any (default = any).
#
#.Parameter DeleteOnly
# (Switch) Matching firewall rules will be deleted, none will be created.
# When used with -RuleName, leave off the "-#1" at the end of the rulename.
#
#.Example
# import-firewall-blocklist.ps1 -inputfile IpToBlock.txt
#
#.Example
# import-firewall-blocklist.ps1 -inputfile iptoblock.txt -profiletype public
#
#.Example
# import-firewall-blocklist.ps1 -inputfile iptoblock.txt -interfacetype wireless
#
#.Example
# import-firewall-blocklist.ps1 -inputfile IpToBlock.txt -deleteonly
#
#.Example
# import-firewall-blocklist.ps1 -rulename IpToBlock -deleteonly
#
#Requires -Version 1.0
#
#.Notes
# Author: Jason Fossen (http://www.sans.org/windows-security/)
# Version: 1.2
# Updated: 20.Mar.2012
# LEGAL: PUBLIC DOMAIN. SCRIPT PROVIDED "AS IS" WITH NO WARRANTIES OR GUARANTEES OF
# ANY KIND, INCLUDING BUT NOT LIMITED TO MERCHANTABILITY AND/OR FITNESS FOR
# A PARTICULAR PURPOSE. ALL RISKS OF DAMAGE REMAINS WITH THE USER, EVEN IF
# THE AUTHOR, SUPPLIER OR DISTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF
# ANY SUCH DAMAGE. IF YOUR STATE DOES NOT PERMIT THE COMPLETE LIMITATION OF
# LIABILITY, THEN DELETE THIS FILE SINCE YOU ARE NOW PROHIBITED TO HAVE IT.
####################################################################################

param ($InputFile = "BlockList.txt", $RuleName, $ProfileType = "any", $InterfaceType = "any", [Switch] $DeleteOnly)

# Look for some help arguments, show help, then quit.
if ($InputFile -match '/[?h]') { "nPlease run 'get-help .\import-firewall-blocklist.ps1 -full' for help on PowerShell 2.0 and later, or just read the script's header in a text editor.n" ; exit }

# Get input file and set the name of the firewall rule.
$file = get-item $InputFile -ErrorAction SilentlyContinue # Sometimes rules will be deleted by name and there is no file.
if (-not $? -and -not $DeleteOnly) { "nCannot find $InputFile, quitting...n" ; exit }
if (-not $rulename) { $rulename = $file.basename } # The '-#1' will be appended later.

# Description will be seen in the properties of the firewall rules.
$description = "Rule created by script on $(get-date). Do not edit rule by hand, it will be overwritten when the script is run again. By default, the name of the rule is named after the input file."

# Any existing firewall rules which match the name are deleted every time the script runs.
"nDeleting any inbound or outbound firewall rules named like '$rulename-#*'n"
$currentrules = netsh.exe advfirewall firewall show rule name=all | select-string '^[Rule Name|Regelname]+:\s+(.+$)' | foreach { $_.matches[0].groups[1].value }
if ($currentrules.count -lt 3) {"nProblem getting a list of current firewall rules, quitting...n" ; exit }
# Note: If you are getting the above error, try editing the regex pattern two lines above to include the 'Rule Name' in your local language.
$currentrules | foreach { if ($_ -like "$rulename-#*"){ netsh.exe advfirewall firewall delete rule name="$_" | out-null } }

# Don't create the firewall rules again if the -DeleteOnly switch was used.
if ($deleteonly -and $rulename) { "nReminder: when deleting by name, leave off the '-#1' at the end of the rulename.n" }
if ($deleteonly) { exit }

# Create array of IP ranges; any line that doesn't start like an IPv4/IPv6 address is ignored.
$ranges = get-content $file | where {($_.trim().length -ne 0) -and ($_ -match '^[0-9a-f]{1,4}[\.\:]')}
if (-not $?) { "nCould not parse $file, quitting...n" ; exit }
$linecount = $ranges.count
if ($linecount -eq 0) { "nZero IP addresses to block, quitting...n" ; exit }

# Now start creating rules with hundreds of IP address ranges per rule. Testing shows
# that netsh.exe errors begin to occur with more than 400 IPv4 ranges per rule, and
# this number might still be too large when using IPv6 or the Start-to-End format, so
# default to only 100 ranges per rule, but feel free to edit the following variable:
$MaxRangesPerRule = 100

$i = 1 # Rule number counter, when more than one rule must be created, e.g., BlockList-#001.
$start = 1 # For array slicing out of IP $ranges.
$end = $maxrangesperrule # For array slicing out of IP $ranges.
do {
$icount = $i.tostring().padleft(3,"0") # Used in name of rule, e.g., BlockList-#042.

if ($end -gt $linecount) { $end = $linecount }
$textranges = [System.String]::Join(",",$($ranges[$($start - 1)..$($end - 1)]))

"nCreating an inbound firewall rule named '$rulename-#$icount' for IP ranges $start - $end"
netsh.exe advfirewall firewall add rule name="$rulename-#$icount" dir=in action=block localip=any remoteip="$textranges" description="$description" profile="$profiletype" interfacetype="$interfacetype"
if (-not $?) { "
nFailed to create '$rulename-#$icount' inbound rule for some reason, continuing anyway..."}

"nCreating an outbound firewall rule named '$rulename-#$icount' for IP ranges $start - $end"
netsh.exe advfirewall firewall add rule name="$rulename-#$icount" dir=out action=block localip=any remoteip="$textranges" description="$description" profile="$profiletype" interfacetype="$interfacetype"
if (-not $?) { "
nFailed to create '$rulename-#$icount' outbound rule for some reason, continuing anyway..."}

$i++
$start += $maxrangesperrule
$end += $maxrangesperrule
} while ($start -le $linecount)

# END-O-SCRIPT

# Incidentally, testing shows a delay of 2-5 seconds sometimes for the initial
# connection when there are more than 5000 IP address ranges total in the various
# outbound rules (once established, there is no delay). However, it does not seem
# consistent. Also, at 5000+ subnets in one's rules, it delays the opening of the
# Windows Firewall snap-in, and at 9000+ subnets it sometimes prevents the WF snap-in
# from opening successfully at all. However, this behavior is not consistent either.

رنگ‌های مختلف در ترمینال ssh به چه معنی هستند؟

ترمینال ssh: رنگ‌های مختلف در ترمینال ssh به چه معنی هستند؟

3.4kviews

اول از همه باید بدانید که، SSH مخفف Secure shell یا پروتکلی برای اتصال به کنسول یا محیط ترمینال است، که رنگ‌های مختلفی در این ترمینال وجود دارد و معانی متفاوتی دارند، در زاگریو به بررسی معانی این رنگ‌ها خواهیم پرداخت.

بررسی رنگ‌های مختلف در ترمینال ssh | تغییر رنگ ترمینال لینوکس

آیا تا به حال به این موضوع دقت کرده‌اید هنگامی که یک دستور را در ترمینال ssh وارد می‌کنید، در خروجی رنگ‌های مختلفی نمایش داده می‌شود. هر کدام از این رنگ‌ها معنی خاص خود را دارند. به عنوان مثال هنگامی که دستور ls را وارد می‌کنید در خروجی یکی از پوشه‌ها به رنگ سبز و یا در پوشه دیگری به رنگ آبی و یا سبز روشن است.

خرید هاست

این رنگ‌ها چه معنی دارند و آیا کتابچه راهنمایی درباره آنها وجود دارد؟

هر کدام از این رنگ‌ها معنی خاصی دارند که در ادامه برای شما توضیح می‌دهیم.

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

قرمز: فایل بایگانی

شما می‌توانید این رنگ‌ها را با وارد کردن دستوراتی روشن یا خاموش کنید.
برای خاموش کردن رنگ‌ها باید در ادامه خط‌های زیر .bashrc وارد کنید.

# enable color support of ls and also add handy aliases
# if [ -x /usr/bin/dircolors ]; then
# test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
# alias ls='ls --color=auto'
# #alias dir='dir --color=auto'
# #alias vdir='vdir --color=auto'
#
# alias grep='grep --color=auto'
# alias fgrep='fgrep --color=auto'
# alias egrep='egrep --color=auto'
# fi
همچنین اگر شما می‌خواهید بدانید که رنگ‌ها چه معنی دارند، کد زیر را در ترمینال ssh وارد کنید.
eval $(echo "no:global default;fi:normal file;di:directory;ln:symbolic link;pi:named pipe;so:socket;do:door;bd:block device;cd:character device;or:orphan symlink;mi:missing file;su:set uid;sg:set gid;tw:sticky other writable;ow:other writable;st:sticky;ex:executable;"|sed -e 's/:/="/g; s/\;/"\n/g')
{
IFS=:
for i in $LS_COLORS
do
echo -e "\e[${i#*=}m$( x=${i%=*}; [ "${!x}" ] && echo "${!x}" || echo "$x" )\e[m"
done
}
ترمینال ssh

شما می‌توانید با استفاده از دستور LS و مشاهده متغییر $LS_COLORS رنگ‌هایی که در حال استفاده هستند را مشاهده کنید.

فیروزه: فایل‌های صوتی (فایل‌های شماره ۱)
قرمز روشن: آرشیو و فایل‌های فشرده (فایل‌های شماره ۲)

بنفش: تصاویر و ویدئو (فایل‌های شماره ۳)

علاوه بر این فایل‌ها بر اساس حالت‌های آن‌ها رنگ‌بندی می‌شوند.

colorcommand2
1٫ aac, au, flac, mid, midi, mka, mp3, mpc, ogg, ra, wav, axa, oga, spx, xspf.
2٫ tar, tgz, arj, taz, lzh, lzma, tlz, txz, zip, z, Z, dz, gz, lz, xz, bz2, bz, tbz, tbz2, tz, deb, rpm, jar, rar, ace, zoo, cpio, 7z, rz.

3٫ jpg, jpeg, gif, bmp, pbm, pgm, ppm, tga, xbm, xpm, tif, tiff, png, svg, svgz, mng, pcx, mov, mpg, mpeg, m2v, mkv, ogm, mp4, m4v, mp4v, vob, qt, nuv, wmv, asf, rm, rmvb, flc, avi, fli, flv, gl, dl, xcf, xwd, yuv, cgm, emf, axv, anx, ogv, ogx.

همه این اطلاعات در خروجی دستور dircolors –print-database وجود دارد اما فرمت آن تقریبا ناخواناست.
زاگریو
روش های داشتن رتبه بهتر در گوگل

روش های داشتن رتبه بهتر در گوگل

574views
داشتن رتبه بهتر در گوگل، همیشه یکی از اولین و مهم‌ترین خواسته هر یک از ماّ که یک یا چند سایت داریم، بوده است. رسیدن به رتبه بالاتر در گوگل، شاید کار زمان‌بری باشد، ولی اگر  کار به خوبی انجام شود، نتیجه آن می‌تواند دائمی باشد، در این مقاله،‌قصد داریم تا روش‌هایی که توسط سئو سایت ، می‌تواند به شما کمک کند را به صورت خلاصه، به شما عزیزان بگوییم.

را‌ه‌های داشتن رتبه بهتر در گوگل

هر به‌روزرسانی الگوریتم‌های موتورهای جستجو، به عنوان مثال، به‌روز رسانی معروف پاندا، برای هر Web Master یک منبع اصلی استرس است، چون این به‌روز رسانی‌ها مانند یک زلزله به شدت رتبه‌بندی سایت را تغییر می‌دهد و تمام تلاش شما برای بالا بردن رتبه سایت از بین می‌رود. درحالی‌که این تغییرات اجتناب‌ناپذیرند و برای جلوگیری از آن‌ها کاری نمی‌توانید انجام دهید اما اقداماتی برای کم کردن تاثیرات آن‌ وجود دارد.
سئو سایت
این باور وجود دارد که اگر شما بهترین شیوه کلاه سفیدها را دنبال می‌کنید، از این به‌روز رسانی‌ها در امان هستید اما در واقع چنین نیست. در اینجا چند پیشنهاد وجود دارد (علاوه بر بهترین شیوه‌های کلاه سفیدها) که سایت شما کمتر در معرض آسیب‌های ناشی از تغییرات الگوریتم‌های موتورهای جستجو قرار گیرد. با این حال، اجازه دهید قبل از اینکه مراحل را ادامه دهیم روشن کنیم که همه نوسانات ترافیک نتیجه به‌روز رسانی الگوریتم‌های موتورهای جستجو نیستند. اغلب این نوسانات طبیعی هستند. به عنوان مثال نوسانات فصلی به دلیل تغییرات الگوریتم ایجاد نمی‌شوند. کنترل این قبیل تغییرات مشکل‌تر است زیرا همانند تغییرات الگوریتم‌های موتورهای جستجو، آن‌‌ها هم از دسترس ما خارج هستند به همین دلیل ما در اینجا در مورد آن‌ها بحث نمی‌کنیم.

1. بر روی کلمات کلیدی مورد نظر خود تمرکز کنید

هنگامی که می‌خواهید ترافیک خود را در موتورهای جستجو افزایش دهید، ممکن است اولین ایده شما این باشد که اگر Rank سایت خود را با کلمات کلیدی بیشتر مدیریت کنید ترافیک بیشتری خواهید داشت. این ایده امکان‌پذیر است (به خصوص اگر کلمات کلیدی خیلی با هم مرتبط نباشند) اما اساسا این مورد خیلی الزامی نیست.

ممکن است شما فکر کنید هنگامی که کلمات کلیدی جدید را گسترش می دهید، ترافیک شما افزایش می‌یابد اما در واقع خلاف این مورد اتفاق می‌افتد، این کلمات کلیدی جدید ارتباط کلمات کلیدی حاضر را کمرنگ می‌کند و ممکن است که قسمتی از ترافیک اکنون شما را از بین ببرد. بنابراین قبل از این‌که برخی از کلمات کلیدی جدید را انتخاب کنید همیشه آماده عقب‌نشینی باشید اگر نتایج چیزی بدتر از حد انتظار شما باشد.

 

2. بهینه‌سازی برای کلمات کلیدی بلند

کلمات کلیدی بلند اغلب نادیده گرفته می‌شوند چرا که به اندازه همتایان سودمند خود ترافیک را افزایش نمی‌دهند. با این حال، کلمات کلیدی بلند در مقابل تغییرات الگوریتم‌ها ثبات بیشتری دارند. ترافیک کلمات کلیدی بلند به دلیل رقابت کمتر به نوسانات تمایل کمتری دارند. اگر شما اکنون به کلمات کلیدی بلند پرش کردید، بهینه‌سازی آن‌ها را هر چه سریعتر آغاز کنید.

3. بهینه‌سازی برای کلمات کلیدی با رقابت کمتر

کلمات کلیدی کمتر رقابتی ممکن است خیلی بلند نباشند اما آنها هم تمایل کمتری به به‎روز رسانی‌های موتورهای جستجو دارند. توضیحش آسان است، به عنوان مثال اگر ده سایت وجود داشته باشد که برای یک کلمه کلیدی رقابت می‌کنند حتی اگر گوگل الگوریتم‌هایش و نتایج مختلف را به‌روز رسانی کند، بدترین اتفاقی که ممکن است برای سایت شما بیفتد این است که در رتبه دهم قرار بگیرد. درحالی‌که این بهتر از این است که رتبه دوم در صد را داشته باشید. این مورد با کلمات کلیدی که صدها سایت رقیب برای آن‌ها دارند امکان‌پذیر است.

رتبه بهتر در گوگل

4. محتوای جدید به طور منظم

فواصل زیاد بین پست‌های جدید واقعا می‌تواند سایت شما را نابود کند حتی برای کلمه کلیدی که شما معمولا استفاده می‌کنید تا رتبه سایت خود را بالا ببرید و حتی اگر الگوریتم‌های موتور جستجو تغییراتی نداشته باشند. هرچند که شما نمی‌توانید به تنهایی با ارسال محتوای جدید این مورد را شکست دهید و به همین دلیل که به سادگی پست‌های جدید برای خود Rank جدید دارند محتوای جدید مانند خون تازه‌ای است که برای خود ترافیک به همراه می‌آورد.

همان‌طور که چندین بار گفتیم، بهتر است هر هفته یا هر ماه یک پست جدید داشته باشیم تا اینکه برای یک ماه هیچ پستی نداشته باشیم و یکباره ۲۰ پست جدید ارائه دهیم. پیشنهاد ما به شما حداقل، هفته‌ای یک مقاله است.

 

5. گرفتن Backlinks از سایت‌های بسیار خوب

آن زمان که هر Backlink ای خوب بود به تاریخ پیوست. اکنون لینک‌ها از سایت‌های بد یا به طور ساده سایت‌های بی‌ربط می‌تواند به شدت به شما صدمه بزند. به همین دلیل است که شما به Backlink هایی که رتبه بالایی دارند و مرتبط با سایت شما هستند نیاز دارید. به علاوه این سایت‌ها تمایل ندارند که رتبه خودشان را که در نوسان است از دست بدهند. در نتیجه Rank سایت شما کمتر نوسان پیدا می‌کند و همچنین سایت‌های لیست A که لینک شما را قرار می‌دهند به خاطر حفظ Rank سایت خود، آن‌ها را به سختی حذف می‌کنند.

برای اجتناب از لینک‌ها از سایت‌های بد شما می‌توانید از ابزارهای مختلف برای کشف این‌که چه لینک‌هایی به شما داده می‌شود استفاده کنید. هنگامی که شما با یک لینک که نمی‌خواهید مواجه می‌شوید با مسئول سایت خود تماس بگیرید و از او بخواهید که این لینک را حذف کند.

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

 

6. استفاده از PPC

اگر شما تا کنون متوجه نشده‌اید، اجازه دهید که مستقیما برای شما بیان شود؛ ترافیک رایگان موتور جستجو عظیم اما غیرقابل اعتماد است. مهم نیست که سایت شما چقدر بزرگ است و چگونه شما به طور استادانه در حال تلاش برای محافظت از سایت‎تان در مقابل تغییرات الگوریتم موتور جستجو هستید، شما هرگز در امان نیستید. اگر می‌خواهید ترافیک ثابتی برای سایت خود داشته باشید استفاده از PPC را آغاز کنید. آموزش دقیق آن در Google AdWords  قرار داده شده است. اگر شما با PPC آشنا نیستید می‌توانید با این آموزش شروع کنید.

رتبه بهتر در گوگل

7. تبلیغ در رسانه‌های اجتماعی

همه تخم‌مرغ‌ها را در یک سبد قرار ندهید؛ به عنوان مثال همه ترافیک خودتان را از موتورهای جستجو نگیرید. هنگامی که شما منابع ترافیک خود را تنوع می بخشید، اولین گزینه PPC است (که هزینه مالی دارد اما به طور کلی ترافیک هدفمندی را به ارمغان می آورد) و دومین گزینه رسانه‌های اجتماعی است، سایت‌هایی مانند Facebook و  Twitter و  Tumblr و غیره که می‌توانید رایگان استفاده کنید و به طور قابل توجهی ترافیک خود را افزایش دهید اگر پست‌هایتان را عمومی کنید. معمولا ترافیک سایت‌های اجتماعی هدف قرار نمی‌گیرند و تغییرات ممکن است کم باشد اما هنوز هم این سایت‌ها یک جایگزین مناسب هستند.
در حالی‌که ممکن است شما گاهی اوقات از تغییرات موتورهای جستجو سود ببرید زیرا این تغییرات ممکن است رقبای شما را نابود کند و شما را در نتایج موتورهای جستجو بدون هیچ تلاشی بالا ببرد. این یک شانس است و شما نمی‌توانید بر آن تکیه کنید. اگر شما نمی‌خواهید بیشترین اثرات منفی تغییرات موتورهای جستجو را تجربه کنید نیاز دارید که فعال باشید و گام‌های ذکر شده در این مقاله را طی کنید. متاسفانه حتی اگر شما تمامی این موارد را هم انجام دهید نمی‌توان گفت که به طور کامل پوشش داده شده‌اید اما حداقل این تسلی به شما داده می‌شود که آنچه را که می‌توانید انجام داده‌اید.

کلام آخر …

روش‌هایی که در این مقاله ذکر کردیم، تنها بخشی از راه‌های افزایش رتبه سایت شما در موتور جست و جوی گوگل بود، اگر می‌خواهید به صورت تخصصی، سئو برای سایت شما توسط تیمی حرفه‌ای انجام شود، تنها کافیست به سایت زاگریو رفته، و به ما اطلاع دهید تا با جدیدترین روش‌ها، رتبه شما را بالا ببریم.
زاگریو، در زمینه‌هایی همچون مدیریت سرور ، خرید سرور مجازی ، خرید سرور اختصاصی و … سال‌هاست که به صورت اختصاصی، در حال فعالیت است.