Всех приветствую! Не знаю точно, в той ли я ветке, но тем не менее ситуация следующая. Есть вэб сервер. На нём в некоторой директории лежит текстовый файл который доступен из WEB. Его расширение просто .txt. Подскажите, как мне узнать о том что кто то обращался к данному файлу? То есть как бы узнать рефёрер, кто именно это был, с какого сайта/сервера. Есть ли такая возможность? Надеюсь на вашу помощь, заранее спасибо! P.S.: все возможные логи которые знаю вроде бы просмотрел, но там нигде упоминание не нашёл. Может конечно я не знаю какого то конкретного лога.
Я знаю что данные с файла каким то образом считываются, но в логах нигде это не отображается. Я уже просмотрел все access логи. Я допускаю что файл может читаться не только с WEB, а если так, то в access логах упоминанию и не будет. Может можно отследить ещё какие то моменты доступов, к примеру если с сервера какая то программа пытается читать файл, такое возможно?
https://httpd.apache.org/docs/2.4/logs.html там от конфига лога зависит Code: LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined 1) если на сайте есть уязвимость https://en.wikipedia.org/wiki/Directory_traversal_attack могут читать одним из твоих скриптов, прямого захода на текстовик не будет в логах 2) читают через SSH 3) Читают через БД если на сайте SQL injection с правами на файлы. ну и другие варианты зависят от сервисов/служб работающих на сервере. Например ISP панелька, FTP.
p.s. логи авторизации, ссх все лежит в /var/log изучай) Но если взломали и у них root они могли зачистить логи клинерами.
Спасибо за ответ! А может быть такая ситуация что на сервере установлена какая то программа которая считывает файл? Её возможно отследить?
запусти отслеживание файла https://linux.die.net/man/1/inotifywait inotifywait -m -d -o log.txt путь/файл
а какие вообще права у файла и кто владелец? Можно ли изменить юзера на рута и выдать права 600? ну и убрать его из глобальной видимости, если веб-сервер смотрит в /var/www то файл перенести в /var/ т.к. если у тебя там .htaccess охраняет его, возможно его обошли
Чел хочет отлавливать юзеров, которые читают его текстовый файл походу. Можно вместо текстового файла отдать скрипт, записать в БД кто запросил этот файл и отдать его после этого, перенаправить на него етц. Формулировка задачи странная. Или я чото не вкурю.