Безопасно ли использовать NAT для принтера TCP / IP на соответствующем порту маршрутизатора? Получу ли я нежелательные документы от хакеров или это не большая проблема?
Если вы можете запустить ssh (и Linux и др.), Вы можете настроить VPN. Вы также можете рассмотреть OpenVPN или IPSec. Однако для небольших и особенно для этого случая развертывания ... ssh
вероятно, самый простой и будет работать из большинства мест, через большинство NAT / NAPT и других странных локальных сетей. (Подумайте о WiFi с нашего ноутбука в случайных местных кофейнях).
OpenSSH версии 4.3 и более поздних поддерживает функцию туннеля VPN. Итак, вы можете начать свой ssh
связь с такими опциями, как -w0:0
... и (при условии, что вы сделали свой /dev/net/tun
устройство и сделал соответствующий tunctl
магия, позволяющая вообще включить любой вид сети TAP / tun).
После того, как вы установили такой туннель, вы должны иметь возможность безопасно получить доступ к своему принтеру, общим файловым ресурсам, электронной почте, внутренним веб-взаимодействиям и т. Д. Через этот туннель.
В конце концов, я напишу по этому поводу настоящий HOWTO (в большинстве из тех, что я нашел в сети, отсутствуют некоторые детали). Также я хочу поиграть с некоторыми из них, чтобы заставить его работать без полномочий root и обернуть его оболочкой для автоматического перезапуска при отключении и т. Д. Но вот несколько основных замечаний.
Я предполагаю, что вы используете Linux ... Debian или Ubuntu. (Должен работать с любым новым дистрибутивом и, вероятно, немного проще для RHEL / CentOS или Novell, поскольку я думаю, что они будут иметь tunctl
команда в другом пакете).
Создайте статический маршрут отклонения с высокой метрикой:
маршрут добавить -host 172.31.1.2 отклонить
Создайте своего мастера tun
устройство:
cd / dev / && MAKEDEV tun; ls -l / dev / net / tun *
Запустить tunctl
чтобы установить постоянство на следующем доступном туннеле (tun0
и т.д).
tunctl -t tun0 ## -u $ НЕКОТОРЫЙ ПОЛЬЗОВАТЕЛЬ ???
(The tunctl
команда, похоже, доступна из uml-утилиты пакет, который кажется странным, поскольку он используется с OpenVPN, Vtun, а теперь и с конфигурациями OpenSSH / VPN, причем совершенно отдельно от Linux в пользовательском режиме; также кажется, что он вносит "волшебные" постоянные изменения, и я не понял, где это хранится. Мне действительно нужно пойти почитать источники)!
PermitTunnel yes
или PermitTunnel point-to-point
к /etc/ssh/sshd_config
Создайте пару ключей
ssh-keygen
Разверните открытый ключ на сервере от клиента:
cat /.../.ssh/id_*.pub | ssh "root @ $ VPNGATE" 'cat >> /root/.ssh/authorized_keys'
(ПРИМЕЧАНИЕ: есть подробности о том, как сделать это с помощью ключа ограниченного доступа, добавив указанные ограничения в конец ключа в authorized_keys
добавление sudo
NOPASSWD: записи для ifup
и ifdown
и так далее. (видеть: Тени Богоявления Больше подробностей).
Запустите следующий сценарий:
ssh -f -w0: 0 "root @ $ VPNGATE" 'ifconfig tun0 172.31.1.2 pointopoint 172.31.1.1 mtu 536 up'
ifconfig tun0 172.31.1.1 pointopoint 172.31.1.2 mtu 536 вверх
... и теперь у вас должен быть рабочий VPN-туннель. В ifconfig
создаст маршрут с более низкой метрикой, так что это будет работать. Теперь вы можете получить доступ к любым службам в $ VPNGATE (включая его принтер, NFS и т. Д.), Просто если вы были подключены к нему через выделенное модемное соединение PPP.
Примечание: для доступа к другим системам позади $ VPNGATE, вам нужно будет убедиться, что эти системы знают о вашем 172.31.. (VPN) маршруты (по крайней мере, их маршрутизаторы по умолчанию должны иметь статические маршруты, указывающие на $ VPNGATE ... для обратных поездок, конечно. В качестве альтернативы вы можете выполнить NAT для $ VPNGATE, чтобы весь ваш удаленный трафик / трафик ноутбука "выглядел как" трафик из $ VPNGATE в остальную сеть. В любом случае вам также придется sysctl -w net.ipv4.ip_forward
(на $ VPNGATE) так же, как и для любого другого вида маршрутизации.
Как видите, это очень приблизительный набросок, и мне нужно выяснить еще несколько деталей для собственного использования.
tunctl
делаешь? Где хранятся эти изменения настроек?tunctl -d
или явно ifconfig tun0 0.0.0.0 down
например).Имейте в виду, что даже прошивка принтера (при условии, что это принтер, а не сервер печати, такой как CUPS) имеет уязвимости безопасности. Поступали сообщения о том, что на принтеры устанавливали ботов. Вы можете получать случайные сообщения от людей, что очень похоже на факс.