
Рубрика: Юниксоид
Xakep Online -> Журнал, номер #010, стр. 010-038-7
root:satan,killer:OWNPASS
# Всем остальным доступ прикрываем
# кроме группы wheel
root:ALL EXCEPT GROUP wheel:DENY
# Аккаунты satan и killer одного человека
# позволим ему перескакивать с одного на
# другой не вводя пароль
satan:killer:NOPASS
killer:satan:NOPASS
На моей системе я подправил файл '/etc/group' и добавил группу 'wheel'. Эта группа у меня что-то между 'users' и 'root', и в нее я добавил пользователей, которым можно будет выполнять 'su'. В 'suauth' файле я прописал, как ты видишь, не позволять 'su' никому, кроме как аккаунтам группы 'wheel'. Если что-то не понятно, то - 'man suauth'. :) Кстати, suauth иногда полезен и при взломе системы, то есть получив к чужому компу полный доступ, добавляешь шелл пользователя с самыми низкими правами, типа чтоб админ ничего не просек, а в файле suauth прописываешь root:you:NOPASS.
Следующий - 'ftpaccess' файл. Содержит много настроек к фтп серверу, кому можно, а кому нельзя скачивать или закачивать файлы, разрешить или нет доступ анонимусу, запретить доступ с определенных хостов. Если тебе нужна подробная информация по настройке и возможностям этого файла - 'man ftpaccess'. Редактировать его очень легко, и записывать все можно в любое место файла, к примеру, если я хочу добавить кого-нибудь в deny лист, я могу прописать его и в начало файла, и в середину, и в конец, от этого ничего не изменится. Формат очень простой,
'deny '
Мой выглядит так:
# Запретить доступ на фтп с этих хостов
deny *.mos.ru.super-ibm.net /etc/msgs/msg.dead
deny *.redhat.ru /etc/msgs/msg.dead
deny *.legion2000.cc /etc/msgs/msg.dead
deny *.zo0mer.ru /etc/msgs/msg.dead
deny *.citylame.ru /etc/msgs/msg.dead
Я думаю, в формате этого файла нет ничего сложного.'/etc/msgs/msg.dead' - файл, который высветится для тех, чей хост я там указал. Все логи от фтп будут сохраняться в (/var/logs/secure), поэтому следует иногда их просматривать :).
Файлы 'hosts.deny' и 'hosts.allow' работают рука об руку друг с другом, по умолчанию используются на всех современных версиях Unixa. Они используют TCP Wrappers. TCP Wrappers - вкратце, программа `tcpd'. Она мониторит входящие запросы на telnet, finger, ftp, exec, rsh, rlogin, tftp, talk, comsat и другие сервисы . Короче, она просматривает программы, которые у тебя в '/etc/inetd.conf' файле и которые запускает 'inetd'. Когда идет запрос на запуск какой-либо из этих программ, она все логирует. Если все хорошо, то `tcpd' запускает нужную программу. Если ты посмотришь на свой '/etc/inetd.conf' файл, то строчки буду похожи на эту:
smtp stream tcp nowait root /usr/sbin/tcpd sendmail -bs
Эта строчка говорит о том, что если кто-то отправит запрос на smtp порт, то врубится 'sendmail -bs'. А 'tcpd', в свою очередь, логирует реквест и проверяет файлы 'hosts.deny' и 'host.allow'. Названия 'hosts.*' говорят сами за себя, то есть они или позволяют, или запрещают связь. Формат очень простой:
Connection:IP address.
satan:~$ cat /etc/hosts.deny
ALL: 210.161.20.1
ALL: 207.172.56.57
Здесь я запретил все connections с этих двух IP. Можно написать и ALL:ALL, тогда вряд ли к тебе кто приконнектится. Если же ты хочешь разрешить конекшен только некоторым пользователям, то напиши в host.deny ALL:ALL, а в host.allow тех, кого можно пропускать.