Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.045 секунд. Запросов: 23.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
unixforum.org
Как в mysql открыть порт 3306 для доступа извне? (желательно привязка по ip )
Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.
Модератор: SLEDopit
6 сообщений • Страница 1 из 1
vladtopalov87 Сообщения: 57
Как в mysql открыть порт 3306 для доступа извне?
Как в mysql открыть порт 3306 для доступа извне?
желательно для определенный ip
спасибо
Спасибо сказали:
keir Сообщения: 317 ОС: linux Контактная информация:
Re: Как в mysql открыть порт 3306 для доступа извне?
Сообщение keir » 25.02.2007 12:39
Возможно имеется ввиду то, что по-умолчанию MySQL смотрит только на 127.0.0.1
За это отвечает строчка bind-address в файле my.cnf.
Закоменнтировать ее, а для отдельных ip уже рулить iptables-ом.
Безопасно ли открывать порт mysql в мир?
Добрый день. Имеется веб сервер на OS Ubuntu. На этом сервере в мир смотрит только 80 порт.
На этом сервере 5 сайтов. Для каждого сайта создан свой пользователь в ОС и в базе mysql. mysql сервис слушает только ip 127.0.0.1
Безопасно ли открыть в мир порт 3306 ?
Какие нужно задать права пользователю , к примеру «webuser1» выполнять импорт и экспорт базы mysql?
Это нужно разработчикам, только для одного сайта.
- Вопрос задан более трёх лет назад
- 2926 просмотров
Комментировать
Решения вопроса 1
Программер чего попало на чем попало
Да, небезопасно, альтернативы
1. поднять VPN, доступ к мускулю снаружи только по впн, не напрямую (резать в iptables)
2. (сам использую) пускать разрабов с пробросом портов по ssh. Себе настроил путти (батник):
putty.exe -ssh user@site.ru -L 3396:localhost:3306
в итоге на компе любой удобный и привычный софт можно использовать, указывая в качестве сервера БД
127.0.0.1:3396, со стороны сервера они выглядят как коннекты с localhost
На сервере завести отдельного юзера с минимальнейшими правами — ему даже входить не обязательно в шелл, только до локального сокета достучаться, плюс настроить авторизацию по сертификату для полного удобства.
дополнительный бонус — с использованием ключа «-C» будет еще и компрессия данных, что может приятно повлиять на скорость передачи хорошо сжимаемых данных.
Как открыть порты для внешнего доступа к mysql ?
Если в iptables блокируются все входящие соединения (INPUT DROP) и чтобы открыть внешний доступ к MySQL необходимо добавить правила:
iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
Чтобы открыть доступ только конкретной сети, например 10.0.0.0/24:
iptables -A INPUT -s 10.0.0.0/24 -p tcp -m tcp --dport 3306 -j ACCEPT
Чтобы удалить правило укажем ту же команду, заменив -A на -D, например:
iptables -D INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
Посмотреть список правил можно командой:
sudo iptables -nvL
Сохранить правила фаервола:
iptables-save > /root/dsl.fw
Восстановить правила фаервола к дефолтам:
iptables-restore < /root/dsl.fw
Замечу, для того чтобы открыть внешний доступ, также нужно в конфигурационном файле my.cnf закомментировать строку «bind-address = 127.0.0.1».
Если по умолчанию INPUT ACCEPT, то сначала укажем с каких IP разрешен доступ, а только последним правилом заблокируем всем остальным:
iptables -A INPUT -s 127.0.0.1 -p tcp --destination-port 3306 -j ACCEPT
iptables -A INPUT -s 192.168.1.5 -p tcp --destination-port 3306 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j DROP
Например используя nmap можно проверить локально и внешне фильтруется ли доступ:
nmap -p 3306 localhost nmap -p 3306 192.168.1.5
P.S. если установлена хостинг панель, то это не сработает. Например, в ISPManager нужно перейти в System > System > Firewall и добавить порт 3306