Что нужно сделать для защиты малины?

Наличие десятков тысяч малины Pi, подключенных к Интернету, в конечном итоге будет захватывать интерес некоторых людей, которые хотели бы делать сомнительные вещи для маленьких компьютеров, особенно когда многие люди используют свои Pi для создания сетевых серверов. Linux - это надежная ОС из соображений безопасности, но, помимо изменения пароля, что нужно сделать, чтобы «затвердеть» малины Pi, если я намерен разместить интернет-услуги на устройстве?

Чтобы поддержать мои «десятки тысяч», Эбен Аптон сказал, что « The Raspberry Pi продала более 200 000 базовых компьютерных модулей и в настоящее время продает 4000 единиц в день ». Вероятно, безопасно предположить, что десятки тысяч из этих 200 000 человек были подключены к Интернету. Менее безопасно предположить, что десятки тысяч подключенных к Интернету Raspberry Pis размещают публичный веб-сервис, но потенциал для хакерского энтузиазма по-прежнему существует.

80 голосов | спросил Dan B 24 J000000Tuesday12 2012, 17:50:34

4 ответа


53

Защита компьютера - это не простой процесс, на эту тему написаны целые книги. Размер Pi не уменьшает угрозу безопасности или поверхность атаки, представленную потенциальному злоумышленнику. В результате я расскажу о предпринятых шагах и предоставил ссылки на более подробные инструкции и руководства.

Поскольку вы не упомянули, какой дистрибутив вы используете, я буду считать рекомендуемое Raspbian Distro.

  1. Измените пароль по умолчанию. Raspbian distro включает это как вариант в начальный скрипт запуска. Если вы этого не сделали, вы можете использовать команду passwd , чтобы изменить ее. Убедитесь, что выберите надежный пароль .
  2. Отключить неиспользуемые службы . Я видел, что рекомендуемый дистрибутив Raspbian включает веб-сервер Apache и позволяет его при запуске (может кто-то подтвердить это) . Вам действительно нужен веб-сервер? Если не отключить его. Если вам нужно запустить Apache, обязательно закрепите его и выполните аналогичные действия для других сервисов (например, FTP, NGINX, MySQL и т. д.). В поиске Google должно появиться несколько ресурсов.
  3. Установите и настройте iptables .
  4. Обновляйте свою систему. Вы можете автоматизировать это, используя cron или используя cron-apt .
  5. Настроить ведение журнала для отслеживания логинов и неудачных попыток входа в систему. Если возможно, используйте внешний жесткий диск для размещения вашего раздела /var, это даст вам больше места, не позволяйте файлам журнала заполнять карту SD и продлевать срок службы вашей SD-карты.

Некоторые дополнительные вещи, которые вы можете рассмотреть:

Вы также должны прочитать этот связанный вопрос Как я могу защитить от вторжений и вредоносных программ, прежде чем подключать их к Интернету (особенно по общедоступному IP-адресу)? .

Это всего лишь минимальные шаги для обеспечения безопасности вашего Pi. Для получения дополнительной информации вы можете прочитать Обеспечение безопасности руководства Debian .

ответил Steve Robillard 24 J000000Tuesday12 2012, 19:05:04
10

Посмотрев на RPi, кажется, что это достаточно безопасное устройство, если вы делаете пару вещей.

Изменены требования пользователя /пароля по умолчанию. По крайней мере, измените пароль. Для лучшей безопасности снова измените имя пользователя. (Добавьте нового пользователя, а затем отключите PI. Убедитесь, что ROOT также отключен из входа в SSH, хотя я думаю, что он по умолчанию в любом случае.)

Сканирование RPi возвращает только один открытый порт, 22, который является SSH-соединением, и даже это должно быть включено до его отображения (хотя большинство людей будут использовать его вместо монитора, клавиатуры и мыши, я ожидаю , особенно на {web} сервере)

Вы можете изменить номер порта 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 auth на месте (например, вы удаленный вход с разных компьютеров), то это предотвратит атаку словаря от работы. После того, как вы указали количество попыток, он будет блокировать на какое-то время больше попыток с этого IP-адреса. (Просто позаботьтесь о том, чтобы он не видел никакого маршрутизатора /локального IP-адреса и запрещал это слишком рано или слишком долго!)

Отредактировано для добавления: после того, как вы все хорошо настроили, используйте инструмент, например dd или Win32DiskImager, чтобы получить полную бит-мутную резервную копию вашей SD-карты. Таким образом, если что-то пойдет не так, вы можете восстановить его на той же карточке или записать на новую карточку и продолжать независимо. (Но если взломали, вы бы хотели выяснить, какая дыра была найдена и закрыть это, возможно, в первую очередь!)

ответил Nigel Tolley 6 PMpSat, 06 Apr 2013 15:44:47 +040044Saturday 2013, 15:44:47
4

linode имеет отличное руководство по обеспечению безопасности Linux-сервера: http://library.linode.com /крепления-ваш-сервер . те же правила могут применяться к малине pi

ответил alzclarke 6 22012vEurope/Moscow11bEurope/MoscowTue, 06 Nov 2012 06:47:47 +0400 2012, 06:47:47
-1

Также, как и упрощение ОС, вы также можете использовать службу мониторинга безопасности на основе облака для мониторинга активности на /из /на вашем устройстве и получения предупреждений, если обнаружено что-либо неблагоприятное. В настоящее время доступно несколько инструментов SIEM, основанных на облаке, и некоторые (например, siemless) управляют моделью freemium, поэтому домашним пользователям не нужно платить ни копейки. Чтобы использовать такой сервлет, вам нужно ознакомиться с такими вещами, как rsyslog /syslog, который является стандартной частью всех дистрибутивов ОС Linux.

ответил spids 28 Maypm15 2015, 13:20:04

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132