Архив метки: Software

Инструмент для сбора логов GrayLog2

Еще одна система по сбору логов в Web—интерфейс с целью наглядного отображения собираемого с систем, сервисов.




Помимо использования LogAnalyzer я бы хотел попробовать что-нибудь еще, вдруг окажется что есть инструмент работающий быстрее и проще в настройке (хотя это вряд ли возможно).




Так вот я хочу самостоятельно посмотреть что есть приложение/сервис Graylog2 который мне бы хотелось развернуть на Ubuntu Trusty Server. Как я понял Graylog2 (лог обработчик) имеет связку: ElasticSearch (Сервис хранения сообщений) + Java + MongoDB (Сервис хранения конфигурации и метаданных)




Текущие характеристики тестовой системы: RAM = 2,CPU =1,HDD = 50




По документации схема работы:







ekzorchik@srv-trusty:~$ sudo rm -Rf /var/lib/apt/lists/




ekzorchik@srv-trusty:~$ sudo apt-get update && sudo apt-get upgrade -y




ekzorchik@srv-trusty:~$ sudo apt-get install linux-generic-lts-xenial linux-image-generic-lts-xenial -y




ekzorchik@srv-trusty:~$ uname -a




Linux srv-trusty 4.4.0-79-generic #100~14.04.1-Ubuntu SMP Fri May 19 18:36:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux




Устанавливаю Java в систему, пусть будет пока восьмая версия:




ekzorchik@srv-trusty:~$ sudo apt-add-repository ppa:webupd8team/java




ekzorchik@srv-trusty:~$ sudo apt-get update && sudo apt-get install oracle-java8-installer -y




You MUST agree to the license available in http://java.com/license if you want to use Oracle JDK. - Ok




Do you accept the Oracle Binary Code license terms? - Yes




Как говорят различные руководства нужно в систему установить репозитарий установки MongoDB:




ekzorchik@srv-trusty:~$ echo 'deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list




deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen




ekzorchik@srv-trusty:~$ sudo apt-get update




ekzorchik@srv-trusty:~$ sudo gpg --keyserver keyserver.ubuntu.com --recv 9ECBEC467F0CEB10




ekzorchik@srv-trusty:~$ sudo bash -c "gpg --export --armor 9ECBEC467F0CEB10 | apt-key add -"




OK




ekzorchik@srv-trusty:~$ sudo apt-get update




ekzorchik@srv-trusty:~$ sudo apt-get install mongodb-org -y




ekzorchik@srv-trusty:~$ mongo --version




MongoDB shell version: 2.6.12




Далее устанавливаем ElasticSearch в систему по такому же принципу как добавления репозитария:




ekzorchik@srv-trusty:~$ wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -




OK




ekzorchik@srv-trusty:~$ echo "deb https://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list




deb https://packages.elastic.co/elasticsearch/2.x/debian stable main




ekzorchik@srv-trusty:~$ sudo apt-get update && sudo apt-get install elasticsearch -y




ekzorchik@srv-trusty:~$ sudo update-rc.d elasticsearch defaults 95 10




Далее нужно подправить параметр cluster.name конфигурационного файла ElasticSearch:




ekzorchik@srv-trusty:~$ sudo nano /etc/elasticsearch/elasticsearch.yml




cluster.name: srv-trusty




network.host: localhost




ekzorchik@srv-trusty:~$ sudo service elasticsearch restart




Для проверки, что ElasticSearch работает существует вот такой вот запрос через консоль: (если вывод есть, такой как представлен у меня то все работает)




ekzorchik@srv-trusty:~$ curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'




{




"cluster_name" : "srv-trusty",




"status" : "green",




"timed_out" : false,




"number_of_nodes" : 1,




"number_of_data_nodes" : 1,




"active_primary_shards" : 0,




"active_shards" : 0,




"relocating_shards" : 0,




"initializing_shards" : 0,




"unassigned_shards" : 0,




"delayed_unassigned_shards" : 0,




"number_of_pending_tasks" : 0,




"number_of_in_flight_fetch" : 0,




"task_max_waiting_in_queue_millis" : 0,




"active_shards_percent_as_number" : 100.0




}




Устанавливаем GrayLog2 в систему:




ekzorchik@srv-trusty:~$ sudo apt-get install apt-transport-https




ekzorchik@srv-trusty:~$ wget https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.deb




ekzorchik@srv-trusty:~$ sudo dpkg -i graylog-2.2-repository_latest.deb




ekzorchik@srv-trusty:~$ sudo apt-get update && sudo apt-get install graylog-server -y




Чтобы сервис graylog мог стартовать в автоматическом режиме при загрузке систему нужно:




ekzorchik@srv-trusty:~$ sudo rm -f /etc/init/graylog-server.override




ekzorchik@srv-trusty:~$ sudo service graylog-server start




graylog-server start/running, process 4206




Генерируем секретную фразу




ekzorchik@srv-trusty:~$ sudo apt-get install pwgen -y




ekzorchik@srv-trusty:~$ SECRET=$(pwgen -s 99 1)




ekzorchik@srv-trusty:~$ sudo -E sed -i -e 's/password_secret =.*/password_secret = '$SECRET'/' /etc/graylog/server/server.conf




Теперь создаем пароль на вход в Web—интерфейс Graylog:




ekzorchik@srv-trusty:~$ PASSWORD=$(echo -n 712mbddr@ | shasum -a 256 | awk '{print $1}')




ekzorchik@srv-trusty:~$ sudo -E sed -i -e 's/root_password_sha2 = .*/root_password_sha2 = '$PASSWORD'/' /etc/graylog/server/server.conf




ekzorchik@srv-trusty:~$ ip r




default via 10.7.8.100 dev eth0




10.7.8.0/23 dev eth0 proto kernel scope link src 10.7.9.130




ekzorchik@srv-trusty:~$ sudo nano /etc/graylog/server/server.conf




root_username = admin




#rest_listen_uri = http://127.0.0.1:9000/api/




rest_listen_uri = http://10.7.9.130:12900/




#web_listen_uri = http://127.0.0.1:9000/




web_listen_uri = http://10.7.9.130:9000/




#elasticsearch_index_prefix = graylog




elasticsearch_index_prefix = srv-trusty




После не забываем сохранить внесенные изменения и перезапускаем всю систему с установленным Graylog:




ekzorchik@srv-trusty:~$ sudo reboot




ekzorchik@srv-trusty:~$ sudo netstat -tulpn | grep :9000




tcp6 0 0 10.7.9.130:9000 :::* LISTEN 806/java




Затем открываю браузер и в строку адресу ввожу http://IP&DNS:9000 адрес сервера где составляю данную заметку установки Graylog в систему Ubuntu Trusty Server. В ответ у меня окно приглашения на аутентификацию:







После ввода в соответствующие поля (Username: admin, Password: 712mbddr@) данных нажимаю Sign in. Вот только странно, что меня не пускает, пишет: Invalid credentials, please verify them and retry.




Проверяю:




ekzorchik@srv-trusty:~$ PASSWORD=$(echo -n 712mbddr@ | shasum -a 256 | awk '{print $1}')




ekzorchik@srv-trusty:~$ echo $PASSWORD




0f4e548e505360ce63d651aedf0befd2d01f4cc488344dfa3efdb15ec3e2384e




ekzorchik@srv-trusty:~$ sudo grep root_password_sha2 /etc/graylog/server/server.conf




root_password_sha2 =

Странно, а где значения?




Исправляю.




ekzorchik@srv-trusty:~$ sudo -E sed -i -e 's/root_password_sha2 =.*/root_password_sha2 = '$PASSWORD'/' /etc/graylog/server/server.conf




Проблема была в том, что в первом поиске был символ пробела между символом равенства и точкой.




ekzorchik@srv-trusty:~$ sudo service graylog-server restart




На заметку: сервис стартует не сразу, а через некоторое время.




После переходу к URL вкладе где авторизовываюсь, введя данные нажимаю Sign In. Виже надпись We are preparing Graylog for you… и после меня перекидывает к тому чему я стремился к Web-интерфейсу управления логами. Нажимаю на уведомление в виде красного кружка и в качестве подтверждения что GrayLog работает должно быть только одно уведомление, что не настроены входящие потоки то все хорошо. Но у меня почему-то не так.













Еще раз смотрю документацию и вижу, что рекомендуется в качестве имени кластера использовать надпись graylog. Ну что ж попробую:




ekzorchik@srv-trusty:~$ sudo nano /etc/elasticsearch/elasticsearch.yml




cluster.name: graylog




ekzorchik@srv-trusty:~$ sudo service elasticsearch restart




ekzorchik@srv-trusty:~$ sudo nano /etc/graylog/server/server.conf




elasticsearch_index_prefix = graylog




#elasticsearch_index_prefix = srv-trusty




ekzorchik@srv-trusty:~$ sudo service graylog-server restart
















И вот теперь все хорошо. Graylog успешно запущен и ошибок со стороны кластера ElasticSearch нет. Вот оно оказывается как, да же именование имеет значение. Ну пока я разобрал для себя как установить Graylog2, а далее буду разбирать как им пользоваться. На этом я для себя шпаргалку составил. До новых встреч, с уважением автор блога Олло Александр aka ekzorchik.




Документация по Graylog: https://docs.graylog.org/en/3.2/




Ещё небольшая инструкция по GrayLog: http://samag.ru/archive/article/3828




Источник: https://www.ekzorchik.ru/2017/06/graylog2-log-collection-tool/



2021-04-01T22:18:21
Software

Наиболее распространенные типы вредоносных программ и способы борьбы с ними

Несколько типов вредоносных программ создают разные риски для веб-сайтов и пользователей. Важно знать основные угрозы, понимать, как они действуют и как с ними бороться. Это помогает минимизировать риск кражи данных и других видов киберпреступлений.

Просмотр веб-страниц становится обычным делом для всех, но при использовании Интернета все еще существуют риски.

К сожалению, не каждый пользователь находится в сети, чтобы работать, развлекаться или решать повседневные проблемы.

Кибератаки по-прежнему распространены, и хакеры всегда стремятся изменить способы получения конфиденциальной информации. Одним из таких методов являются многие типы вредоносных программ.

В этой категории есть разные типы атак, и каждая из них по-разному заражает компьютеры и учетные записи веб-служб.

Вредоносное ПО представляет большие риски для работы веб-сайта и, как следствие, для информации пользователей в онлайн-сервисах. Важно знать основные угрозы, чтобы затем научиться с ними бороться.

В этом посте будет подробно описана тема, показаны основные используемые в настоящее время вредоносные программы. Они есть:

  • Червь;
  • Троянский конь;
  • Шпионское ПО;
  • Рекламное ПО;
  • Программы-вымогатели;
  • Черный ход;
  • Пугающее ПО.

Знайте каждого из них, риски, которые они представляют, и как их можно избежать!

 

Червь

Червь — это очень распространенный тип вредоносного ПО, поражающий многие компьютеры. Он может легко реплицироваться, поскольку делает это независимо от какого-либо взаимодействия со стороны зараженного пользователя.

После установки червь может заразить несколько других компьютеров. Пока он активен в одном месте, он может копировать себя на других людей.

Преступники используют червей, чтобы нанести вред компьютерам, препятствуя их нормальной работе. Эти неудачи создают пространство для данных, которые будут украдены и генерировать варьируя повреждения компьютерной сети. Таким образом, черви могут быть весьма повреждая к компании, к примеру.

Как правило, червь используется для саботажа корпоративных сетей и даже шпионажа за стратегической информацией.

Эта вредоносная программа увеличивает нагрузку на сеть до тех пор, пока она не перегрузится, помимо удаления файлов на хосте и блокировки доступа к важной информации компании.

 

Троянский конь

Троянский конь — один из самых известных типов вредоносных программ. Его название является аналогией сказки из греческой мифологии, в которой описывается доставка подарка, который на самом деле предназначался для проникновения и нападения.

Это вредоносное ПО делает нечто подобное, выдавая себя за обычную программу, которая передает вредоносный файл на компьютеры.

Эти файлы достигают пользователей через поддельные вложения электронной почты, программное обеспечение и некоторые другие возможности. Суть троянского коня заключается в том, что иногда он кажется обычным файлом. Это то, что заставляет пользователей скачивать и устанавливать его на свои компьютеры.

Попав на компьютер, троянский конь открывает хакерам черный ход для доступа к информации, компьютерным файлам и конфиденциальным данным пользователей. С помощью этого вредоносного ПО постоянно совершаются финансовые преступления, такие как кража банковских реквизитов.

 

Шпионское ПО

Эксперты по безопасности веб-сайтов знают, насколько опасными могут быть шпионские программы для веб-сайтов. Эта вредоносная программа действует как настоящий шпион, собирая информацию и передавая ее людям, которые разработали и контролируют вредоносное ПО.

В результате многие преступники могут утечь данные с крупных веб-сайтов или использовать кражу информации для шантажа компаний и людей.

Шпионское ПО также может использоваться для атак на обычных пользователей Интернета, поскольку оно позволяет, например, кражу банковских данных и информации о кредитных картах. Поскольку компьютер не наносит вред вредоносным программам, он опасен тем, что позволяет шпионить.

Шпионское ПО может устанавливаться на компьютеры через уязвимости системы безопасности, связанные с операционной системой или даже встроенные в троянский конь.

 

Рекламное ПО

Рекламное ПО является одним из менее агрессивных типов вредоносного ПО, но оно все равно может нанести серьезный ущерб сайту именно потому, что влияет на взаимодействие с пользователем.

Цель состоит не в сборе данных о шантаже или краже денег, а в перенаправлении пользователей на нежелательную рекламу. После установки Adware устраняет барьеры, которые браузер создает для рекламы этого типа.

Люди создают и размещают это вредоносное ПО в сети только по одной причине: они очень прибыльны!

Разработчики зарабатывают деньги каждый раз, когда эта реклама появляется перед пользователем, даже если люди никогда не соглашались просматривать эти баннеры и всплывающие окна. Использование инструментов безопасности хостинга или плагинов безопасности WordPress может помочь решить проблему.

Также важно отметить, что причиной появления рекламного ПО является нарушение безопасности браузера. Так что обновляйте его, когда это возможно, поскольку разработчики всегда нацелены на устранение возможных рисков.

 

Программы-вымогатели

Это типы вредоносных программ, для которых требуется выкуп, чтобы вернуть данные своему владельцу. В своей работе вымогатель запрещает доступ к системе или даже к файлам и данным с компьютера.

Ситуация вызывает отчаяние у пользователя, которому обычно нужно использовать свой компьютер для работы, а затем он решает заплатить выкуп, чтобы получить все обратно.

Программы-вымогатели обычно заражают пользователя с помощью фишинговых писем или доступа к незащищенным веб-сайтам, которые, например, используют недостатки безопасности браузера.

Как правило, эта атака направлена ​​на крупные компании или людей с хорошим финансовым положением, так как за них взимается выкуп.

В некоторых случаях программы-вымогатели используются только как инструмент кражи и раскрытия данных, преступный способ нанести ущерб сайтам и репутации компаний.

 

Пугающее ПО

Пугающее ПО зависит, прежде всего, от того же механизма, который используется в рекламном ПО. Фактически, это разновидность угроз этого типа, но основная цель которой — вызвать страх у пользователя.

Это делается с помощью рекламы, содержащей ложные сообщения о том, что компьютер пользователя заразили вирусы.

Однако финальное действие другое. Пугающее ПО может не просто показывать рекламу, а вести на вредоносные страницы. На этих сайтах пользователя могут заразить несколько типов вредоносных программ.

Поэтому, если вы обнаружите этот тип рекламы на сайте, знайте, что это определенно вредоносное ПО, помимо того, что оно небезопасно. Риск заражения может быть высоким, если браузер пользователя не обновлен должным образом.

Различные типы вредоносных программ представляют опасность для каждого пользователя сети. Поэтому знание его последствий, помимо использования программного обеспечения, способного поддерживать обнаружение угроз в реальном времени, имеет важное значение.

Это гарантирует защиту конфиденциальной информации для пользователей и веб-сайтов.



2021-03-28T23:09:13
Программное обеспечение

Photopea — онлайн-редактор фотографий

Редактируйте свою фотографию в любом месте с помощью этого онлайн-редактора фотографий. Он предлагает расширенные слои, фильтрацию и работает со всеми вашими файлами, такими как .psd и RAW.

 

Особенности Photopea

Photopea-это онлайн-редактор фотографий, который стремится перенести стресс от обработки изображений в облако. Платформа похожа на Pixlr или Photoshop, но она многофункциональна и на 100% онлайн. Вы можете использовать бесплатную версию платформы по этой ссылке, которая включает рекламу и 30 шагов истории, или вы можете выбрать бесплатную 60-ступенчатую премиум-версию.

Премиум-версии можно приобрести с интервалом в 30, 90 и 365 дней.

Варианты команды доступны для 5 или 20 членов команды. Вы можете легко пригласить участников в команду или попросить руководителя группы добавить вас в свою команду, если вы сотрудничаете вместе.

Ключевые особенности Photopea включают в себя:

  • Расширенное наслоение
  • Фильтры
  • Совместимость типов файлов

Расширенное Наслоение

Слои являются основой редактирования изображений и позволяют использовать несколько слоев для создания изображений. Поскольку вы используете слои, вы можете добавлять, удалять или редактировать один слой, не влияя на другие слои изображения.

Параметры слоя позволяют создавать новые слои или копии слоев.

Вы также можете создавать папки слоев, которые позволят вам лучше организовать ваши слои таким образом, чтобы это было значимо для вас. Легко дублируйте или удаляйте слои, а также заполняйте ими весь слой.:

  • Цвет
  • Шаблон
  • Градиент

 

Также доступны полные настройки слоя. Вы можете изменить десятки параметров слоя, от яркости и контрастности до уровней слоя и оттенка. С помощью слоев и корректировок вы можете использовать силу слоев, чтобы оживить свои изображения.

Углубляясь в функции и объекты слоя, вы можете создать:

  • Растровые маски
  • Векторные маски
  • Интеллектуальные объекты

 

Вы также можете сгруппировать слои вместе, чтобы сделать логический смысл вашего дизайна и настроить все слои одновременно. Есть также возможность сгладить изображение или работать с анимированными изображениями.

Уровень утонченности, который предлагает layers, позволяет профессионалам выходить за рамки основ в своих проектах.

Фильтры

Фильтры запускают редактирование фотографий с помощью предустановленных опций для быстрого изменения изображений. Если вы знакомы с другими инструментами или приложениями для редактирования фотографий, вы обнаружите, что многие из замечательных фильтров, которые они предлагают, встроены в продукт Photopea.

Photopea - онлайн-редактор фотографий

 

Photopea имеет множество фильтров, которые включают в себя:

  • 3D
  • Размытие
  • Искажение
  • Шум
  • Оформление
  • Рендеринг
  • Резкость
  • Стилизовать
  • Прочее

 

Существует также доступная галерея фильтров. С добавлением фильтров вы можете создавать или редактировать изображения в Photopea на высокой скорости. Доступны правильные параметры объектива, и Photopea включает в себя различные инструменты выбора, которые можно использовать для выбора частей изображения.

Photopea-это продукт, который творит чудеса как низкобюджетный редактор, который может конкурировать с подобными Photoshop – по гораздо более низкой цене.

Когда вы пройдете через параметры фильтра, вы найдете последний параметр фильтра, который позволяет применить последний фильтр, используемый к другим слоям, группам или выборкам. Вы всегда можете вернуться к своей истории, чтобы отменить действие с 30 до 60 действиями, хранящимися в вашей истории в зависимости от типа вашей учетной записи.

Совместимость типов файлов

Вы можете создавать изображения с нуля с помощью новых проектов или открывать существующие изображения. Если вы хотите быстро создавать изображения, доступны бесплатные шаблоны, которые позволяют любому человеку начать работу с созданием изображений.

Доступны демо-версии, которые показывают вам, как использовать этот инструмент, и вы можете использовать несколько различных типов файлов.

Предоставляются все наиболее распространенные типы файлов, включая, но не ограничиваясь ими:

  • .PSD
  • .XD
  • .sketch
  • .PDF
  • .XCF
  • RAW

 

Photopea имеет возможность перенести ваш интенсивный процесс редактирования фотографий с рабочего стола в облако. Когда вы закончите редактировать фотографию и захотите перейти к следующему этапу, у вас будет несколько доступных вариантов:

  • Опубликуйте фотографию онлайн через платформу, с возможностью публикации непосредственно на Imgur или Photopea.
  • Сохраните файл в формате PSD, чтобы открыть его на других инструментах редактирования фотографий или иметь возможность импортировать этот редактируемый файл обратно в Photopea в будущем.
  • Экспортируйте файл в один из множества различных форматов файлов, включая PNG, JPG, GIF и многие другие.

Вы также можете сделать и отредактировать снимок прямо через инструмент, если планируете разместить его в социальных сетях или на своем собственном веб-сайте. Доступно несколько вариантов, включая экспорт слоев прямо через онлайн-редактор.

Photopea — это надежный онлайн-редактор фотографий, который позволяет любому пользователю использовать возможности редактирования полного и надежного онлайн-редактора фотографий. Вы можете работать вместе в командах, чтобы создавать креативы для вашего следующего маркетингового проекта, или работать в одиночку, чтобы создавать свой контент в социальных сетях или бизнес-иконки, изображения, логотипы и многое другое.



2021-03-23T04:12:25
Программное обеспечение

Настраиваем распределённую файловую систему GlusterFS на CentOS 7

GlusterFS это распределённая, параллельная файловая система с открытым исходным кодом и линейной масштабируемостью. Работает в пользовательском пространстве при помощи технологии FUSE.




Основным преимуществом GlusterFS является то, что мы можем масштабировать хранилище до нескольких петабайт без какого-либо простоя, а также обеспечивает избыточность и высокую доступность хранилища.




Доступ к Gluster-ресурсу можно получать как с использованием FUSE, так и через NFS-протокол версии не ниже третьей. В последнем случае (доступ по NFS) демон Gluster подгружает соответствующий транслятор, который выступает в роли NFS-сервера и не может работать совместно с другими NFS-серверами. Несмотря на то, что разработчики Gluster декларируют совместимость с CIFS, в действительности такая совместимость средствами самого Gluster не обеспечивается, поэтому для экспорта Windows-клиентам необходимо создать разделяемый ресурс средствами Samba. Wikipedia




Ознакомиться с терминологией GlusterFS можно в официальной документации




В статье будет рассмотрен один из примеров построения отказоустойчивого и масштабируемого хранилища. В качестве хостов будут использованы виртуальные с сервера с минимальной установкой CentOS 7.




172.16.1.7 gfs01

172.16.1.8 gfs02

172.16.1.9 gfs03




Заранее добавим эти записи в файл /etc/hosts на каждом сервере.




Установка GlusterFS




Установка дополнительных пакетов.




yum install epel-release -y

yum install yum-priorities yum-utils -y




GlusterFS доступен в репозитории CentOS SIG, установим его:




yum install centos-release-gluster

yum install glusterfs-server




Запускаем сервис и добавляем в автозапуск.




systemctl start glusterd

systemctl enable glusterd




Добавляем правила на firewall для корректной работы сервиса.




# firewall-cmd --zone=public --add-service=nfs --add-service=samba --add-service=samba-client --permanent

# firewall-cmd --zone=public --add-port=111/tcp --add-port=139/tcp --add-port=445/tcp --add-port=965/tcp --add-port=2049/tcp 

--add-port=38465-38469/tcp --add-port=631/tcp --add-port=111/udp --add-port=963/udp --add-port=24007-24009/tcp --add-port=49152-49251/tcp --permanent

# firewall-cmd --reload




Настройка Volume




Формируем доверенный пул хранения




На первом хосте выполняем команды для формирования доверенного пула хранения с соседними хостами.




gluster peer probe gfs01

gluster peer probe gfs02

gluster peer probe gfs03




Проверям статус:




[root@gfs01 ~]# gluster peer status

Number of Peers: 2



Hostname: gfs02

Uuid: 247b073e-1bb2-4784-b3d5-a39a915f3d17

State: Peer in Cluster (Connected)



Hostname: gfs03

Uuid: 3befd565-5cff-48d4-9b8e-f1956119e0b4

State: Peer in Cluster (Connected)



[root@gfs01 ~]# gluster pool list

UUID Hostname State

247b073e-1bb2-4784-b3d5-a39a915f3d17 gfs02 Connected

3befd565-5cff-48d4-9b8e-f1956119e0b4 gfs03 Connected

bc6f57b3-ddb9-4511-b9da-3202950eb43c localhost Connected




Создаём брики




В данной статье рассмотрен вариант в обычными директориями, рекомендуется использовать разделы или тома LVM.




mkdir -p /folder-one && mkdir -p /folder-two




После этого создаём общий ресурс с именем files-one и files-two с репликой 3 (обратите внимание, что количество реплик равно количеству серверов).




gluster volume create files-one replica 3 gfs01:/folder-one gfs02:/folder-one gfs03:/folder-one force

gluster volume create files-two replica 3 gfs01:/folder-two gfs02:/folder-two gfs03:/folder-two force




Запускаем тома




Выполняем запуск созданных томов




gluster volume start files-one

gluster volume start files-two




Проверяем их статус:




[root@gfs01 ~]# gluster volume status files-one

Status of volume: files-one

Gluster process TCP Port RDMA Port Online Pid

------------------------------------------------------------------------------

Brick gfs01:/folder-one 49152 0 Y 31747

Brick gfs02:/folder-one 49152 0 Y 31654

Brick gfs03:/folder-one 49152 0 Y 31632

Self-heal Daemon on localhost N/A N/A Y 31823

Self-heal Daemon on gfs03 N/A N/A Y 31701

Self-heal Daemon on gfs02 N/A N/A Y 31723



Task Status of Volume files-one

------------------------------------------------------------------------------

There are no active volume tasks







[root@gfs01 ~]# gluster volume status files-two

Status of volume: files-two

Gluster process TCP Port RDMA Port Online Pid

------------------------------------------------------------------------------

Brick gfs01:/folder-two 49153 0 Y 31802

Brick gfs02:/folder-two 49153 0 Y 31702

Brick gfs03:/folder-two 49153 0 Y 31680

Self-heal Daemon on localhost N/A N/A Y 31823

Self-heal Daemon on gfs02 N/A N/A Y 31723

Self-heal Daemon on gfs03 N/A N/A Y 31701



Task Status of Volume files-two

------------------------------------------------------------------------------

There are no active volume tasks




Настраиваем отказоустойчивость пулов




gluster volume set files-one network.ping-timeout 5

gluster volume set files-one cluster.quorum-type fixed

gluster volume set files-one cluster.quorum-count 1

gluster volume set files-one performance.quick-read on




gluster volume set files-two network.ping-timeout 5

gluster volume set files-two cluster.quorum-type fixed

gluster volume set files-two cluster.quorum-count 1

gluster volume set files-two performance.quick-read on




network.ping-timeout — устанавливаем период опроса в 5 секунд, вместо 42 по умолчанию.
cluster.quorum-type(нет|auto|fixed) — Если установлено значение fixed, этот параметр разрешает запись в файл, только если количество активных блоков в этом наборе реплик (к которому принадлежит файл) больше или равно количеству, указанному в параметре quorum-count.
cluster.quorum-count — количество блоков, которые должны быть активны в наборе реплик, чтобы разрешить запись.
performance.quick-read(on|off) — включение быстрого чтения для транслятора пула.




Монтируем пулы




Монтируем пулы к рабочим директориям.
К примеру пул files-one будет использоваться для директории /home/pictures, равно как пул files-two для /home/docs. Обратите внимание, что маунт выполняется каждый на своём сервере локально.




# On gfs01

mount -t glusterfs gfs01:/files-one /home/pictures

mount -t glusterfs gfs01:/files-two /home/docs



# On gfs02

mount -t glusterfs gfs02:/files-one /home/pictures

mount -t glusterfs gfs02:/files-two /home/docs



# On gfs03

mount -t glusterfs gfs03:/files-one /home/pictures

mount -t glusterfs gfs03:/files-two /home/docs




Для автоматического монтирования пулов при загрузке необходимо добавить соответствующие записи в /etc/fstab.




# On gfs01

gfs01:/files-one /home/pictures glusterfs defaults,_netdev 0 0

gfs01:/files-two /home/docs glusterfs defaults,_netdev 0 0



# On gfs02

gfs02:/files-one /home/pictures glusterfs defaults,_netdev 0 0

gfs02:/files-two /home/docs glusterfs defaults,_netdev 0 0



# On gfs03

gfs03:/files-one /home/pictures glusterfs defaults,_netdev 0 0

gfs03:/files-two /home/docs glusterfs defaults,_netdev 0 0



2021-03-17T23:13:52
Software

Установка облачного хранилища Nextcloud

Nextcloud – это бесплатное облачное хранилище с открытым исходным кодом. Nextcloud позволяет организовать легкий доступ к своим файлам, фотографиям и документам для работы и совместного использования с членами команды, клиентами и партнерами. В хранилище также есть дополнительные функции, такие как Календарь, Контакты, Планировщик задач, потоковое воспроизведение мультимедиа с помощью Ampache и т. д.




Для синхронизации файлов между рабочим столом и вашим собственным сервером, Nextcloud предоставляет приложения для рабочих столов Windows, Linux и Mac, а также мобильное приложение для Android и iOS.




Что потребуется для установки?




Мы будем устанавливать Nextcloud на сервер Ubuntu 20.04. Необходимым условием являются внешний  ip-адрес и открытые порты 80 и 443.




1.  Установка web-сервера Nginx




Первым делом подключимся к нашему серверу и установим веб-сервер Nginx




sudo apt update
sudo apt install nginx -y




После завершения установки запустим службу Nginx и включим ее старт при загрузке системы с помощью systemctl.




systemctl start nginx
systemctl enable nginx




Проверим, что все запустилось




systemctl status nginx







Установка и настройка PHP 7.4 – FPM




Установим пакеты PHP и PHP-FPM, используя команду ниже:




sudo apt install php-fpm php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 -y




После завершения установки нужно немного отредактировать файлы php.ini для php-fpm и php-cli. Данные изменения необходимо произвести в обоих файлах.




cd /etc/php/7.4/
sudo nano fpm/php.ini
sudo nano cli/php.ini




Раскоментируйте строку date.timezone и измените значение на свой часовой пояс.




date.timezone = Europe/Moscow




Раскоментируйте строку ‘cgi.fix_pathinfo’ и измените значение на ‘0’.




cgi.fix_pathinfo=0




Сохраняем изменения и выходим.




Теперь отредактируем файл www.conf




sudo nano fpm/pool.d/www.conf




Найдем и раскоментируем следующие строки:




env [HOSTNAME] = $HOSTNAME
env [PATH] = /usr/local/bin:/usr/bin:/bin
env [TMP] = /tmp
env [TMPDIR] = /tmp
env [TEMP] = /tmp




Сохраняем файл и выходим.




Следующим шагом нужно перезапустить службу PHP7.4-FPM  и включить ее автозагрузку.




systemctl restart php7.4-fpm
systemctl enable php7.4-fpm




Проверим что сервис работает с помощью следующей команды:




ss -xa | grep php
systemctl status php7.4-fpm







Вы увидите, что php-fpm запущен и работает под файлом sock ‘/run/php/php7.4-fpm.sock’.




3. Установка и настройка сервера MariaDB




Следующий шаг – установка базы данных. Установите последнюю версию сервера MariaDB, используя команду:




sudo apt install mariadb-server -y




После завершения установки запустим службу MariaDB и включим ее запуск при каждом старте системы.




systemctl start mariadb
systemctl enable mariadb




Проверяем:




systemctl status mariadb







Следующий шаг – настройка безопасности  SQL-сервера. У вас спросят о некоторых настройках сервера MariaDB. После ответа на вопрос Set root password? введите новый пароль root для SQL-сервера MariaDB




mysql_secure_installation




Enter current password for root (enter for none): Press Enter
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y




Теперь создадим новую базу данных для установки nextcloud. Назовем базу данных «nextcloud_db» с пользователем «nextclouduser» и паролем «PaSsW0rD@».




Войдите в оболочку MySQL от имени пользователя root с помощью команды mysql.




mysql -u root -p




Введите пароль root SQL-сервера MariaDB.




Создадим базу данных и пользователя:




create database nextcloud_db;
create user nextclouduser@localhost identified by 'PaSsW0rD@';
grant all privileges on nextcloud_db.* to nextclouduser@localhost identified by 'PaSsW0rD@';
flush privileges;
exit;




Установка и настройка MariaDB для Nextcloud завершена.




4. Генерация SSL-сертификата Letsencrypt




Установите инструмент letsencrypt, используя команду apt ниже:




sudo apt install certbot -y




После завершения установки остановите службу nginx.




systemctl stop nginx




Сгенерируем SSL-сертификаты для доменного имени ‘cloud.admin812.ru’, используя командную строку cerbot.




certbot certonly --standalone -d cloud.admin812.ru




Вам будет предложено ввести адрес электронной почты на который будет приходить уведомление о необходимости продления сертификата.




Следующим шагом будет вывод на экран оглашения об обслуживании. Нажимаем “А” (Agree) и после этого запускается процесс генерации сертификата. По окончании появится надпись об успешном завершении процесса и можно приступать непосредственно к установке Nextcloud.




5. Скачиваем Nextcloud




Перед загрузкой исходного кода nextcloud убедитесь, что в системе установлен пакет unzip. Если у вас его нет пакета, установите его:




sudo apt install wget unzip zip -y




Теперь перейдем в каталог /var/www и скачаем последнюю версию Nextcloud:




cd /var/www/
wget -q https://download.nextcloud.com/server/releases/latest.zip




Распакуем архив и изменим владельца каталога nextcloud на пользователя ‘www-data’:




unzip -qq latest.zip
sudo chown -R www-data:www-data /var/www/nextcloud




6. Настраиваем виртуальный хост Nginx для Nextcloud




В каталоге /etc/nginx/sites-available создадим новый файл виртуального хоста nextcloud.




cd /etc/nginx/sites-available/
sudo nano nextcloud




Вставим следующую конфигурацию виртуального хоста nextcloud.




upstream php-handler {
#server 127.0.0.1:9000;
server unix:/var/run/php/php7.4-fpm.sock;
}
server {
listen 80;
listen [::]:80;
server_name cloud.admin812.ru;
# enforce https
return 301 https://$server_name:443$request_uri;
}
#
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name cloud.admin812.ru;
#
# Use Mozilla's guidelines for SSL/TLS settings
# https://mozilla.github.io/server-side-tls/ssl-config-generator/
# NOTE: some settings below might be redundant
ssl_certificate /etc/letsencrypt/live/cloud.admin812.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/cloud.admin812.ru/privkey.pem;
#
# Add headers to serve security related headers
# Before enabling Strict-Transport-Security headers please read into this
# topic first.
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
#
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
#
# Remove X-Powered-By, which is an information leak
fastcgi_hide_header X-Powered-By;
#
# Path to the root of your installation
root /var/www/nextcloud;
#
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
#
# The following 2 rules are only needed for the user_webfinger app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
#
# The following rule is only needed for the Social app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/webfinger /public.php?service=webfinger last;
#
location = /.well-known/carddav {
return 301 $scheme://$host:$server_port/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host:$server_port/remote.php/dav;
}
#
# set max upload size
client_max_body_size 512M;
fastcgi_buffers 64 4K;
#
# Enable gzip but do not remove ETag headers
gzip on;
gzip_vary on;
gzip_comp_level 4;
gzip_min_length 256;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
#
# Uncomment if your server is build with the ngx_pagespeed module
# This module is currently not supported.
#pagespeed off;
#
location / {
rewrite ^ /index.php;
}
#
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
deny all;
}
location ~ ^/(?:.|autotest|occ|issue|indie|db_|console) {
deny all;
}
#
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|oc[ms]-provider/.+).php(?:$|/) {
fastcgi_split_path_info ^(.+?.php)(/.*|)$;
set $path_info $fastcgi_path_info;
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $path_info;
fastcgi_param HTTPS on;
# Avoid sending the security headers twice
fastcgi_param modHeadersAvailable true;
# Enable pretty urls
fastcgi_param front_controller_active true;
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
#
location ~ ^/(?:updater|oc[ms]-provider)(?:$|/) {
try_files $uri/ =404;
index index.php;
}
#
# Adding the cache control header for js, css and map files
# Make sure it is BELOW the PHP block
location ~ .(?:css|js|woff2?|svg|gif|map)$ {
try_files $uri /index.php$request_uri;
add_header Cache-Control "public, max-age=15778463";
# Add headers to serve security related headers (It is intended to
# have those duplicated to the ones above)
# Before enabling Strict-Transport-Security headers please read into
# this topic first.
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
#
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
# Optional: Don't log access to assets
access_log off;
}
location ~ .(?:png|html|ttf|ico|jpg|jpeg|bcmap)$ {
try_files $uri /index.php$request_uri;
# Optional: Don't log access to other assets
access_log off;
}
}




Замените выделенное красным на свое доменное имя.




Включите виртуальный хост, протестируйте конфигурацию и убедитесь, что нетv ошибок.




ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/
nginx -t




Если ошибок нет, перезапустите сервис PHP7.4-FPM и nginx.




systemctl restart nginx
systemctl restart php7.4-fpm




Конфигурация виртуального хоста Nginx для nextcloud создана.




7. Подключение к Nextcloud




Откройте веб-браузер и введите URL-адрес nextcloud. Вы будете автоматически перенаправлены на соединение https.




Нам нужно создать пользователя-администратора для Nextcloud и ввести пароль.




Также нужно настроить соединение с базой данных. Для этого введите название базы данных, имя пользователя и пароль которые мы создали на шаге 3, а затем нажмите кнопку «Finish».




И после завершения установки вы получите панель Nextcloud, как показано ниже.







Источник: https://admin812.ru/ustanovka-oblachnogo-hranilishha-nextcloud.html



2021-03-17T21:20:05
Software

Как включить аутентификацию на сервере Jitsi

В предыдущей заметке мы настраивали сервер Jitsi. По умолчанию любой, кто знает URL вашего сервера, может подключиться и начать сеанс видеоконференцсвязи.
Настроим Jitsi таким образом, чтобы права на создание чат-комнаты были только у конкретного авторизованного пользователя. Затем вы сможете поделиться этой ссылкой с кем угодно и все остальные участники смогут присоединиться анонимно. Это лучший способ запуска Jitsi. Вы знаете, что на вашем сервере не будут выполняться несанкционированные сеансы видеоконференций, но вы все равно можете приглашать кого угодно, и ваши приглашенные не должны иметь учетную запись на сервере Jitsi.
Аутентификация выполняется через компоненту Prosody. Включим ее на нашем сервере – в нашем примере это  jitsi.admin812.ru.
Для этого нужно отредактировать файл /etc/prosody/conf.avail/[ВАШ-ДОМЕН].cfg.lua




sudo nano -w /etc/prosody/conf.avail/jitsi.admin812.ru.cfg.lua




Найдите раздел «VirtualHost» и строку




authentication = "anonymous"




Заменим ее на




authentication = "internal_plain"




Это отключает анонимную аутентификацию для главного URL-адреса хоста сервера.
Однако нам также необходимо создать новый виртуальный хост для наших гостей, чтобы облегчить их анонимные подключения. Прокрутите до конца файла и добавьте эти строки, чтобы создать новый виртуальный хост с методом анонимного входа (используйте свое полное доменное имя):




VirtualHost "guest.jitsi.admin812.ru"
    authentication = "anonymous"
    c2s_require_encryption = false




VirtualHost, который мы только что создали – guest.jitsi.admin812.ru – используется только для Jitsi внутри – нет необходимости создавать отдельную запись DNS A для этого полного доменного имени.




Далее нам нужно настроить наш вновь созданный VirtualHost / анонимный домен в нашем файле config.js:




sudo nano -w /etc/jitsi/meet/jitsi.admin812.ru-config.js




Прямо в верхней части файла в разделе  var config = { …    вы должны увидеть строку, которая начинается с «anonymousdomain». Раскомментируйте эту строку и добавьте свое полное доменное имя:




anonymousdomain: 'guest.jitsi.admin812.ru',







Далее нам нужно указать службе Jicofo разрешать запросы только от нашего аутентифицированного домена.




sudo nano -w /etc/jitsi/jicofo/sip-communicator.properties




Добавьте новую строку в конец этого файла: org.jitsi.jicofo.auth.URL = XMPP: jitsi.admin812.ru







Теперь давайте перезапустим службы Jitsi:




sudo systemctl restart prosody
sudo systemctl restart jicofo
sudo systemctl restart jitsi-videobridge2




Осталось добавить пользователя, который может создавать комнаты видеоконференций. Итак, чтобы создать пользователя ‘vasya’ с паролем ‘PassW0rd’, вы должны выполнить:




sudo prosodyctl register vasya jitsi.admin812.ru PassW0rd




Теперь если вы войдете на свой сервер Jitsi и начнете новое собрание, вам сообщат, что конференция ожидает организатора. Нажмите на кнопку “I am the host” и после этого введите введите имя пользователя и пароль, которые вы создали с помощью команды prosodyctl.




Ваша видеоконференция началась! Теперь вы можете поделиться ссылкой на видеоконференцию с другими людьми.  Для большей безопасности рекомендуется добавить пароль к вашей конференции.




Источник: https://admin812.ru/kak-vklyuchit-autentifikacziyu-na-servere-jitsi.html



2021-03-17T21:14:10
Software