2

Я запускаю tcpdump на удаленной машине и передаю вывод в Wireshark на моей локальной машине через SSH. Для этого мне пришлось установить бит SUID на tcpdump.

Для справки, удаленной машиной является Amazon EC2 под управлением «Amazon Linux AMI 2012.09». На этом изображении нет пароля root и невозможно войти в систему как root. Вы не можете использовать sudo без TTY, и поэтому вы должны установить SUID.

Каковы практические риски установки этого бита в tcpdump? Есть ли необходимость быть параноиком? Должен ли я сбросить его, когда я не снимаю?

2 ответа2

3

Это означает, что каждый, у кого есть доступ к этой машине, может использовать tcpdump для захвата трафика. Паранойя не плохая вещь, когда мы говорим о безопасности. В конце концов вы можете забыть, что вы установили его suid, и в один прекрасный день вы дадите оболочке доступ к тому, кому вы не можете полностью доверять. Я верю, ты не хочешь этого. Я думаю, вы должны рассмотреть возможность использования sudo для запуска tcpdump из вашей учетной записи. Можно установить sudo чтобы не запрашивать пароль для конкретного пользователя и для конкретных команд.

1

Основываясь на вашем запросе комментариев, вот как у меня это работает, чтобы передать удаленный tcpdump через sudo к wireshark:

ssh user@host sudo tcpdump -s0 -w - | wireshark -k -i -

Примечания: я добавил s0, чтобы захватить все пакеты.

Только что создал скрипт-обертку, который запускает именно это, но вам нужно только предоставить учетные данные ssh и дополнительный фильтр для tcpdump. Вы можете скачать его здесь

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .