Не Работает Аутентификация Безопасности Mongo

Я пытаюсь заставить аутентификацию MongoDB работать на моем сервере AWS Linux. Я запустил проверку подлинности с помощью MongoDB работает на windows, без проблем,

>mongod --auth

На моем сервере AWS я пытаюсь запустить MongoDB с помощью команды service,

$ sudo service mongod start

Однако mogod не начинает. Я считаю, что проблема в моем/etc / mongod.conf. Вот /etc / mongod.conf с включенной аутентификацией,

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log

# Where and how to store data.
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# how the process runs
processManagement:
  fork: true  # fork and run in background
  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile

# network interfaces
net:
  port: 27017
#  bindIp: 127.0.0.1  # Listen to local interface only, comment to listen on    all interfaces.

security:
authorization: enabled

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options

#auditLog:

#snmp:

Проблема с тегом безопасности.

security:
authorization: enabled

Если я включу его, MongoDB не запустится. Если я достану его, MongoDB начнет нормально, но не имеет никакой безопасности. Что я делаю не так?

1 ответ

  1. Хорошо, мой плохой…Файл имеет тип YAML. Я первоначально вошел,

    security:
    authorization: enabled
    

    Поскольку это YAML, мне нужно было пару мест. Правильная запись,

    security:
      authorization: enabled
    

    Работает отлично.

    Кстати, если вы используете MongoDB и имеете открытый IP/порт, я настоятельно рекомендую вам включить безопасность. На прошлой неделе я получил электронное письмо от AWS, в котором говорилось, что если вы используете MongoDB, который имеет общедоступный порт, вы должны реализовать безопасность. Я все еще в разработке, поэтому я проигнорировал рекомендацию AWS. Ну, 3 дня спустя, кто-то получил доступ к моим базам данных, скопировал их, удалил их, и оставил мне записку вымогателей в новой базе данных. Они хотели один биткойн для возвращения моих существующих баз данных. Я не заплатил выкуп. К счастью, для меня это не было проблемой. Все данные были ограничены тестовыми данными. Чтобы избежать возможных вредоносных программ, я удалил экземпляр AWS, создал новый экземпляр и установил новый выпуск MongoDB с включенной авторизацией.

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