Как защитить веб сервер на Kali Linux от доступа посторонних
Предположим, для тренировки вы установили Mutillidae, или DVWA, или что-то подобное (кстати, смотрите «Установка OWASP Mutillidae II и Damn Vulnerable Web Application (DVWA) в Kali Linux»).
Эти приложения имеют самые разные уязвимости, в том числе для загрузки файлов (бэкдоров) и SQL инъекций. Такие скрипты могут привести к полной компрометации не только веб-сервера, но и всего компьютера. Поэтому самое правильное — это ограничить доступ к веб-серверу из вне.
Контроль доступа (каким IP адресам разрешено или запрещено подключаться) настраивается в файл .htaccess. Но по умолчанию поддержка этого файла выключена — то есть настройки из этого файла не учитываются.
Чтобы включить .htaccess в Kali Linux откройте файл /etc/apache2/apache2.conf:
sudo gedit /etc/apache2/apache2.conf
Найдите там строки:
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
И замените их на:
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
Теперь перезапустите веб сервер, чтобы изменения вступили в силу:
sudo systemctl restart apache2
Корневой папкой сайтов является /var/www/html/, поэтому создайте там файл .htaccess:
sudo gedit /var/www/html/.htaccess
На самом деле, файл .htaccess можно создать в любой папке с сайтами. Помните, что на доступ к любой папки веб-сервера оказывают влияние как файл .htaccess в текущей директории, так и файлы .htaccess в родительских директориях.
Если вам нужно ограничить доступ для всех IP, кроме локальных, то используйте:
Require ip 10 172.20 192.168.2
Вы можете запретить все удалённые подключения директивой:
Require local
Обратите внимание, что несмотря на название local разрешены только соединения с этого же самого компьютера (localhost) и запрещены любые другие удалённые подключения, даже из локальной сети.
С помощью «Require ip» можно указывать одиночные IP или диапазоны сети в различных нотациях:
Require ip 10.1.2.3 # ИЛИ Require ip 10.1 # ИЛИ Require ip 10.1.0.0/16 # ИЛИ Require ip 10.1.0.0/255.255.0.0 # ИЛИ Require ip ::1
Директиву «Require ip» можно использовать много раз.
Смотрите больше подробностей в «Контроль доступа к сайту (блокировка по IP, User-Agent)».
Также рекомендуется ознакомиться с «Азы работы с веб-сервером для пентестера».
Уязвимые среды и программы для тренировки
- bWAPP
- Damn Vulnerable Web Application (DVWA)
- Damn Vulnerable Web Services
- OWASP Broken Web Applications Project
- OWASP Mutillidae II
- Samurai Web Testing Framework
- Web Security Dojo
Связанные статьи:
- Инструкция по использованию сканера веб-серверов Nikto (69%)
- Как определить тип файервола веб приложений (WAF) (69%)
- Азы работы с веб-сервером для пентестера (68.1%)
- Как защитить веб-сервер Apache от взлома в Windows (58.1%)
- Как снизить нагрузку на виртуальный хостинг (56.6%)
- Как пользоваться netcat (nc), ncat (RANDOM - 21.7%)


