Поднимаем NFS сервер на Ubuntu

Почему?

😪Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.

Убедившись, что запуск бесполезен, давайте посмотрим, какие порты открывает nfs.

[[email protected] ~]# netstat -tulnp |grep -E ‘(rpc|nfs)’

Перезапустите игру


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

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

Просмотр системной информации

[[email protected] ~]# cat /etc/redhat-release
CentOS release 7.3.1611 (AltArch)
[email protected] ~]# uname -a
Linux server7.ctos.zu 3.10.0-514.el7.centos.plus.i686 #1 SMP Wed Jan 25 12:55:04 UTC 2022 i686 i686 i386 GNU/Linux

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

Перезагрузите консоль/ПК

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

Принцип монтирования NFS

Схема монтажа NFS-сервера:

Как показано выше:

Когда мы настраиваем общий каталог / home / public на сервере NFS, другие клиенты NFS, имеющие доступ к серверу NFS, могут подключить этот каталог к ​​точке монтирования своей файловой системы. Эта точка монтирования может Определите самостоятельно, как показано на рисунке выше, каталоги, смонтированные клиентом A и клиентом B, разные.

А после монтирования мы можем видеть все данные сервера / домашнего / общедоступного локально. Если клиент, настроенный на стороне сервера, доступен только для чтения, то клиент может быть только для чтения. Если вы настроили чтение и запись, клиент может читать и писать. После монтирования клиент NFS просматривает информацию о диске командой: #df -h.

Поскольку NFS использует сеть для передачи данных между сервером и клиентом, должен быть соответствующий сетевой порт для передачи данных между ними.Какой порт сервер NFS использует для передачи данных?В основном порт сервера NFS открыт на 2049, но файловая система очень сложная.

Следовательно, в NFS есть другие программы для запуска дополнительных портов.Эти дополнительные порты, используемые для передачи данных, выбираются случайным образом и имеют размер меньше 1024;Поскольку он случайный, как клиент узнает, какой порт используется сервером NFS? В настоящее время это должно быть достигнуто с помощью протокола удаленного вызова процедур (Remote Procedure Call, RPC)!

Установка программного обеспечения NFS

Для развертывания службы NFS должны быть установлены следующие два пакета программного обеспечения: nfs-utils: основная программа NFS, rpcbind: основная программа PRC;

И сервер NFS, и клиент должны установить эти два программного обеспечения.

Примечание: сервер NFS RPC, имя в Centos5 – portmap, а имя в CentOS6 и CentOS7 – rcpbind.

Программный пакет NFS

nfs-utils: основная программа NFS, включая rpc.nfsd и rpc.mount двух демонов

rpcbind: основная программа RPC

2.1, просмотрите программный пакет NFS

 [[email protected] ~]# rpm -qa | egrep “nfs|rpcbind”

[[email protected] ~]#

Мой выпуск CentOS 7.3.1611 – это минимальная установка, а nfs и rpcbind не установлены по умолчанию

Наличие установочного пакета в поиске Yum

[[email protected] ~]# yum search nfs-utils  rpcbind

2. Установите службы NFS и RPC

[[email protected] ~]# yum install nfs-utils  rpcbind

[[email protected] ~]# rpm -qa  | egrep “nfs|rpcbind”

rpcbind-0.2.0-38.el7_3.1.i686

nfs-utils-1.3.0-0.33.el7_3.i686

libnfsidmap-0.25-15.el7.i686

Проверьте, какие файлы установлены на компьютере для этих двух пакетов;

[[email protected] ~]# rpm -ql nfs-utils

Запустите службу NFS.

3.1. Запустите службу rpcbind перед запуском службы NFS.

Просмотр статуса rcpbind

Примечание. После успешной установки rpcbind уже включен по умолчанию и запускается автоматически после загрузки. Если не запустился, перезапустим службу rcpbind

[[email protected] ~]# systemctl restart  rpcbind

Просмотр порта PRC

[[email protected] ~]# netstat -tlunp |grep rpcbind

Перед запуском NFS проверьте информацию о порте, зарегистрированную службой NFS в PRC.

[[email protected] ~]# rpcinfo -p localhost

3.2, запустите службу NFS после запуска службы RPC

Проверить состояние

[[email protected] ~]# systemctl status  nfs

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

[[email protected] ~]# systemctl start nfs

[[email protected] ~]# systemctl enable nfs

После запуска NFS мы снова проверяем информацию о порте, зарегистрированную rpc

[[email protected] ~]# rpcinfo -p localhost

Как RPC взаимодействует с NFS

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

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

Тогда как RPC узнает порт каждой функции NFS?

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

Совет: Перед запуском NFS SERVER необходимо сначала запустить службу RPC (то есть службу portmap, то же самое ниже), в противном случае NFS SERVER не сможет зарегистрироваться в области обслуживания RPC. Кроме того, если служба RPC перезапущена, данные ранее зарегистрированного порта NFS будут Все потеряно.

Следовательно, программа NFS, управляемая службой RPC, должна быть перезапущена для повторной регистрации в RPC. Специальное примечание: Как правило, после изменения файла конфигурации NFS нет необходимости перезапускать NFS. Вы можете напрямую выполнить /etc/init.d/nfs reload или exportfs -rv, чтобы изменить / etc / exports.

Отключите ваш брандмауэр/антивирус

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

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

Bitdefender обеспечивает отличную защиту, а благодаря функции «Игровой режим» он никак не повлияет на ваши игровые сессии.

– Загрузите антивирус Bitdefender 2022 .

Измените ваше интернет-соединение

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

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

Процесс связи между клиентом NFS и сервером NFS.

1) Сначала запустите службу RPC на стороне сервера и откройте порт 111

2) Сервер запускает службу NFS и регистрирует информацию о порте с помощью RPC.

3) Клиент запускает RPC (службу portmap) и запрашивает порт NFS сервера у службы RPC (portmap) сервера.

4) Служба RPC (portmap) сервера возвращает клиенту информацию о порте NFS.

5) Клиент устанавливает соединение NFS с сервером через полученный порт NFS и передает данные.

Настройте службу NFS.

Программное обеспечение NFS очень простое, основной файл конфигурации: / etc / exports, содержимое по умолчанию пусто, если такого файла нет, вы можете использовать vim для активного создания этого файла. Что касается настройки сервера NFS, то это тоже очень просто.

Перезагрузите роутер

Если проблема не устранена, попробуйте перезагрузить маршрутизатор. Обычно это создает новое соединение с вашим интернет-провайдером (ISP), и это может помочь.

Шаги:

  1. Выключите роутер.
  2. Теперь отключите его.
  3. Подождите около минуты, а затем снова подключите его к источнику питания.
  4. Включите его снова и посмотрите, стабилизируется ли соединение.

Если у вас есть модем и маршрутизатор, повторите эти шаги для обоих устройств.

Ремонт вашей сети


Теперь предположим, что основной причиной ошибки Произошла ошибка при подключении к серверам EA в вашей сети. Чтобы это исправить, сделайте следующее:

  1. Нажмите кнопку Пуск и выберите Настройки.
    Поднимаем NFS сервер на Ubuntu
  2. Теперь выберите Сеть и Интернет .
    Поднимаем NFS сервер на Ubuntu
  3. Введите Сеть в выделенном окне поиска и выберите найти и устранить проблемы с сетью и подключением .
    Поднимаем NFS сервер на Ubuntu
  4. Нажмите «Далее» и следуйте оставшимся шагам, чтобы увидеть, как это получается.
    Поднимаем NFS сервер на Ubuntu

Если вы все еще застряли, сделайте следующее:

  1. Нажмите Пуск и введите cmd в поле поиска.
  2. Нажмите правой кнопкой мыши параметр cmd и выберите Запуск от имени администратора. Нажмите Да , если появится запрос UAC (Контроль учетных записей).
    Поднимаем NFS сервер на Ubuntu
  3. Введите эти команды (нажмите Enter после каждой записи):

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

Другие советы

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


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

Так что подождите несколько часов, затем повторите попытку.

  • Поддерживается ли ваша игра? . Кроме того, некоторые игры, особенно старые, не поддерживаются EA для онлайн-игр, поэтому проверьте состояние вашей игры на веб-сайте EA.
  • Запустите игру от имени администратора . Для некоторых игр требуются определенные разрешения Windows, поэтому может помочь запуск их в качестве администратора. Щелкните правой кнопкой мыши ярлык игры на рабочем столе и выберите R un от имени администратора .

Итак, вот некоторые решения, которые могут помочь вам исправить При подключении к серверам EA на вашем ПК с Windows 10 возникла проблема.

Network file system (nfs)

Network File System (NFS) — протокол сетевого доступа к файловым системам, позволяет подключать (монтировать) удалённые файловые системы через сеть, обеспечивает пользователям доступ к файлам, позволяет работать с этими файлами точно так же, как и с локальными.

Большинство представленных на рынке Network-attached storage (NAS), конечно же, поддерживают NFS, и предоставляют доступ к локальным ресурсам равно как и на любом сервере с операционной системой, в которой возможно развернуть службу NFS.

Настройки доступа к ресурсам сервера с какой-нибудь ОС Ubuntu и IP-адресом 192.168.1.1 содержатся в файле /etc/exports и представляют собой записи вида:

  • /data/place1 192.168.1.0/255.255.255.0(rw,no_subtree_check,nohide,async) 192.168.101.0/255.255.255.0(rw,no_subtree_check,nohide,async)
  • data/place2 192.168.1.0/255.255.255.0(rw,no_subtree_check,nohide,async) 192.168.101.0/255.255.255.0(rw,no_subtree_check,nohide,async)

В данном случае доступ по NFS к серверу и его ресурсу /data/place1 возможен для клиентов с IP-адресами из сетей 192.168.1.0/255.255.255.0, 192.168.101.0/255.255.255.0.

Визуализация таблицы с результатом

Приступим. Есть таблица с набором колонок со значениями от исполнения модуля пользователя. Но если обратить внимание на кнопку Sсhema окна Requests – она неактивна. Потому как не задано отображение таблицы в граф и его необходимо задать.

Использование своего модуля в lampyre

В связи с тем, что используется ssh и исполнение команды showmount, конечно же, необходимо иметь доступ к своему серверу по ssh. У меня для тестов такую роль выполняла виртуальная машина в Virtualbox c Ubuntu и установленным на ней NFS-клиентом.

Для работы с собственными модулями на машине пользователя необходим Python 3.6, путь к интерпретатору должен быть в системных переменных, либо указан путь до него в файле LampyreconfigappSettings.config. По умолчанию ключ pythonPath в настройках закомментирован.

Загрузка модуля в Lampyre осуществляется следующими шагами:

Как использовать api lampyre и написать свой модуль

От модуля будет требоваться принимать на вход список из IP-адресов или список из подсетей в виде 192.168.0/24 — на данном этапе, необходимо будет самостоятельно в коде осуществлять валидацию корректности входных данных на причастность строк к IP-адресам, в случае подсети — преобразовать в список IP.

Следующим шагом, посредством библиотеки Python paramiko будет осуществляться обращение к личному ssh серверу и последовательный (попытка асинхронности в коде концепта модуля присутствует) вызов команды:timeout {timeouts} showmount –no-headers -e {ip}Вывод результата будет разбираться посредством кода на Python в выводную структуру, таблицу: список из словарей в Python.Ключи в словаре:

Далее, по замыслу концепта, осуществляется примитивная попытка разобрать значение ключа status_ip на предмет: IP-адрес, запись хоста, значения «*» или «everyone»

Согласно документации к API и пояснениях от support Lampyre.io — каждый модуль должен возвращать данные в таблицу, одну или несколько, но таблица должна быть описана в рамках API (Task headers, table header). Фактически — это основной результат работы модуля.Таким образом, конечный результат с учетом ключей словаря будет таблицей:

Как следует настроить / etc / exports?

[[email protected] etc]# vi /etc/exports

/tmp/data      192.168.1.0/24(ro)          client-A.ctos.zu(rw,sync)

# [Общий каталог] [адрес клиента 1 (разрешение)] [адрес клиента 2 (разрешение)]

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

Общий каталог:Каталог, который существует на нашем локальном компьютере, мы хотим поделиться им с другими хостами в сети. Если я хочу предоставить общий доступ к каталогу / tmp / data, то этот параметр может напрямую записывать данные в каталог / tmp / data.Этот каталог может использоваться разными хостами в соответствии с различными разрешениями.

Адрес клиента 1 (параметр 1, параметр 2): адрес клиента может быть установлен для сети или отдельного хоста.Параметры: такие как права чтения и записи rw, синхронная синхронизация обновлений, сжатая учетная запись посетителя all_squash, сжатая анонимная учетная запись anonuid = uid, anongid = gid и т. Д .;

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

1). Вы можете использовать полный IP-адрес или номер сети, например 192.168.100.100 или 192.168.8.0/24.

Настройка

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

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

Итак, скачиваем пакет nfs-kernel-server, с помощью которого мы сможем раздать доступ (“расшарить”) директории. Для этого на будущем NFS сервере вводим команды:

sudo apt-get update
sudo apt-get install nfs-kernel-server

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

sudo mkdir /var/nfs

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

sudo chown nobody:nogroup /var/nfs

Вводите эту команду только для тех директорий, которые создали сами, не надо вводить её для уже имеющихся директорий, например /home .

Следующим шагом необходимо изменить конфигурацию самого NFS, она лежит в файле /etc/exports, открываем его для редактирования любимым редактором:

sudo nano /etc/exports

Перед вами откроется конфигурационный файл с закомментированными строками, которые содержат примеры настройки для разных версий NFS.

Закомментированные – это те, в начале которых стоит символ #, и это значит, что параметры, указанные в них, не имеют силы.

Нам необходимо внести в этот файл следующие не закомментированные строки:

/var/nfs    10.10.0.10/24(rw,sync,no_subtree_check)

Где:

  • /var/nfs – Директория, которую мы хотим расшарить
  • 10.10.0.10 – IP-адрес и маска клиентского компьютера, которому нужно раздать доступ к директории
  • rw – Разрешает клиенту читать (r) и записывать (w) файлы в директории
  • sync – Этот параметр заставляет NFS записывать изменения на диск перед ответом клиенту.
  • no_subtree_check – Данная опция отключает проверку того, что пользователь обращается именно к файлу в определённом подкаталоге. Если это проверка включена, то могут возникнуть проблемы, когда, например, название файла или подкаталога было изменено и пользователь попробует к ним обратиться.

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

sudo exportfs –a
sudo service nfs-kernel-server start

После выполненных действий расшаренные директории должны стать доступными для доступа с клиентов.

Получение ip-адресов

В отношении обнаружения серверов со службой NFS в глобальном Интернете возможны 2 способа: самостоятельно, используя различные инструменты, и готовые сторонние результаты сканирования, базы данных и сервисы. Фактически всё сводится к получению списка IP-адресов. В локальной сети, полагаю, вариант очевиден — действовать самостоятельно.

Свидетельством функционирования сервиса NFS могут выступать открытые TCP-порты 111, 2049.Для самостоятельного получения списка IP-адресов серверов достаточно просканировать диапазон адресов или целиком подсети на наличие указанных открытых портов. Для этого подойдет любой инструмент: nmap, masscan и так далее.

Например, командой masscan -p111,2049 200.26.1XX.0/24 —rate=10000 будет за несколько секунд сканирована сеть 200.26.1XX.0/24 на предмет открытых портов 111, 2049:Scanning 256 hosts [2 ports/host]Discovered open port 2049/tcp on 200.26.1XX.

28Discovered open port 111/tcp on 200.26.1XX.15Discovered open port 111/tcp on 200.26.1XX.20Discovered open port 111/tcp on 200.26.1XX.28Дальше к каждому из обнаруженных IP-адресов возможно применить команду:showmount –no-headers -e 200.26.1XX.

28Результат:/usr/common *Очевидно, что самому сканировать миллионы IP-адресов пространства Интернет возможно, но это не самый быстрый путь и тогда решением подзадачи может выступить замечательный сервис Shodan, есть конечно и другие, но этот с очень удобным синтаксисом и API.

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

В Shodan много возможностей целевого поиска, но отдельного поиска по NFS я не нашел, как, например, есть по критерию product с указанием названия продукта: mongodb, elastic или apache. Поэтому через Web NFS возможно искать по следующим запросам: nfs, tcp 2049, tcp 111, Portmap:2049 и так далее, как угодно.

Или установить клиент Shodan(CLI), инициализировать свой API KEY к сервису и из командной строки вызвать поиск, например:

  1. shodan search –fields ip_str,port Portmap:2049
  2. shodan search –fields ip_str,port –separator, nfs
    Результат:
    139.196.154.23,111,
    198.27.116.37,111,
    95.211.192.96,111,
    80.23.66.122,111,
    210.116.82.97,111,
    192.198.82.3,111,
    165.227.67.242,111,
    116.12.48.9,111,
    85.34.250.102,111,
    182.75.249.197,111,
    192.151.212.175,111,
    119.216.107.127,111,
    217.59.68.2,111,
    178.159.12.97,111,

Итак, как получить списки IP-адресов устройств с действующей службой NFS – понятно.

Получение информации о доступных ресурсах службы nfs на конкретных серверах.

Для решения этой задачи массово есть множество путей: написать bash-скрипты, организовать хитрый pipeline из цепочки команд с вызовом showmount и другие варианты — кому что нравится.

Я же в своих изысканиях решил эту задачу на Python, причем двумя разными способами. Первый — с подключением посредством ssh к своему личному серверу на Ubuntu с NFS-клиентом и последующим вызовом на нем команды showmount с искомым пулом IP-адресов. Второй вариант решения — на чистом Python.

Предполагаю, что может возникнуть вопрос: почему так сложно, почему на Python?

Потому что, как и в предыдущей своей статье на Хабр, я буду использовать инструмент Lampyre, к которому 26 февраля опубликовали API, позволяющий писать на Python свои модули к платформе.

Я решил протестировать возможности API. Ключевой момент — в Lampyre уже есть несколько «requests» к Shodan, тем более что иметь свой API KEY от сервиса пользователю не надо. Таким образом, одним запросом можно получить списки IP-адресов с поднятым NFS сервисом, а вторым запросом, написанный мной модуль будет проверять доступные ресурсы и визуализировать результат с характеристиками ресурсов на том же графе.

Причем тут корея

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

Поиск по Shodan, в Query: nfs, в Country: код Республики Kорея, kr

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

Список хостов:

Все они, как это видно и на графе, и по названиям — числятся за AS1781 — Korea Advanced Institute of Science and Technology

Корейский институт передовых технологий — ведущий учебный и исследовательский университет Южной Кореи, расположенный в Тэджоне, находится на второй строчке национального рейтинга в Южной Корее. Университет стабильно входит в 5% топовых учебных заведений Южной Кореи.

Указанные IP-адреса используем как входные аргументы к написанному модулю «Explore: NFS(SSH)» и в результате:

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

Результат объединения со схемой Shodan

При анализе вершин и связей графа становится очевидно на каких адресах расположен ресурс /home, доступный всем (*).

Для лучшего визуального восприятия изменим свойства объектов графа и другие настройки схемы:

Конечно же, я по очереди смонтировал часть ресурсов на один из своих серверов и стал изучать. Везде оказывалось почти одно и тоже — директории пользователей: asm, hoo, hyshin, jay, jiwon, jkhee110, jokangjin, kmh603, ksm782, lee, linus, lost found, marvel_guest, pie, qwe, scloud, seokmin, sgim, thrlek, yoosj, ysha, zinnia7.

Почти все директории с файлами были доступны на чтение и запись. У некоторых пользователей в .ssh были доступны файлы authorized_keys с возможностью записи в них.

Я сгенерировал свой ключ, скопировал его в authorized_keys одного из пользователей и подключился к серверу по ssh на порт 2222, номер порта получил из данных от Shodan.

Пользователи, настройки сети:

Хосты в сети:

Файл /etc/exports и диски:

Файл /etc/fstab и OS:

Полагаю, что это сеть какой-то кафедры для аспирантов или студентов, а на серверах производят какие-то свои вычисления, потому как там много различных исходников на Python, что-то связанное с GPU и дистрибутив Anaconda, тому прочее. Я не стал всё изучать и стал думать, что с этим всем делать, понятно, я мог «ходить» по большей части нод(может быть придумать что-нить более экзотическое), но интереса особенного у меня это не вызывало.

И надумал я следующее: раз институт научный и передовой, должны быть направления по информационной безопасности. Действительно, даже целая лаборатория: Software Security Lab и ее руководитель Sang Kil ChaЕму я и решил написать письмо, так мол и так, дозволять всем в Интернет подключать ресурсы NFS с правами чтения и записи очень опасно, видимо вам надо что-то исправить, прикрепил скриншоты и отправил.

Письмо 1

Dear Sang Kil Cha,
I’m writing you, as at the kaist.ac.kr website you are referred to as the leading SoftSec Lab at KAIST, and I believe the following matter is of your concern.
During our research in the field of informational security, unintentionally and by chance the following servers were detected:
143.248.247.131 — psi.kaist.ac.kr
143.248.247.4 — jarvis3.kaist.ac.kr
143.248.247.169
143.248.247.223
143.248.247.235
143.248.247.251 — marvel.kaist.ac.kr
143.248.247.239 — jarvis.kaist.ac.kr
143.248.247.194 — hulk.kaist.ac.kr
143.248.2.23
All these servers have the NFS (Network File System) service up and running.
The security level of access to these servers is incredibly low.
Home directories of these servers with all their content can be accessed by anyone using the Internet.
For example, settings nfs — /etc/exports 143.248.247.251–>/home or for 143.248.247.239
showmount -e 143.248.247.239
Export list for 143.248.247.239:
/data

/home /appl
User directories of most of the servers are accessible for reading and writing, including their sub directories, which contain public and private ssh access keys.
Editing files allows adding new access keys and gaining remote ssh access to the servers and then – to some inner KAIST subnets.
Solely for testing such shallow access was obtained, no modifications were made, no data was edited, copied or deleted, no harm was done to the infrastructure.
Please see the attached files for some sort of acknowledgement and proof.
I do not have any requirements or claims but I do recommend considerably enhancing your network security level.

Вскоре мне ответили, вольный перевод: спасибо, перешлём кому положено.

Перед публикацией настоящей статьи я решил проверить, посмотреть что изменилось:

Действительно, доступ к ресурсам разрешили только от машин во внутренней сети, но как быть с сервером 143.248.247.251. Согласно записям в таблице к ресурсам хоста в настройках NFS так и осталось *. Я набросал еще один вариант «мэпинга» таблицы в граф:

В чем изменения «мэпинга»: объекты NFS теперь «склеиваются» при 2 одинаковых атрибутах — IP и NFS path. Объект Status создается лишь тогда, когда в атрибуте Value, в который попадает содержимое колонки raw record, содержится значение “*”И граф по таблице предстает в новом виде:

Теперь, кстати, стала отчетлива видна адресация внутренней сети, причём на сервере 143.248.247.251 также возможно редактирование содержания пользовательских директорий, файлов; в принципе — возможности остались те же самые, что и ранее.

Резюме:

Так к какому удостоверению обращается клиент?

По умолчанию клиент обращается к серверу, используя для доступа пользователя nfsnobody. Идентификаторы uid и gid – 65534. Когда сервер по умолчанию является общим, также добавляется параметр all_squash. И установите anonuid на 65534 (то есть пользователь nfsnobayd).

А как насчет ситуации нарастания?

Есть два важных документа, которые могут решить этот вопрос. Два файла / var / lib / nfs / etab и / var / lib / nfs / rmtab можно использовать для просмотра того, какие каталоги используются на сервере, сколько клиентов смонтировали общий ресурс, и вы можете просмотреть подробную информацию о подключении клиента. Информация.

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

2. Файл rmtab предназначен для просмотра ситуации, в которой смонтирован общий каталог.

Решено: вопросик насчёт nfs the run — вопросы на dtf

В общем, там у игры, насколько я знаю, недавно отключили сервера. А мне вот как-раз приспичило в неё поиграть. Игра куплена в Ориджине, всё скачал-установил, запускаю и игра бесконечно подключается к серверам Автолога…
Что вроде бы логично, ведь их отключили, НО!
Игра же вроде как, в первую очередь сюжетная, потому мне и интересно.
Она теперь вообще негодная без этих серверов, или есть какой-то способ, просто не заходить в сеть и пройти кампанию?

Зарание Спасибо!
ЗЫ:
Кому нужно будет тоже поиграть, следуйте гайду, там нехуй делать:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *