Посмотрев на RPi, он выглядит как довольно безопасное устройство из коробки, если вы делаете несколько вещей.
Пользователь / пароль по умолчанию изменен. Как минимум, смените пароль. Для большей безопасности снова измените имя пользователя. (Добавьте нового пользователя, затем отключите PI. Убедитесь, что ROOT также отключен при входе через SSH, хотя я все равно думаю, что это по умолчанию.)
Сканирование RPi возвращает только один открытый порт, 22, который является SSH-соединением, и даже его нужно включить, прежде чем он покажет (хотя большинство людей будут использовать его вместо монитора, клавиатуры и мыши, я ожидаю, особенно на {веб} сервер)
Вы можете изменить номер порта SSH, но это мало что даст, так как его можно сканировать достаточно легко. Вместо этого включите аутентификацию по SSH-ключу.
Теперь у вас нет возможности получить доступ к вашей машине без правильного ключа SSH, имени пользователя и пароля.
Далее настройте свой веб-сервер. Apache в значительной степени там, где он есть. Это будет сидеть и контролировать порт 80 по умолчанию, и автоматически отвечать на подключения из браузеров, обслуживающих ваши веб-страницы.
Если у вас есть брандмауэр или маршрутизатор, вы можете изменить порты RPi и сделать так, чтобы маршрутизатор направлял трафик с одного порта на другой. Например, трафик порта 80 в маршрутизатор перенаправляется на порт 75 на RPi, а SSH на 22 перенаправляется на порт 72. Это добавило бы еще один уровень защиты, но немного сложнее.
Держите все обновленным и исправленным, очевидно.
Это не защитит вас от атак, использующих Java, Flash, SQL-серверы и т. Д., Которые вы могли бы добавить позже, но на самом деле это все, что нужно.
Вы также можете добавить брандмауэр, который будет замедлять любого, кто входит в вашу систему, выходить на другой порт, если они устанавливают новую службу. Ваш маршрутизатор должен иметь дело с этим, но если он подключен напрямую, то настройте его, и, как долго это займет, вы все равно могли бы запустить его в любом случае - это не добавит много системных ресурсов.
Вы можете добавить еще одну вещь - fail2ban ( http://www.fail2ban.org/wiki/index.php/Main_Page ), которая добавляет правило брандмауэра для блокировки нескольких попыток входа в систему, предотвращая атаки по словарю. Хотя они не могут работать в вашей системе, если вы выполнили вышеперечисленное, если вам по какой-то причине нужно оставить пароль только для SSH-аутентификации (например, для удаленного входа в систему с разных компьютеров), это предотвратит атаку по словарю. с работы. После указанного вами количества попыток он на какое-то время заблокирует все попытки с этого IP-адреса. (Просто позаботьтесь о том, чтобы он не видел ни одного маршрутизатора / локального IP-адреса, и запретите это слишком рано или слишком долго!)
Отредактировано, чтобы добавить: Как только вы все настроили, используйте инструмент, такой как dd или Win32DiskImager, чтобы сделать полную побитовую резервную копию вашей SD-карты. Таким образом, если что-то пойдет не так, вы можете восстановить его на той же карте или записать на новую карту, и продолжить в любом случае. (Но если взломать, вы захотите выяснить, какая дыра была найдена, и закройте эту первую, возможно!)