Раньше я выполнял переадресацию портов, чтобы можно было получить доступ к определенным приложениям за пределами нашей сети, а именно к камерам безопасности. Тем не менее, что-то об открытии SFTP или ssh-порта для всего мира, чтобы любой мог попытаться получить доступ к моему серверу, похоже на прогулку по пещере без фонарика. Какие меры предосторожности мне следует предпринять, чтобы обезопасить свой компьютер, прежде чем я открою его миру?
РЕДАКТИРОВАТЬ 1:
Если я не рекламирую свой комбинированный IP / порт в мире, какой трафик я могу исключить?
Я столкнулся с таким же вопросом, как и вы. Во-первых, это зависит от типа вашего сервера. Если у вас есть аппаратный сервер, вы можете безопасно отказаться от службы sshd или ограничить ее прием внутренним трафиком, например 192.168.0.0/16.
Но если у вас есть облачный сервер, как у меня. Вам нужно учитывать атаку угадывания ssh. Проверьте cat /var/log/secure
вы найдете незваных гостей, которые пытались угадать пароль, чтобы получить удачу и управлять вашим сервером.
Если ваше приложение уникально, вы просто оставите порт снаружи. И это не будет большой проблемой, потому что большинство хакеров не знают, как взломать это приложение. Самая распространенная атака, с которой вы столкнетесь, - это атака с угадыванием ssh.
3 способа избежать этого, и вы можете выбрать их по своему усмотрению:
1) измените облачный брандмауэр, чтобы он принимал только порт вашего приложения, а не порт ssh, если вы не обслуживаете сервер через клиент ssh. Это подводная политика.
2) установите fail2ban, чтобы запретить злоумышленнику, который идентифицируется путем ввода неправильного кода более 5 раз в течение 10 минут (эти два параметра можно изменить)
3) сгенерируйте пары закрытый ключ - открытый ключ и загрузите закрытый ключ для входа в систему, а затем навсегда заблокируйте пароль ssh.
вы легко найдете инструкции по 2 и 3. Несколько уведомлений:
2) yum install epel-release
расширит базу приложений для CentOS и поможет установить fail2ban; в пользовательской конфигурации jail.local вам необходимо изменить следующее:
bantime = -1s
[sshd]
enabled = yes
3) id_rsa - это закрытый ключ, добавьте к его имени ".ppk", чтобы он мог использоваться Putty.