По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Rocket.Chat — это бесплатный масштабируемый open source корпоративный чат, разработанный с помощью Meteor. Rocket.Chat можно считать аналогом Slack, который можно развернуть на своем сервере, и подключаться к нему с клиентов на Linux, Windows, macOS, Android и iOS. Функции Rocket.Chat Чат в реальном времени Аудиоконференции Видеоконференции Каналы Гостевой вход Трансляция экрана Передача файлов Полнофункциональный API Для обеспечения безопасности используется: Групповая синхронизация LDAP Двухфакторная аутентификация 2FA Сквозное шифрование Единый вход SSO Несколько поставщиков Oauth аутентификации Рассказываем как установить и настроить сервер и клиент Rocket.Chat в Linux. Шаг 1. Установка Snap в Linux Для простоты мы будем использовать систему управления пакетами Snaps. Первым делом надо установить пакет snapd c помощью диспетчера пакетов. $ sudo apt install snapd #Ubuntu и Debian $ sudo dnf install snapd #Fedora 22+/CentOS/RHEL 8 $ sudo yum install snapd #CentOS/RHEL 7 Далее необходимо включить модуль systemd, который управляет основным сокетом мгновенной связи. Эта команда запустит сокет и позволит ему запускаться при загрузке системы. $ sudo systemctl enable --now snapd.socket Шаг 2: Установка Rocket.Chat в Linux Для установки rocketchat-server выполните: $ sudo snap install rocketchat-server Когда установка через snap будет завершена, rocket.chat сервер начнет работать и прослушивать порт 3000. Далее откройте веб-браузер и введите следующий адрес, чтобы настроить rocket.chat через GUI. http://SERVER_IP:3000 После загрузки мастера настройки укажите следующие параметры: полное имя администратора, имя пользователя, адрес электронной почты организации и пароль. Далее надо указать информацию об организации: тип организации, название, отрасль, размер, страна и сайт. Затем нужно указать информацию о сервере - имя сайта, язык, тип сервера, и включение или отключение двухфакторной аутентификации 2FA. На следующей странице нужно зарегистрировать сервер. Здесь есть две опции. Первая - использовать предварительно настроенные шлюзы и прокси, предоставленные Rocket.Chat Вторая - сохранить автономность и создать учетные записи у поставщиков услуг, обновить предварительно настроенные параметры, а также перекомпилировать мобильные приложения с вашими частными сертификатами. Настройка завершена, и ваше рабочее пространство готово, теперь надо нажать Go to your workspace (Перейти в рабочее пространство) Вот так оно выглядит. Шаг 3: Настройка обратного прокси для Rocket.Chat Обратный прокси-сервер, например nginx или Apache, позволяет настроить приложение Rocket.Chat для доступа через домен или поддомен. Rocket.Chat является сервером приложений среднего уровня, который не поддерживает SSL/TLS. Обратный прокси-сервер позволит настраивать сертификаты SSL/TLS для включения HTTPS. Обратный прокси Nginx для Rocket.Chat Сначала установите Nginx. $ sudo apt apt install nginx #Ubuntu/Debian $ sudo dnf install nginx #Fedora 22+/CentOS/RHEL 8 $ sudo yum install nginx #CentOS/RHEL 7 Далее запустите службу Nginx, включите ее автоматический запуск при загрузке системы и проверьте ее статус $ sudo systemctl enable --now nginx $ sudo systemctl status nginx Затем создайте block файл виртуального сервера для приложения Rocket.Chat, например, в каталоге /etc/nginx/conf.d/. $ sudo vim /etc/nginx/conf.d/chat.merionet.com.conf Далее вставьте конфигурацию в этот файл, заменив домен на свой и сохраните. upstream backend { server 127.0.0.1:3000; } server { listen 80; server_name chat.merionet.com; # You can increase the limit if you need to. client_max_body_size 200M; error_log /var/log/nginx/chat.merionet.com.log; location / { proxy_pass http://backend/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forward-Proto http; proxy_set_header X-Nginx-Proxy true; proxy_redirect off; } } Наконец проверьте синтаксис и перезапустите службу Nginx. $ sudo nginx -t $ sudo systemctl restart nginx Обратный прокси Apache для Rocket.Chat Установите пакет Apache2 $ sudo apt install apache2 #Ubuntu/Debian $ sudo dnf install httpd #Fedora 22+/CentOS/RHEL 8 $ sudo yum install httpd #CentOS/RHEL 7 Далее запустите и включите службу apache и проверьте, запущена ли она и работает. ----- В Ubuntu/Debian ----- $ sudo systemctl enable --now apache2 $ sudo systemctl status apache2 ----- В CentsOS/RHEL 7/8 ----- $ sudo systemctl enable --now httpd $ sudo systemctl status httpd Затем создайте файл виртуального хоста для приложения Rocket.Chat, например, в каталоге /etc/apache2/sites-available/ или /etc/httpd/conf.d/. ----- В Ubuntu/Debian ----- $ sudo vim /etc/apache2/sites-available/chat.merionet.com.conf ----- В CentsOS/RHEL 7/8 ----- $ sudo vim /etc/httpd/conf.d/chat.merionet.com.conf Далее вставьте конфигурацию в этот файл, заменив домен на свой и сохраните. <VirtualHost *:80> ServerAdmin admin@merionet.ru ServerName chat.merionet.com LogLevel info ErrorLog /var/log/chat.merionet.com_error.log TransferLog /var/log/chat.merionet.com_access.log <Location /> Require all granted </Location> RewriteEngine On RewriteCond %{HTTP:Upgrade} =websocket [NC] RewriteRule /(.*) ws://localhost:3000/$1 [P,L] RewriteCond %{HTTP:Upgrade} !=websocket [NC] RewriteRule /(.*) http://localhost:3000/$1 [P,L] ProxyPassReverse / http://localhost:3000/ </VirtualHost> В Ubuntu и Debian включите необходимые модули apache2 и перезапустите службу. $ sudo a2enmod proxy_http $ sudo a2enmod proxy_wstunnel $ sudo a2enmod rewrite $ sudo systemctl restart apache2 В CentOS/RHEL и Fedora перезапустите службу apache. # systemctl restart httpd Теперь откройте браузер и введите ваш настроенный адрес и приложение Rocket.Chat станет доступно через ваш домен, настроенный на прокси-сервере. http://chat.merionet.com Шаг 4: Установка клиентов Rocket.Chat Клиентские приложения можно скачать с официального сайта Rocket.Chat. Чтобы установить десктопное приложение в Linux, вы загрузите пакет deb (x64) или rpm (x64) в зависимости от вашего дистрибутива Linux. $ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat_2.17.7_amd64.deb Или $ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat-2.17.7.x86_64.rpm Затем установите пакет с помощью диспетчера пакетов dpkg или rpm $ sudo dpkg -i rocketchat_2.17.7_amd64.deb #Ubuntu/Debian $ sudo rpm -i rocketchat-2.17.7.x86_64.rpm #CentOS/RedHat Ручная установка Rocket.Chat Если вы не хотите устанавливать Rocket.Chat через Snaps, вы можете сделать это вручную. Установка Node.js Сначала обновите список системных пакетов: sudo apt update Установите Node.js, npm и все другие зависимости, необходимые для сборки пакетов npm из исходного кода: sudo apt install nodejs npm build-essential curl software-properties-common graphicsmagick Мы будем использовать n, пакет npm, который позволяет интерактивно управлять версиями Node.js. Выполните команды ниже, чтобы установить n и Node.js: sudo npm install -g inherits n sudo n 8.11.3 Установка MongoDB MongoDB - это документно-ориентированная база данных NoSQL, которая используется Rocket.Chat для хранения данных. Импортируйте открытый ключ MongoDB и включите официальный репозиторий MongoDB: sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse' После включения репозитория apt обновите список пакетов и установите MongoDB, набрав: sudo apt update sudo apt install mongodb-org Затем включите и запустите службу MongoDB: sudo systemctl start mongod sudo systemctl enable mongod Создание нового системного пользователя Теперь необходимо создать нового пользователя и группу с именем rocket, которые будут запускать инстанс Rocket.Chat. sudo useradd -m -U -r -d /opt/rocket rocket Добавьте пользователя www-data в новую группу пользователей и измените права доступа к каталогу /opt/rocket, чтобы Nginx мог получить доступ к установке Rocket.Chat: sudo usermod -a -G rocket www-data sudo chmod 750 /opt/rocket Установка Rocket.Chat Переключитесь на пользователя rocket sudo su - rocket Загрузите последнюю стабильную версию Rocket.Chat с помощью curl: curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz После завершения загрузки извлеките архив и переименуйте каталог в Rocket.Chat: tar zxf rocket.chat.tgz mv bundle Rocket.Chat Перейдите в каталог Rocket.Chat/programs/server и установите все необходимые пакеты npm: cd Rocket.Chat/programs/server npm install Чтобы протестировать нашу установку перед созданием модуля systemd и настройкой обратного прокси с Nginx или Apache, мы установим необходимые переменные среды и запустим сервер Rocket.Chat export PORT=3000 export ROOT_URL=http://0.0.0.0:3000/ export MONGO_URL=mongodb://localhost:27017/rocketchat Вернитесь в каталог Rocket.Chat и запустите сервер Rocket.Chat, введя следующие команды: cd ../../ node main.js Если ошибок нет, вы должны увидеть следующий вывод: ? +---------------------------------------------+ ? | SERVER RUNNING | ? +---------------------------------------------+ ? | | ? | Rocket.Chat Version: 0.71.1 | ? | NodeJS Version: 8.11.3 - x64 | ? | Platform: linux | ? | Process Port: 3000 | ? | Site URL: http://0.0.0.0:3000/ | ? | ReplicaSet OpLog: Disabled | ? | Commit Hash: e73dc78ffd | ? | Commit Branch: HEAD | ? | | ? +---------------------------------------------+ Остановите сервер Rocket.Chat с помощью Ctrl+C и вернитесь к своему пользователю sudo, набрав exit. Создание модуль Systemd Чтобы запустить Rocket.Chat как службу, нужно создать файл модуля rocketchat.service в каталоге /etc/systemd/system/. sudo nano /etc/systemd/system/rocketchat.service Вставьте следующий код: [Unit] Description=Rocket.Chat server After=network.target nss-lookup.target mongod.target [Service] StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocket Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=https://chat.merionet.com PORT=3000 ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js [Install] WantedBy=multi-user.target Сообщите systemd, что мы создали новый файл модуля, и запустите службу Rocket.Chat, выполнив: sudo systemctl daemon-reload sudo systemctl start rocketchat Проверьте статус сервиса: sudo systemctl status rocketchat Вывод должен быть таким: * rocketchat.service - Rocket.Chat server Loaded: loaded (/etc/systemd/system/rocketchat.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2018-11-07 14:36:24 PST; 5s ago Main PID: 12693 (node) Tasks: 10 (limit: 2319) CGroup: /system.slice/rocketchat.service `-12693 /usr/local/bin/node /opt/rocket/Rocket.Chat/main.js Наконец, включите автоматический запуск службы Rocket.Chat во время загрузки: sudo systemctl enable rocketchat Готово, мы установили Rocket.Chat вручную, теперь можно переходить к настройке обратного прокси и инициализации системы, которые были описаны начиная с шага 3. Итоги В этом руководстве вы узнали, как установить Rocket.Chat в Linux и как настроить Nginx и Apache в качестве обратного прокси. Чтобы узнать больше о Rocket.Chat посетите страницу документации.
img
Если вы еще не умеете писать скрипты в системах Unix и Linux, эта статья познакомит с основами написания скриптов. Написание скриптов в системе Unix или Linux может быть одновременно и простым и чрезвычайно сложным. Все зависит от того, что вы пытаетесь выполнить, используя скрипт. В этой статье мы рассмотрим основы создания скриптов - то, как начать, если вы никогда раньше не создавали скрипты. Идентификация оболочки. Сегодня в системах Unix и Linux есть несколько оболочек, которые вы можете использовать. Каждая оболочка - это интерпретатор команд. Он считывает команды и отправляет их ядру для обработки. Bash является одной из самых популярных оболочек, но существуют также zsh, csh, tcsh и korn. Есть даже оболочка под названием fish, которая может быть особенно полезна новичкам в Linux благодаря полезным параметрам автозаполнения команд. Чтобы определить, какую оболочку вы используете, используйте эту команду: $ echo $SHELL /bin/bash Вы также можете определить свою основную оболочку, просмотрев файл /etc/passwd: $ grep $USER /etc/passwd nemo:x:1111:1111:Nemo the Fish:/home/nemo:/bin/bash “ read myfile else myfile=$1 fi if [ ! -f “$myfile” ]; then echo “Файл не найден: $myfile” exit fi case $myfilein *.tar) tar xf $myfile;; *.zip) unzip $myfile;; *.rar) rar x $myfile;; *) echo “Нет опций для извлечения $myfile” esac Обратите внимание, что этот сценарий также запрашивает имя файла, если оно не было предоставлено, а затем проверяет, действительно ли указанный файл существует. Только после этого выполняется извлечение. Реакция на ошибки Вы можете обнаруживать ошибки в скриптах и реагировать на них и тем самым избегать других ошибок. Хитрость заключается в том, чтобы проверять выходные коды после запуска команд. Если код выхода имеет значение, отличное от нуля, произошла ошибка. В этом скрипте проверяется, запущен ли Apache, но отправляем результат проверки в /dev/null. Затем проверяем, не равен ли код выхода нулю, поскольку это означает, что команда ps не получила ответа. Если код выхода не равен нулю, сценарий сообщает пользователю, что Apache не запущен. #!/bin/bash ps -ef | grep apache2 > /dev/null if [ $? != 0 ]; then echo Apache is not running exit fi
img
Public Key Infrastructure (PKI) - это набор различных технологий, которые используются для обеспечения аутентификации источника, целостности данных и конфиденциальности для пользователя в сети. PKI использует преимущества асимметричного шифрования и использует пары открытого и закрытого ключей для шифрования данных. В PKI открытый ключ обычно связан с цифровой подписью, чтобы добавить доверие и проверить сведения о владельце сертификата. Ниже приведен ключевой жизненный цикл в PKI: Генерация ключа: Этот процесс определяет шифр и размер ключа. Генерация сертификата: Этот процесс создает цифровой сертификат и назначает его человеку или устройству. Распространение: Процесс распространения отвечает за безопасное распространение ключа пользователю или устройству. Хранение: Этот процесс отвечает за безопасное хранение ключа, чтобы предотвратить любой несанкционированный доступ к нему. Отзыв: Сертификат или ключ могут быть отозваны, если они скомпрометированы субъектом угрозы. Срок действия: Каждый сертификат имеет срок службы. Каждый день мы посещаем различные веб-сайты, такие как социальные сети, стрим, новости, спорт, блоги и другие платформы. Однако задумывались ли вы когда-нибудь о проверке подлинности веб-сайтов, которые вы посещаете? Вы, наверное, думаете, что всему, что находится в Интернете, нельзя доверять. Хотя это отчасти правда, мы можем доверять только ограниченному числу веб-сайтов, например, доверять веб-сайту вашего банка. Главный вопрос заключается в том, как мы можем проверить подлинность веб-сайтов, которые мы посещаем? Именно здесь как PKI, так и цифровые сертификаты помогают установить доверие между хостом в Интернете и нашим компьютером. Центр сертификации PKI играет жизненно важную роль в Интернете, поскольку многим пользователям и устройствам требуется метод установления доверия в самой ненадежной сети в мире – Интернете. Понимание компонентов, которые помогают PKI обеспечить доверие, необходимую как пользователям, так и устройствам, имеет важное значение для любого специалиста по кибербезопасности. Вы можете рассматривать PKI как набор процедур, правил, аппаратного и программного обеспечения, а также людей, которые работают вместе для управления цифровыми сертификатами. Цифровой сертификат-это официальная форма идентификации объекта, которая проверяется доверенной стороной. Эти цифровые сертификаты выдаются доверенной стороной в сети или Интернете. Они известны как Центр сертификации (Certificate Authority - CA). В каждой стране существует государственное учреждение, которое обычно отвечает за проверку личности своих граждан и выдачу удостоверений личности, такой как паспорт. Этот паспорт будет содержать важную информацию о владельце и сроке действия, например, дату окончания срока действия. В сети и в Интернете центр сертификации выполняет похожую роль и функции. В Интернете есть множество поставщиков, которые являются доверенными центрами сертификации, которые позволяют вам приобретать цифровой сертификат для личного использования. Примеры доверенных центров сертификации включают GoDaddy, DigiCert, Let's Encrypt, Comodo, Cloudflare и многие другие. Важное примечание! Цифровой сертификат создается при объединении ключа и цифровой подписи. Сертификат будет содержать сведения о владельце сертификата, например, об организации. ЦС выдаст объекту цифровой сертификат только после того, как его личность будет проверена. После того, как ЦС создает цифровой сертификат, он сохраняется в базе данных сертификатов, которая используется для безопасного хранения всех утвержденных ЦС цифровых сертификатов. Важное примечание! По истечении срока действия цифрового сертификата он возвращается в ЦС, который затем помещается в список отзыва сертификатов (Certificate Revocation List - CRL), который поддерживается ЦС. Цифровой сертификат форматируется с использованием стандарта X.509, который содержит следующие сведения: Номер версии Серийный номер Идентификатор алгоритма подписи Название эмитента Срок годности Не раньше, чем Не после Имя субъекта Информация об открытом ключе субъекта Алгоритм открытого ключа Открытый ключ субъекта Уникальный идентификатор эмитента (необязательно) Уникальный идентификатор субъекта (необязательно) Расширения (необязательно) Алгоритм подписи сертификата Подпись сертификата Регистрирующий орган (RA) Следующий рисунок - это цифровой сертификат, который используется для проверки веб-сайта Cisco: Как показано на предыдущем рисунке, видно, что CA - это HydrantID SSH ICA G2, который выдает сертификат на www.cisco.com на срок действия с 20 сентября 2019 года по 20 сентября 2021 года. Как показано на следующем рисунке, цифровой сертификат содержит дополнительную информацию, которая хранится с использованием стандарта X.509: Далее давайте рассмотрим, как создается цифровая подпись и ее роль в PKI. Цифровая подпись При совершении деловых операций на документах требуется подпись, чтобы гарантировать, что сделка санкционирована соответствующим лицом. Такая же концепция требуется в сети, так что цифровая подпись отправляется вместе с сообщением на конечный хост. Затем узел назначения может использовать цифровую подпись для проверки подлинности сообщения. При использовании PKI используются следующие алгоритмы для создания и проверки цифровых подписей: DSA RSA Elliptic Curve Digital Signature Algorithm (ECDSA) Чтобы создать цифровую подпись, между Алисой (отправителем) и Сергеем Алексеевичем (получателем) происходит следующий процесс: 1) Алиса будет использовать алгоритм хеширования для создания хэша (дайджеста) сообщения: 2) Затем Алиса будет использовать свой закрытый ключ для шифрования хэша (дайджеста) сообщения: Цифровая подпись используется в качестве доказательства того, что Алиса подписала сообщение. Чтобы лучше понять, как используются цифровые подписи в реальной жизни, давайте представим, что в сети есть два пользователя. Алиса хочет отправить Сергею Алексеевичу сообщение. Алиса может использовать цифровую подпись с сообщением, чтобы заверить Сергея Алексеевича в том, что сообщение исходило именно от нее. Это шаги, которые Алиса будет использовать для обеспечения подлинности, целостности и неотрицания: Алиса создаст пару открытых и закрытых ключей для шифрования данных. Алиса даст Сергею Алексеевичу только открытый ключ. Таким образом, закрытый ключ хранится у Алисы. Алиса создаст сообщение для Сергея Алексеевича и создаст хэш (дайджест) сообщения. Затем Алиса будет использовать закрытый ключ для шифрования хэша (дайджеста) сообщения для создания цифровой подписи. Алиса отправит сообщение и цифровую подпись Сергею Алексеевичу. Сергей Алексеевич будет использовать открытый ключ Алисы для расшифровки цифровой подписи, чтобы получить хэш сообщения. Сергей Алексеевич также сгенерирует хэш сообщения и сравнит его с хэшем, полученным из цифровой подписи Алисы. Как только два значения хэша (дайджеста) совпадают, это просто означает, что сообщение подписано и отправлено Алисой. Цифровые подписи используются не только для проверки подлинности сообщений. Они также используются в следующих случаях: Цифровые подписи для цифровых сертификатов: это позволяет отправителю вставить цифровую подпись в цифровой сертификат. Цифровые подписи для подписи кода: это позволяет разработчику приложения вставить свою цифровую подпись в исходник приложения, чтобы помочь пользователям проверить подлинность программного обеспечения или приложения. На следующем рисунке показан пример приложения, содержащего цифровой сертификат: На следующем рисунке показана дополнительная проверка цифровой подписи подписавшего: Система доверия PKI Ранее мы узнали, что организация может получить цифровой сертификат от доверенного центра сертификации в Интернете. Однако во многих крупных организациях вы обычно найдете корневой ЦС и множество промежуточных ЦС. Корневой ЦС отвечает за создание первичного цифрового сертификата, который затем делегируется каждому подчиненному ЦС или промежуточному ЦС. Промежуточный ЦС будет использовать цифровой сертификат корневого сервера для создания новых цифровых сертификатов для конечных устройств, таких как внутренние серверы. На следующем рисунке показана иерархия корневого и промежуточного ЦС: Использование этого типа иерархической структуры снимает нагрузку с корневого центра сертификации по управлению всеми цифровыми сертификатами в организации. Некоторые из этих обязанностей делегированы промежуточным серверам ЦС в сети. Представьте, что в вашем головном офисе вы развернули корневой ЦС, а в каждом удаленном филиале развернули промежуточные ЦС. Следовательно, каждый промежуточный ЦС отвечает за управление сертификатами своего собственного домена или филиала. Это также снижает риски взлома корневого ЦС злоумышленником, так что в случае взлома промежуточного ЦС корневой ЦС может быть отключен от сети, не затрагивая другие конечные устройства или промежуточные ЦС. В небольших сетях можно развернуть один корневой ЦС для предоставления цифровых сертификатов каждому конечному устройству, как показано на следующем рисунке: Как показано на предыдущем рисунке, одним ЦС легко управлять. Однако по мере роста сети наличие единственного центра сертификации в сети не позволит легко масштабироваться, поэтому необходимо использовать иерархическую структуру с корневым центром сертификации и промежуточными (подчиненными) центрами сертификации.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59