Summary: | cupsd по умолчанию принимает UDP соединения отовсюду, а не только с localhost | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Olvin <olvin> |
Component: | cups | Assignee: | Anton Farygin <rider> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | critical | ||
Priority: | P1 | CC: | anubix, george, lav, ldv, mike, rider, shakirov, vvk |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux | ||
Bug Depends on: | |||
Bug Blocks: | 14167 |
Description
Olvin
2007-12-08 17:04:55 MSK
# netlist -a|grep cups root 6106 cupsd 1 tcp 127.0.0.1:631 0.0.0.0:0 LISTEN root 6106 cupsd 4 udp 0.0.0.0:631 0.0.0.0:0 CLOSE ---cupsd.conf--- # Only listen for connections from the local machine. Listen localhost:631 --- То есть по udp он вроде как ничего не слушает. OK. А как насчёт такого (уже не netlist, а netstat): [root@ald40 ~]# netstat -avpn 2>/dev/null|grep cups tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 3651/cupsd udp 0 0 0.0.0.0:631 0.0.0.0:* 3651/cupsd unix 2 [ ACC ] STREAM LISTENING 12746 3651/cupsd /var/run/cups/cups.sock Как прокомментируете? Зачем оно вообще висит на 0.0.0.0, если ему сказано слушать только localhost? Я понимаю, что вроде бы не слушает, но сам факт того, что есть такая строчка в выводе настораживает. Скорее всего, помечу как INVALID, но дождусь вашего комментария. без понятия зачем ему ещё и UDP-шный порт ;) (In reply to comment #3) > без понятия зачем ему ещё и UDP-шный порт ;) > Нда... Так он всё-таки слушает или нет? :) Resolved bug: INVALID (In reply to comment #3) > без понятия зачем ему ещё и UDP-шный порт ;) Вероятно, для какого-нить обнаружения по бродкастам. Судя по nmap, UDP он слушает... (In reply to comment #5) >> без понятия зачем ему ещё и UDP-шный порт ;) > Вероятно, для какого-нить обнаружения по бродкастам. > Судя по nmap, UDP он слушает... Так что - получается, уязвим? слушает != уязвим (In reply to comment #7) > слушает != уязвим слушает ~ потенциально уязвим Скажите control cups local и расслабтесь, даже на localhost слушать не будет ;) > Скажите control cups local и расслабтесь, даже на localhost слушать не будет ;)
В общем, это надо сделать по умолчанию. А то слушает ведь, причём зря и
небезопасно, в общем случае.
нет, по умолчанию будет наименее проблемный вариант ... мы уже проходили, когда делаешь параною а потом выслушиваешь ругань пользователей ;) > нет, по умолчанию будет наименее проблемный вариант ... мы уже проходили, когда
> делаешь параною а потом выслушиваешь ругань пользователей ;)
Тогда нужно сделать эту службу недоступной из сети не 127.0.0.1 ИЛИ запускаемой
не из-под root.
Галку в альтераторе? Воспроизводится: cups-1.4.4-alt2 # netstat -anlpu | grep cups udp 0 0 0.0.0.0:631 0.0.0.0:* 3768/cupsd Перевешиваю на Сизиф Не уверен, что есть большой смысл отрывать ему и обнаружение по UDP... разве что control cups paranoid какой. (В ответ на комментарий №2) > OK. А как насчёт такого (уже не netlist, а netstat): > > [root@ald40 ~]# netstat -avpn 2>/dev/null|grep cups > tcp 0 0 127.0.0.1:631 0.0.0.0:* > LISTEN 3651/cupsd > udp 0 0 0.0.0.0:631 0.0.0.0:* > 3651/cupsd > unix 2 [ ACC ] STREAM LISTENING 12746 3651/cupsd > /var/run/cups/cups.sock Больше не слушает: # rpm -q cups cups-1.6.2-alt3 # netstat -avpn 2>/dev/null|grep cups tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN 26898/cupsd tcp 0 0 :::631 :::* LISTEN 26898/cupsd # netstat -anlpu | grep cups (ничего не выводит) |