Как стать автором
Обновить

Установка MongoDB в условиях санкций через прокси

Время на прочтение4 мин
Количество просмотров18K

В нынешней ситуации многие сервисы блокируют доступ из РФ, я покажу как можно обойти этот запрет с помощью ProxyChains и Tor на примере MongoDB.

Устанавливал на Linux Ubuntu 22.04


1. Для начала обновите систему Linux

sudo apt update && sudo apt upgrade

2. Установка Tor и Proxychains

sudo apt install proxychains tor -y

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


3. Настройка ProxyChains

Открываем конфиг

nano /etc/proxychains.conf

3.1 Динамическая цепочка должна быть раскомменчена

Все, что вам нужно сделать, это убрать символ # перед dynamic_chain.

dynamic_chain
#
# Dynamic - Each connection will be done via chained proxies
# all proxies chained in the order as they appear in the list
# at least one proxy must be online to play in chain
# (dead proxies are skipped)
# otherwise EINTR is returned to the app

3.2 Поместите комментарий перед random_chain и strict_chain. Просто добавьте # перед ними.

#random_chain
#
# Random - Each connection will be done via random proxy
# (or proxy chain, see  chain_len) from the list.
# this option is good to test your IDS :)
...
#strict_chain

3.3 Таким образом вы избежите утечки DNS, которая может раскрыть ваш истинный IP-адрес.

# Proxy DNS requests - no leak for DNS data
proxy_dns

3.4 Добавьте socks5 127.0.0.1 9050 в список прокси последней строкой.

[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks4  127.0.0.1 9050 
socks5  127.0.0.1 9050 

Здесь уже будет указан socks4 proxy. Вам нужно добавить socks5 proxy, как показано выше. И, наконец, сохраните файл конфигурации и выйдите из терминала.


4 Использование ProxyChains

На всякий случай основные команды TOR

Чтобы проверить состояние Tor:

service tor status

Чтобы запустить службу tor :

service tor start

Чтобы остановить службу tor :

service tor stop

4.1 Запуск. Для начала запускаем службу TOR

service tor start

Чтобы использовать ProxyChains, просто введите команду ProxyChains в терминале, а затем имя приложения, которое вы хотите использовать.

Формат следующий:

Например чтобы использовать Nmap, sqlmap, firefox:

proxychains nmap -targetaddress
proxychains python sqlmap -u target
proxychains firefox www.flippa.com

Для теста смотрим свой текущий внешний IP сервера

wget -qO- eth0.me

далее смотрим через проксик

proxychains wget -qO- eth0.me

Если меняется то всё сделано правильно


5. Наконец-то установка MongoDB

Для начала импортируйте публичный ключ GPG для последней стабильной версии MongoDB. Вы можете найти соответствующий файл ключа на сервере ключей MongoDB. Вам нужно найти файл, который включает номер последней стабильной версии и заканчивается на .asc. Например, если вы хотите установить MongoDB версии 5.0, необходимо искать файл с именем server-5.0.asc.

curl -fsSL https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -

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

Также обратите внимание, что команда curl использует опции -fsSL, которые вместе указывают cURL не выполнять скрипт без каких-либо обязательств. Это означает, что, если по какой-либо причине cURL не может связаться с сервером GPG, либо сервер GPG не работает, он не добавит полученный код ошибки к вашему списку доверенных ключей случайно.

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

apt-key list

Запустите следующую команду, которая создает файл в каталоге sources.list.d под именем mongodb-org-5.0.list. В этом файле содержится только одна строка: deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse:

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
Эта единственная строка указывает APT все, что необходимо знать об источнике, и где его найти:
  • deb: означает, что источник ссылается на обычную архитектуру Debian. В других случаях эта часть строки может выглядеть как deb-src. Это означает, что источник представляет исходный код дистрибутива Debian.

  • [ arch=amd64,arm64 ]: указывает, в какие архитектуры загружать данные APT. В данном случае это архитектуры amd64 и arm64.

  • https://repo.mongodb.org/apt/ubuntu: это URI, представляющий местоположение данных APT. В данном случае URI указывает на адрес HTTPS, где находится официальный репозиторий MongoDB.

  • focal/mongodb-org/5.0: репозитории Ubuntu могут содержать несколько разных выпусков. Это означает, что вам нужна только версия 5.0 пакета mongodb-org, доступная для выпуска Ubuntu focal («Focal Fossa» — это кодовое название Ubuntu 20.04).

  • multiverse: эта часть указывает APT на один из четырех основных репозиториев Ubuntu. В данном случае — на репозиторий multiverse.

После запуска этой команды обновите локальный индекс пакетов вашего сервера, чтобы APT знал, где найти пакет mongodb-org: Т.к. сайт и репозитории для РФ более недоступны, используем проксик

sudo proxychains apt update

После этого вы можете установить MongoDB:

sudo proxychains apt install mongodb-org

Выполните следующую команду systemctl, чтобы запустить службу MongoDB:

sudo systemctl start mongod.service

Затем проверьте статус службы.

sudo systemctl status mongod

После подтверждения того, что служба работает нормально, установите активацию службы MongoDB при загрузке:

sudo systemctl enable mongod

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

mongo --eval 'db.runCommand({ connectionStatus: 1 })'

connectionStatus проверяет и возвращает статус подключения базы данных. Значение 1 поля ok в ответе означает, что сервер работает нормально

Теперь можно выключить Tor и работать дальше

service tor stop

На этом всё. Цель была показать только способ установки.

Мануал по установке MongoDB взят из DigitalOcean + мои правки и другие статьи по proxychains, оригиналы найти не удалось, т.к. давно это было. Если кто-то подскажет ещё какой-то способ, то дополню статью.

Спасибо за внимание!

Теги:
Хабы:
Всего голосов 22: ↑10 и ↓12-2
Комментарии15

Публикации

Истории

Ближайшие события

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург