telnet (а точнее, login) не пускает root потому, что root может заходить
в систему только со специальных защищенных терминалов, перечисленных
в /etc/securetty. Обычно там перечислены только виртуальные консоли
tty1-ttyN. Другие места считаются небезопасными, потому что пароль,
вводимый оттуда, может передаваться по сети открытым текстом (что и
происходит в случае использования telnet), а значит его может узнать
злоумышленник, "прослушивая" сеть и анализируя "чужие" пакеты.
Ответов на второй вопрос несколько:
- быстрый и неправильный способ - удалить файл /etc/securetty или
прописать в нем псевдотерминалы /dev/ttyP*. Это опасно потому, что
дает злоумышленнику возможность не только узнать пароль, но и воспользоваться
им для удаленного захода на машину.
- менее быстрый, но все равно неправильный способ - заходить на машину
обычным пользователем, а затем использовать команду su или sudo. И
в этом случае оба пароля передаются открытым текстом, со всеми возможными
последствиями.
- самый правильный способ - полностью отключить сервисы telnet, не-анонимный
ftp, rsh, rlogin и заменить их на ssh, шифрующий все, что передается
через сеть и поддерживающий аутенификацию не только через пароль,
но и с использованием криптографии с открытым ключом. Клиент и сервер
ssh для Unix можно взять на http://www.openssh.com,
про клиенты для Windows написано в разделе "Прочее".
Медленно и печально идем на http://diald.sourceforge.net,
сливаем diald, разворачиваем, читаем README, совершаем _минимальные_
телодвижения на предмет конфигурации и инсталляции, и получаем эмулятор
выделенной линии. Как только требуется выйти во внешний мир, diald дозванивается
до провайдера, устанавливает роутинг и можно работать. Внимание: учтите,
что с ядрами 2.2.x нормально работает diald-1.99 и выше. 0.16, лежащий
везде, в том числе и в некоторых дистрибутивах, предназначен только
для 2.0. (почему-то эта информация пропущена в Changes) Да, еще... Рекомендации
лучших линуксоводов: в файле /etc/resolv.conf надо размножить строчки
nameserver xxx.xxx.xxx.xxx раза по три, чтобы он по таймауту не отваливался
раньше, чем diald дозвонится. Полезно также удалить default route на
eth0.
А еще можно так: в diald.rc пишем
pre>
ip-up "cp /etc/resolv.conf.connected /etc/resolv.conf"
ip-down "cp /etc/resolv.conf.local /etc/resolv.conf",
где в resolv.conf.connected написано:
pre>
search yourdomain
nameserver xxx.xxx.xxx.xxx (я предпочитаю 127.0.0.1)
а в resolv.conf.local написано:
pre>
domain yourdomain
Хорошо настроить и использовать локальный DNS-cервер в режиме caching-only.
Его можно поднимать и опускать через ip-up и ip-down как сказано чуть
выше, или через /etc/ppp/ip-up.local и ip-down.local. Как его настроить:
раньше вариант был только один - почитать книжку и настроить таки bind.
Теперь есть более простой вариант: к редхату прилагаются готовые настройки
для cache-only bind`а (в пакете caching-nameserver) или можно установить
демон nscd, который умеет только кешировать DNS-запросы (а также запросы
к базе пользователей и групп).
А еще можно сходить посмотреть на http://alexm.here.ru
Есть mars -- netware server для линукса (эмуляция нетваpевского сеpвеpа)
ipx*, ncp*, nw* (из дистpибутива mars) - клиент.
Посмотрите Caldera Open Linux ( http://www.caldera.com)
- компания Caldera владеет исходными текстами Novell и переносит их
на Linux. Netware for Linux - http://www.calderasystems.com/support/docs/netware/.
Не забудьте про IPX-HOWTO: http://linuxdoc.org/HOWTO/IPX-HOWTO.html
pre>
PRINTCAP / Begin
my_favourite_printer:\
lp=/dev/lp1:\
sd=/var/spool/lpd/my_favourite_printer:\
sh:lf=/dev/tty10:ff=:
PRINTCAP / End
(Zahar Kiselev, 2:5030/382)
Вот что достаточно сделать чтобы работало:
Взять с ftp.kernel.org ядро, которое умеет "на ходу" менять лимиты
на количество открытых файлов. Hасколько я знаю, начиная с 2.2.10 это
работает, как делается - сказано в том числе и в этом faq.
1С отличается совершенно неприличными аппетитами по части количества
открываемых файлов - надо ставить из расчета где-то 800 на каждого виндового
пользователя, потому что есть особо "продвинутые", которые две-три копии
1С у себя на компе запускают.
Взять Самбу например 2.0.5a - это последняя, которая работала у меня.
Важно, чтобы она понимала параметр в smb.conf "ole locking compatibility"(надеюсь
теперь не наврал в написании), установить его в "no". Внимание! До меня
доходили сведения, что в какой-то даже более новой чем 2.0.5а Самбе
этого параметра нет.
Остальное настроить в соответствии с любой из многочисленных рекомендаций
по установке Самбы, главное - не запрещать ей работать с блокировками(я
знаю одного человека, который до этого додумался). Запускать надо не
через inetd, а как отдельный демон, вернее у Самбы их два - smbd и nmbd.
Чтобы несколько пользователей могли лезть в одну базу - поместить их
в одну юниксовую группу и поставить права на файлы так, чтобы был доступ
на запись для группы.
Есть еще одна мелкая особенность - Самба при работе хочет создать файлики
browse.dat, wins.dat - так вот надо поставить права так, чтобы она могла
их читать в том числе и тогда, когда работает от имени виндового пользователя
- иначе могут быть большие таймауты при выполнении команды net use в
виндах, и может не работать столь любимое многими чайниками "сетевое
окружение".
Если после очередного падения 1С винды говорят что база заблокирована
- то можно подкрутить в конфиге Самбы параметр, отвечающий за принудительное
снятие "зависших" блокировок(см man). Поставить например три минуты,
меньше не стоит, тогда через три минуты в базу можно будет войти. Рекомендуется
также поставить keepalive-таймаут, чтобы соединения не висели бесконечно.
Желательно при помощи файрволла закрыть для доступа "снаружи" те два
порта, через которые Самба работает. Причем не только на Линукс, а на
всю сеть.
А теперь - совет тем, кто хочет избавиться от проблем, вызванных наличием
1С у него в сети. Hадо запускать 1С на NT-сервере, причем желательно
sql-версию, она менее критична к сбоям (не повреждаются данные), а доступ
осуществлять с линуксовых машин через Citrix Meta Frame. При этом ситуация
меняется "до наоборот" - вместо одного линукса и кучи виндов вокруг
- получаются _одни_ винды(и те NT), а вокруг куча Линукс-терминалов,
причем можно их бездисковыми сделать, загружая с линукс-сервера.
Если не хотите линуксы (а напрасно) - citrix-клиент есть и под винды.
Для сомневающихся - работа 1С в терминальном режиме проверена в боевой
обстановке. Результат положительный. Доступ я пробовал осуществлять
и с Линукса и с win95.
Про клиент pppd + callback можно прочесть файл README.cbcp в дистрибутиве
pppd.
Про все остальное - читайте http://www.nitek.ru/~igor/pppd/
или http://nitek.east.ru/~igor/pppd/.
hylafax - есть все, что в подобных случаях может понадобиться и сказано,
где взять "клиентов" под DOS, Windows, etc. HО! принимать по одной линии
(тел) и факсы и фидо не получится. :( Можно использовать mgetty, но
факс-сервер придется делать самому, как делать можно подглядеть в hylafax.
:)
http://www.moretonbay.com/vpn/pptp.html
Нужно найти (например, на freshmeat) программу stunnel. Она прописывается
в конфиге inetd примерно так:
pre>
spop3 stream tcp nowait root /usr/sbin/stunnel /usr/sbin/popa3d
ssmtp stream tcp nowait root /usr/sbin/stunnel /usr/sbin/sendmail
Victor Wagner предупреждает о подводном камне:
Желательно в качестве argv[0] запускаемому демону указать что-то отличное
от его имени файла. А то, если программа собрана с поддержкой tcpwrappers
и используется hosts.allow/hosts.deny для разрешения доступа без ssl
только из локалки, то при совпадении argv[0] не-ssl-ного и ssl-ного
демона, и с SSL будут не пускать откуда нельзя.
Нужно настроить маскарадинг. Предположим, что внутренняя локалка имеет
адреса 192.168.0.0 (как и положено по RFC-1918). Тогда :
pre>
#!/bin/sh
/sbin/insmod ip_masq_autofw
/sbin/insmod ip_masq_user
/sbin/insmod ip_masq_cuseeme
/sbin/insmod ip_masq_ftp
/sbin/insmod ip_masq_irc
/sbin/insmod ip_masq_mfw
/sbin/insmod ip_masq_portfw
/sbin/insmod ip_masq_quake
/sbin/insmod ip_masq_raudio
/sbin/insmod ip_masq_vdolive
/sbin/ipchains -F
/sbin/ipchains -P forward DENY
/sbin/ipchains -A forward -j MASQ -s 192.168.0.0/16 -d 0.0.0.0/0
Если Linux имеет адрес 192.168.0.1, то этот ip должен быть определен на
хостах внутренней сети как default gateway.
Также полезно прочитать HOWTOs:
Firewall http://linuxdoc.org/HOWTO/Firewall-HOWTO.html
IPCHAINS http://linuxdoc.org/HOWTO/IPCHAINS-HOWTO.html
IP-Masquerade http://linuxdoc.org/HOWTO/IP-Masquerade-HOWTO.html
Русская дока есть на http://www.fima.net/masquerade.html
В 2.0 ядрах вместо ipchains используется ipfwadm, в 2.4 - netfilter,
про который также есть HOWTO на http://netfilter.kernlenotes.org
Если ничего не работает - проверьте, что находится в /proc/sys/net/ipv4/ip_forward
:
pre>
$ echo "1" > /proc/sys/net/ipv4/ip_forward
(в Red Hat 6.2 и выше - не забудьте поправить /etc/sysctl.conf)
Утилиты для графического управления firewall-ом : fBuilder http://www.innertek.com/
Mason http://users.dhp.com/~whisper/mason/
Cофт лежит на http://www.socks.nec.com
Предположим, что у вас есть машина с двумя интерфейсами (PPP/Ethernet
или Ethernet/Ethernet). На внутреннем Ethernet-e адрес : 192.168.0.1.
Самый простой вариант - аутентификация клиентов локалки только по адресу.
/etc/socks5.conf
pre>
permit - - 192.168.0. - - -
set SOCKS5_BINDINTFC 192.168.0.1:1080
set SOCKS5_NOIDENT
ICQ 99/2000 работает. Подробнее `man socks5`, `man socks5.conf`, http://www.socks.nec.com.
[там есть FAQ]
Простейший способ - занесение соответствующих хостов - поставщиков
рекламы в /etc/hosts с фиктивными ip адресами.
Более сложный, но и более гибкий - при помощи прокси-сервера Squid.
Чаще всего для фильтрации используют ACL (Access Control List) типа
"url_regex" (squid.conf, раздел ACCESS CONTROLS) типа:
pre>
acl Reclama_Banners url_regex ^http://www1\.reklama\.ru/cgi-bin/banner/*
http_access deny Reclama_Banners
Или из файла :
pre>
acl Banners url_regex "/etc/squid/banners"
http_access deny Banners
В /etc/squid/banners вписываешь своих врагов (в виде регулярных выражений),
например:
pre>
^http://banners\.rambler\.ru/advert/.*\.gif
^http://kulichki.rambler.ru/reklama/banners/.*\.gif
^http://www.*\.yandex\.ru/cgi-bin/banner/*
^http://www1\.reklama\.ru/cgi-bin/banner/*
^http://www\.reklama\.ru/cgi-bin/banner/*
^http://www\.reklama\.ru/cgi-bin/href/*
^http://www\.100mb\.net/images/ban/banner.*\.gif
^http://www\.bizlink\.ru/cgi-bin/irads\.cgi.*
^http://www\.linkexchange\.ru/cgi-bin/rle\.cgi
^http://www\.linkexchange\.ru/users/.*/goto\.map
^http://www\.netcq\.com/banners/banner\.gif
^http://1000\.stars\.ru/cgi-bin/1000\.cgi
Еще лучше с задачей фильтрации справляется специальная программа-фильтр
squidguard http://www.squidguard.org,
ставится в дополнение к squid.
Более полный список баннеродержателей можно получить на http://pail.pu.ru/
Можно сделать Transparent Proxy http://www.lexa.ru/lexa/transparent-proxy.html
Transparent Proxy MiniHOWTO: http://www.tldp.org/HOWTO/mini/TransparentProxy.html
Можно поставить редиректор squirm http://www.senet.com.au/squirm/,
его задача - подменять одни URLs другими.
http://www.artmagic.ru/labs/sqlandwin.shtml