|
почему local postgres должен всегда быть peer ?
|
|||
---|---|---|---|
#18+
всем приветы хочу всё-таки разобраться... у меня одна-единственная запись: local all postgres md5 но с такой записью СЕРВЕР НЕ ЗАПУСКАЕТСЯ авторpostgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". вот так он спамит в логах. пароль выставил в системе: passwd postgres (123) и внутри: ALTER USER postgres PASSWORD '123'; (также пробовал ENCRYPTED PASSWORD и md5 менял на password) ну казалось бы - возьми ты пароль из системы и юзай, но нет! чего ему надо? почему я должен держать там обязательно peer или trust ? пусть для сокета, а что если злоумышленник получил доступ к консоли, а команда "sudo -u postgres psql" - даёт полный доступ ко всем БД так должно быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 02:02 |
|
почему local postgres должен всегда быть peer ?
|
|||
---|---|---|---|
#18+
tip78, каким образом запускаете базу и как проверяете что запущена? должна запускаться. никто не заставляет там держать именно peer или trust. ну казалось бы - возьми ты пароль из системы и юзай, но нет! а причем тут пароль в системе? проверяется пароль, выставленный через alter user. пусть для сокета, а что если злоумышленник получил доступ к консоли, а команда "sudo -u postgres psql" - даёт полный доступ ко всем БД если злоумышленник имеет рутовые права, то тут уже ничего не поможет. дефолтная настройка с peer для local вполне разумная в плане безопасности. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 06:17 |
|
почему local postgres должен всегда быть peer ?
|
|||
---|---|---|---|
#18+
авторкаким образом запускаете базу и как проверяете что запущена? должна запускаться. никто не заставляет там держать именно peer или trust. в логах же спам, что пароль не прошёл и это: автор# psql psql: не удалось подключиться к серверу: Нет такого файла или каталога Он действительно работает локально и принимает соединения через доменный сокет "/var/run/postgresql/.s.PGSQL.5432"? и netstat автора причем тут пароль в системе? проверяется пароль, выставленный через alter user. ну peer же... он таки связан с юзерами системы: авторПолучает имя пользователя операционной системы клиента из операционной системы и проверяет, соответствует ли оно имени пользователя запрашиваемой базы данных. авторесли злоумышленник имеет рутовые права, то тут уже ничего не поможет. дефолтная настройка с peer для local вполне разумная в плане безопасности. не поможет, но просто так отдавать доступ в БД с рутовыми правами это слишком хоть бы попотел, поискав ключик... даже в мускуле нет такого авторпроверяется пароль, выставленный через alter user. я так понимаю, что для запуска этот postgres должен выполнить какие-то операции но не может, потому что при запуске не указан его пароль... или я ничего не понимаю ( ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 10:25 |
|
почему local postgres должен всегда быть peer ?
|
|||
---|---|---|---|
#18+
tip78но просто так отдавать доступ в БД с рутовыми правами это слишком Если у пользователя есть shell доступ к владельцу базы - то не составляет труда делать с базой что угодно. Например, поправить hba на trust и перечитать конфиг - вот и не было никакого пароля. И кроме как по логу вы это даже не заметите. И уж тем более никто не мешает читать датафайлы напрямую. Вы не ответили на вопрос, как именно вы запускаете базу. tip78ну peer же... он таки связан с юзерами системы: авторПолучает имя пользователя операционной системы клиента из операционной системы и проверяет, соответствует ли оно имени пользователя запрашиваемой базы данных. С юзером связан. С паролем системного пользователя - нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 10:47 |
|
почему local postgres должен всегда быть peer ?
|
|||
---|---|---|---|
#18+
MelkijВы не ответили на вопрос, как именно вы запускаете базу. /etc/init.d/postgresql (Debian) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 10:50 |
|
почему local postgres должен всегда быть peer ?
|
|||
---|---|---|---|
#18+
MelkijИ уж тем более никто не мешает читать датафайлы напрямую. они не очень то читаемые в raw ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 10:54 |
|
почему local postgres должен всегда быть peer ?
|
|||
---|---|---|---|
#18+
tip78MelkijИ уж тем более никто не мешает читать датафайлы напрямую. они не очень то читаемые в raw святая простота ) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 11:04 |
|
почему local postgres должен всегда быть peer ?
|
|||
---|---|---|---|
#18+
Дебиановский pg_ctlcluster да, пытается подцепиться к базе и рапортует о неудаче. Но сама база стартует штатно и требует пароль как и сказано в pg_hba. авторmelkij@melkij:~$ sudo grep 'port =' /etc/postgresql/9.6/testmd5/postgresql.conf port = 5433 # (change requires restart) melkij@melkij:~$ sudo cat /etc/postgresql/9.6/testmd5/pg_hba.conf local all postgres md5 melkij@melkij:~$ sudo -u postgres psql --port 5433 Пароль: psql (9.6.4) Введите "help", чтобы получить справку. postgres=# ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 11:08 |
|
почему local postgres должен всегда быть peer ?
|
|||
---|---|---|---|
#18+
MelkijНо сама база стартует штатно и требует пароль как и сказано в pg_hba. я не вижу, где она у вас стартует, вы подключаетесь к уже запущенной ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 11:32 |
|
почему local postgres должен всегда быть peer ?
|
|||
---|---|---|---|
#18+
другими словами: запустили то как?? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 11:33 |
|
почему local postgres должен всегда быть peer ?
|
|||
---|---|---|---|
#18+
tip78, /etc/init.d/postgresql start не вставился. Ещё раз с ним. авторmelkij@melkij:~$ sudo /etc/init.d/postgresql start [ ok ] Starting PostgreSQL 9.4 database server:. [....] Starting PostgreSQL 9.6 database server: main testmd5[....] The PostgreSQL server failed to start. Please check the log output: 2017-08-31 11:44:22.840 MSK [22665] СООБЩЕНИЕ: система БД была выключена: 2017-08-31 11:44:16 MSK 2017-08-31 11:44:22.895 MSK [22665] СООБЩЕНИЕ: Защита от наложения мультитранзакций сейчас включена 2017-08-31 11:44:22.898 MSK [22664] СООБЩЕНИЕ: система БД готова принимать подключения 2017-08-31 11:44:22.898 MSK [22669] СООБЩЕНИЕ: процесс запуска автоочистки создан 2017-08-31 11:44:23.101 MSK [22671] [н/д]@[н/д] СООБЩЕНИЕ: неполный стартовый пакет 2017-08-31 11:44:23.607 MSK [22674] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:44:23.607 MSK [22674] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 1 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:44:24.115 MSK [22677] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:44:24.115 MSK [22677] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 1 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:44:24.621 MSK [22680] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:44:24.621 MSK [22680] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 1 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:44:25.129 MSK [22683] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:44:25.129 MSK [22683] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 1 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:44:25.636 MSK [22686] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:44:25.636 MSK [22686] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 1 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:44:26.143 MSK [22689] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:44:26.143 MSK [22689] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 1 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:44:26.650 MSK [22692] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:44:26.650 MSK [22692] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 1 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:44:27.156 MSK [22695] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:44:27.156 MSK [22695] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 1 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:44:27.663 MSK [22698] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:44:27.663 MSK [22698] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 1 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:44:28.170 MSK [22701] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:44:28.170 MSK [22701] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 1 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:44:28.679 MSK [22704] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:44:28.679 MSK [22704] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 1 в pg_hba.conf: "local all postgres m[FAIL.. failed! failed! melkij@melkij:~$ sudo grep 'port =' /etc/postgresql/9.6/testmd5/postgresql.conf port = 5433 # (change requires restart) melkij@melkij:~$ sudo cat /etc/postgresql/9.6/testmd5/pg_hba.conf local all postgres md5 melkij@melkij:~$ sudo -u postgres psql --port 5433 Пароль: psql (9.6.4) Введите "help", чтобы получить справку. postgres=# ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 11:47 |
|
почему local postgres должен всегда быть peer ?
|
|||
---|---|---|---|
#18+
ну и у меня он также спамит ошибками только у вас он почему-то запустился, а у меня: автор# sudo -u postgres psql psql: не удалось подключиться к серверу: Нет такого файла или каталога Он действительно работает локально и принимает соединения через доменный сокет "/var/run/postgresql/.s.PGSQL.5432"? нет, не принимает, и файла нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 12:03 |
|
почему local postgres должен всегда быть peer ?
|
|||
---|---|---|---|
#18+
tip78, значит смотрите в лог базы. Там будет написано, почему не стартовали. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 12:09 |
|
почему local postgres должен всегда быть peer ?
|
|||
---|---|---|---|
#18+
да тоже самое, вот полный лог запуска: автор2017-08-31 11:59:24.720 MSK [5291] СООБЩЕНИЕ: система БД была выключена: 2017-08-31 01:51:51 MSK 2017-08-31 11:59:24.791 MSK [5291] СООБЩЕНИЕ: Защита от наложения мультитранзакций сейчас включена 2017-08-31 11:59:24.799 MSK [5290] СООБЩЕНИЕ: система БД готова принимать подключения 2017-08-31 11:59:24.809 MSK [5295] СООБЩЕНИЕ: процесс запуска автоочистки создан 2017-08-31 11:59:24.848 MSK [5297] [н/д]@[н/д] СООБЩЕНИЕ: неполный стартовый пакет 2017-08-31 11:59:25.372 MSK [5300] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:59:25.372 MSK [5300] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 85 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:59:25.888 MSK [5303] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:59:25.888 MSK [5303] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 85 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:59:26.405 MSK [5306] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:59:26.405 MSK [5306] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 85 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:59:26.922 MSK [5309] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:59:26.922 MSK [5309] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 85 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:59:27.439 MSK [5312] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:59:27.439 MSK [5312] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 85 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:59:27.956 MSK [5315] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:59:27.956 MSK [5315] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 85 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:59:28.473 MSK [5318] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:59:28.473 MSK [5318] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 85 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:59:28.990 MSK [5321] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:59:28.990 MSK [5321] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 85 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:59:29.508 MSK [5324] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:59:29.508 MSK [5324] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 85 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:59:30.025 MSK [5327] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:59:30.025 MSK [5327] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 85 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:59:30.542 MSK [5330] postgres@postgres ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю) 2017-08-31 11:59:30.542 MSK [5330] postgres@postgres ПОДРОБНОСТИ: Пароль не подходит для пользователя "postgres". Подключение соответствует строке 85 в pg_hba.conf: "local all postgres md5" 2017-08-31 11:59:30.547 MSK [5290] СООБЩЕНИЕ: получен запрос на "вежливое" выключение 2017-08-31 11:59:30.551 MSK [5295] СООБЩЕНИЕ: процесс запуска автоочистки завершается 2017-08-31 11:59:30.556 MSK [5292] СООБЩЕНИЕ: выключение 2017-08-31 11:59:30.711 MSK [5290] СООБЩЕНИЕ: система БД выключена 2017-08-31 12:02:17.787 MSK [5425] СООБЩЕНИЕ: система БД была выключена: 2017-08-31 11:59:30 MSK 2017-08-31 12:02:17.826 MSK [5425] СООБЩЕНИЕ: Защита от наложения мультитранзакций сейчас включена 2017-08-31 12:02:17.833 MSK [5429] СООБЩЕНИЕ: процесс запуска автоочистки создан 2017-08-31 12:02:17.833 MSK [5424] СООБЩЕНИЕ: система БД готова принимать подключения 2017-08-31 12:02:18.122 MSK [5431] [н/д]@[н/д] СООБЩЕНИЕ: неполный стартовый пакет у вас в системе (в линухе) postgres с паролем? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 12:18 |
|
почему local postgres должен всегда быть peer ?
|
|||
---|---|---|---|
#18+
tip78, по логу видно штатные включение, выключение и вновь включение, т.е. база запущена. Либо была жёстко убита чем-то внешним, что даже в лог сообщение записать не смогла. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 12:29 |
|
почему local postgres должен всегда быть peer ?
|
|||
---|---|---|---|
#18+
ну вот это 9.6 из Debian 9.1 не знаю, что они могли там изменить (у вас же старее версия?) по идее каждое "Пароль не подходит для пользователя "postgres"." - означает попытку какого-то действия, которое обламывается но они и у вас есть. ладно, йух с ним, peer так peer ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2017, 12:37 |
|
|
start [/forum/topic.php?fid=53&msg=39513347&tid=1996250]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 289ms |
total: | 430ms |
0 / 0 |