Я запускаю небольшое приложение на AWS EC2, и на нем установлен PostgreSQL.
Я хочу получить удаленный доступ к этой производственной БД, но также хочу, чтобы она была в безопасности, и я не уверен, достаточно ли того, что я делаю.
При работе над проектами компании я просто заносил в белый список статический IP-адрес компании и блокировал все остальное, но в этом случае я не могу использовать статический IP-адрес, и мой IP-адрес меняется довольно часто.
Пока у меня есть
но я чувствую, что могу сделать гораздо больше, и поскольку моя БД содержит некоторую конфиденциальную личную информацию, мне СЛЕДУЕТ сделать больше.
Что еще я могу сделать, чтобы обезопасить свою БД?
Лучший способ обезопасить себя - использовать VPN-клиент.
В профиле клиента VPN вы можете выбрать, какой порт может быть открыт.
Таким образом, сервер никогда не будет в Интернете, и ваш трафик будет зашифрован внутри туннеля.
Postgresql через SSH-туннель
ssh -L 5432:/var/run/postgresql/.s.PGSQL.5432
И подключимся к 127.0.0.1 localy:
psql -h 127.0.0.1
На сервере вы можете отключить все порты прослушивания для postgresql и оставить открытым только порт ssh.
Также убедитесь, что SSH недоступен для доступа по паролю, только для доступа по ssh-ключу.