Наибольшим фактором является тип доступа, который имеет злоумышленник. Если у них есть физический доступ, вы облажались. Если вас интересует только удаленный доступ, то это зависит от того, что у вас работает; хорошая конфигурация это все. Стандартный сервер Linux, вероятно, будет работать с ftp, ssh, http, https и mysql. SSH безопасен, но я бы не разрешил вход с правами root, и хороший пароль для каждой учетной записи является обязательным. FTP ударил или пропустил. Если у вас есть VSFTP и вы можете выполнять настройку своих пользователей, это очень безопасно. Несколько других версий имеют известные уязвимости. HTTP, вероятно, будет вашей самой уязвимой областью. Ваша самая большая проблема здесь - все, что выполняет файлы в системе или загружает файлы в систему. Внедрение SQL ОЧЕНЬ сложно, если ваш сайт сделан на PHP5. Группа студентов, занимающихся вопросами безопасности, и я несколько недель пробовали инъекции SQL-кода на неанизированном веб-сайте PHP5, но безуспешно. С MySQL обязательно используйте пользователя без полномочий root и ограничьте его для входа только с вашего сервера Apache.
Есть пара плагинов Firefox для тестирования уязвимостей веб-сайтов: access me, xss me и sql инъекция меня
Некоторые важные вещи, которые я всегда делал на соревнованиях для обеспечения безопасности:
netstat
- проверить открытые порты и соединения,
w
- кто вошел в систему, как долго,
- Проверьте журналы на логины,
- история bash для выполненных команд,
ps
- запуск команд,
/etc/passwd
для дополнительных пользователей
/etc/sudoers
для доступа sudo.
Обычно после получения доступа злоумышленник хочет получить root. В настоящее время существует несколько уязвимостей, связанных с повышением привилегий, которые позволяют обычному пользователю получить права root. После этого они хотят открыть его для последующего доступа, добавив пользователей и открыв задние двери.
Вот сайт моей школы по киберзащите. Не стесняйтесь осмотреться и задать несколько вопросов: https://thislink.doesntexist.org/