Найбільшим фактором є тип доступу, який має зловмисник. Якщо у них є фізичний доступ, то вас накрутили. Якщо ви переймаєтесь лише віддаленим доступом, то це залежить від того, що у вас працює; хороша конфігурація - це все. На стандартному сервері Linux, ймовірно, будуть працювати ftp, ssh, http, https та mysql. SSH захищено, але я не дозволяв би входити в систему, і гарний пароль для кожного облікового запису є обов'язковим. FTP потрапляє або пропускається. Якщо у вас є VSFTP і chroot ваших користувачів, то це дуже безпечно. Кілька інших версій відомі вразливості. HTTP, ймовірно, стане вашим найбільш вразливим районом. Ваша найбільша турбота тут - це те, що виконує файли в системі або завантажує файли в систему. Введення SQL ДУЖЕ важко, якщо ваш веб-сайт виконаний на PHP5. Група студентів із безпеки та я кілька тижнів пробували ін'єкції SQL на несанкціонованому веб-сайті PHP5 і не мали успіху. У MySQL не забудьте скористатися некористувальним користувачем та обмежте його для входу лише з вашого сервера Apache.
Є кілька плагінів Firefox для перевірки вразливості веб-сайту: отримати доступ до мене, xss мені та sql ввести мене
Деякі великі речі, які я завжди робив би на змаганнях, щоб забезпечити безпеку:
netstat
- перевірити відкриті порти та з'єднання,
w
- хто ввійшов, як довго,
- Перевірте журнали на вхід,
- історія bash для виконаних команд,
ps
- виконання команд,
/etc/passwd
для додаткових користувачів
/etc/sudoers
для доступу до судо.
Зазвичай після отримання доступу зловмисник хоче отримати корінь. Наразі існує кілька вразливих місць ескалації привілеїв, які дозволять нормальному користувачеві отримати root. Після цього вони хочуть відкрити його для подальшого доступу шляхом додавання користувачів та відкриття задніх дверей.
Ось веб-сайт з кіберзахисту моєї школи. Не соромтеся озирнутися і задати деякі питання: https://thislink.doesntexist.org/