Мое веб-приложение работает на 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