Мое веб-приложение работает на Centos6. Я хочу защитить свое приложение. Я хочу убедиться, что HTTP-запрос с определенным заголовком поступает только с определенного IP-адреса.
(Заголовок включает имя пользователя, и я хочу предотвратить спуфинг HTTP-заголовка).
Важное уточнение: Запросы без определенного заголовка должны быть разрешены с любых IP-адресов.
Можно ли это сделать с помощью IPTable? Другие варианты?
Вы можете сделать это только на уровне веб-сервера, который является уровнем приложения и где видны ваши HTTP-заголовки. iptables не может обрабатывать заголовки HTTP, потому что он обрабатывает уровень 3, а HTTP - уровень 7.
Проверьте модель OSI. Вы можете использовать для этого nginx или apache2
Вот два похожих вопроса и ответы на них https://stackoverflow.com/questions/18970620/nginx-reject-request-if-header-is-not-present-or-wrong
В Nginx заблокировать пользователя на основе значения заголовка X