systrace и clamd

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

systrace и clamd

Igor Grabin
Утро добрым иногда бывает,

решил с новогоднего похмелу подоводить до ума systrace-политику для
clamd, коюю systrace -A собирал несколько дней чёрте-когда.
через часик возни резко захотелось укушаться обратно.

просю помощи знатоков.

итак...
закваска:
Policy: /usr/local/sbin/clamd, Emulation: native
        native-issetugid: permit
        native-mprotect: permit
        native-mmap: permit
        native-__sysctl: permit
        native-fstat: permit
        native-close: permit
        native-read: permit
        native-mquery: permit
        native-fcntl: permit
        native-getdirentries: permit
        native-lseek: permit
        native-munmap: permit
        native-sigprocmask: permit
        native-getpid: permit
        native-pipe: permit
        native-gettimeofday: permit
        native-sigaction: permit
        native-getrlimit: permit
        native-umask: permit
        native-write: permit
        native-geteuid: permit
        native-getrusage: permit
        native-dup2: permit
        native-chdir: filename eq "/" then permit
        native-fork: permit
        native-setsid: permit
        native-socket: sockdom eq "AF_UNIX" and socktype eq
                "SOCK_STREAM" then permit
        native-bind: sockaddr eq "/tmp/clamd" then permit
        native-listen: permit
        native-accept: permit
        native-poll: permit
        native-setitimer: permit
        native-exit: permit
        native-clock_gettime: permit
        native-recvmsg: permit
        native-recv: permit
        native-recvfrom: permit
        native-dup: permit
        native-sigreturn: permit
        native-sendto: true then permit
        native-ioctl: permit
        native-shutdown: permit

        native-fsread: filename eq "/var/run/ld.so.hints" then permit
        native-fsread: filename eq "/usr/local/lib" then permit
        native-fsread: filename eq "/etc/malloc.conf" then permit

        native-fsread: filename eq "/etc/clamd.conf" then permit
        native-fsread: filename eq "/var/log/clamd.log" then permit
        native-fsread: filename match "/var/db/clamav*" then permit
        native-fsread: filename eq "/tmp" then permit

        native-fsread: filename match "/usr/share/zoneinfo/*" then permit
        native-fsread: filename match "/usr/local/lib/libbz2.so.*" then permit
        native-fsread: filename match "/usr/local/lib/libcurl.so.*" then permit
        native-fsread: filename match "/usr/local/lib/libclamav.so.*"
                                                                 then permit
        native-fsread: filename match "/usr/local/lib/libgmp.so.*" then permit
        native-fsread: filename match "/usr/local/lib/libiconv.so.*" then permit
        native-fsread: filename match "/usr/lib/libpthread.so.*" then permit
        native-fsread: filename match "/usr/lib/libc.so.*" then permit
        native-fsread: filename match "/usr/lib/libcrypto.so.*" then permit
        native-fsread: filename match "/usr/lib/libssl.so.*" then permit
        native-fsread: filename match "/usr/lib/libz.so.*" then permit

        native-fswrite: filename eq "/dev/null" then permit

        native-fswrite: filename eq "/var/log/clamd.log" then permit
        native-fswrite: filename eq "/var/run/clamd.pid" then permit
        native-fswrite: filename eq "/tmp/clamd" then permit

        native-fswrite: filename match "/tmp/clamav-*" then permit
        native-fswrite: filename match "/tmp/tmp.*" then permit

        native-fsread: filename match "/tmp/tmp.*" then permit
        native-fsread: filename match "/tmp/clamav-*" then permit
        native-fsread: filename match "/var/spool/exim/scan/*" then permit

        native-fchmod: mode eq "666" then permit
        native-chmod: filename match "/tmp/clamav-*" and mode eq "700"
                                                         then permit

        native-fswrite: filename eq "/var/db/clamav/.dbLock" then permit
        native-fswrite: filename eq "/var/db/clamav/daily.inc/.dbLock"
                                                 then permit
        native-fswrite: filename eq "/var/db/clamav/main.inc/.dbLock"
                                                then permit

избранное из логов, что побороть не смог:
1. native-connect в конфиге мы не кушаем. wtf?
Jan  6 14:15:47 maneki systrace: deny user: root, prog: /usr/local/sbin/clamd,
pid: 22905(0)[19319], policy: /usr/local/sbin/clamd, filters: 74,
syscall: native-connect(98), sockaddr: /tmp/clamd

2. вообще хит. в policy вроде бы ж есть gettimeofday...
Jan  6 14:15:56 maneki systrace: deny user: root, prog:
/usr/local/sbin/clamd, pid: 2850(0)[23026],
policy: /usr/local/sbin/clamd, filters: 74,
syscall: native-gettimeofday(116), args: 8

3. и вообще впечатление, что systrace -A пишет в лучшем случае
половину...

есть идеи, как чуду-юду правильно борют? а то либо я нормально не
похмелился, либо эта хрень неживая какая-то...

--
Igor "CacoDem0n" Grabin, http://violent.death.kiev.ua/


Reply | Threaded
Open this post in threaded view
|

Re: systrace и clamd

Pavel Labushev
Igor Grabin пишет:
> Утро добрым иногда бывает,
>
> решил с новогоднего похмелу подоводить до ума systrace-политику для
> clamd, коюю systrace -A собирал несколько дней чёрте-когда.
> через часик возни резко захотелось укушаться обратно.
>
> просю помощи знатоков.

Не претендую, но выскажусь.

> итак...
> закваска:
> Policy: /usr/local/sbin/clamd, Emulation: native
>         native-issetugid: permit
>         native-mprotect: permit
>         native-mmap: permit

По-моему, начиная с этого места, учитывая разрешенный далее fork(), в
полиси можно забить на проверку неявных аргументов, т.е. передаваемых
ядру по указателю (имена файлов и сокетов в вашем случае):
гипотетический взломщик наверняка сможет их переписать, поскольку файл +
mmap для любой пары процессов (если обоим доступен один и тот же файл
для чтения/записи) - это своего рода разделяемая память, посредством
манипуляций с которой осуществляется подмена неявных аргументов
(конечных последовательностей байтов, на которые указывает указатель,
переданный ядру).

Почитайте: http://www.watson.org/~robert/2007woot/

Случай с mmap там не рассматривается, но принцип тот же.

>         native-__sysctl: permit
>         native-fstat: permit
>         native-close: permit
>         native-read: permit
>         native-mquery: permit
>         native-fcntl: permit
>         native-getdirentries: permit
>         native-lseek: permit
>         native-munmap: permit
>         native-sigprocmask: permit
>         native-getpid: permit
>         native-pipe: permit
>         native-gettimeofday: permit
>         native-sigaction: permit
>         native-getrlimit: permit
>         native-umask: permit
>         native-write: permit
>         native-geteuid: permit
>         native-getrusage: permit
>         native-dup2: permit
>         native-chdir: filename eq "/" then permit
filename - неявный аргумент.

>         native-fork: permit
>         native-setsid: permit
>         native-socket: sockdom eq "AF_UNIX" and socktype eq
> "SOCK_STREAM" then permit
>         native-bind: sockaddr eq "/tmp/clamd" then permit
sockaddr - неявный аргумент.

>         native-listen: permit
>         native-accept: permit
>         native-poll: permit
>         native-setitimer: permit
>         native-exit: permit
>         native-clock_gettime: permit
>         native-recvmsg: permit
>         native-recv: permit
>         native-recvfrom: permit
>         native-dup: permit
>         native-sigreturn: permit
>         native-sendto: true then permit
>         native-ioctl: permit
>         native-shutdown: permit

<insecure filename checks>

>         native-fsread: filename eq "/var/run/ld.so.hints" then permit
>         native-fsread: filename eq "/usr/local/lib" then permit
>         native-fsread: filename eq "/etc/malloc.conf" then permit
>
>         native-fsread: filename eq "/etc/clamd.conf" then permit
>         native-fsread: filename eq "/var/log/clamd.log" then permit
>         native-fsread: filename match "/var/db/clamav*" then permit
>         native-fsread: filename eq "/tmp" then permit
>
>         native-fsread: filename match "/usr/share/zoneinfo/*" then permit
>         native-fsread: filename match "/usr/local/lib/libbz2.so.*" then permit
>         native-fsread: filename match "/usr/local/lib/libcurl.so.*" then permit
>         native-fsread: filename match "/usr/local/lib/libclamav.so.*"
> then permit
>         native-fsread: filename match "/usr/local/lib/libgmp.so.*" then permit
>         native-fsread: filename match "/usr/local/lib/libiconv.so.*" then permit
>         native-fsread: filename match "/usr/lib/libpthread.so.*" then permit
>         native-fsread: filename match "/usr/lib/libc.so.*" then permit
>         native-fsread: filename match "/usr/lib/libcrypto.so.*" then permit
>         native-fsread: filename match "/usr/lib/libssl.so.*" then permit
>         native-fsread: filename match "/usr/lib/libz.so.*" then permit
>
>         native-fswrite: filename eq "/dev/null" then permit
>
>         native-fswrite: filename eq "/var/log/clamd.log" then permit
>         native-fswrite: filename eq "/var/run/clamd.pid" then permit
>         native-fswrite: filename eq "/tmp/clamd" then permit
>
>         native-fswrite: filename match "/tmp/clamav-*" then permit
>         native-fswrite: filename match "/tmp/tmp.*" then permit
>
>         native-fsread: filename match "/tmp/tmp.*" then permit
>         native-fsread: filename match "/tmp/clamav-*" then permit
>         native-fsread: filename match "/var/spool/exim/scan/*" then permit
>
>         native-fchmod: mode eq "666" then permit
>         native-chmod: filename match "/tmp/clamav-*" and mode eq "700"
> then permit
>
>         native-fswrite: filename eq "/var/db/clamav/.dbLock" then permit
>         native-fswrite: filename eq "/var/db/clamav/daily.inc/.dbLock"
> then permit
>         native-fswrite: filename eq "/var/db/clamav/main.inc/.dbLock"
> then permit
</insecure filename checks>

Вы все файлы, нужные clamd, уже знаете. Может, будет проще оставить в
полиси только проверки на вызовы и их явные аргументы, а clamd запереть
в чрут, поместив туда набор уже известных файлов? Процесс обновления
файлов (библиотек) в чруте автоматизировать посредством make, и никаких
проблем.

> избранное из логов, что побороть не смог:
> 1. native-connect в конфиге мы не кушаем. wtf?
> Jan  6 14:15:47 maneki systrace: deny user: root, prog: /usr/local/sbin/clamd,
> pid: 22905(0)[19319], policy: /usr/local/sbin/clamd, filters: 74,
> syscall: native-connect(98), sockaddr: /tmp/clamd

Чайлд коннектится?

> 2. вообще хит. в policy вроде бы ж есть gettimeofday...
> Jan  6 14:15:56 maneki systrace: deny user: root, prog:
> /usr/local/sbin/clamd, pid: 2850(0)[23026],
> policy: /usr/local/sbin/clamd, filters: 74,
> syscall: native-gettimeofday(116), args: 8

Похоже на баг в systrace.

> 3. и вообще впечатление, что systrace -A пишет в лучшем случае
> половину...

systrace -Ai ?

> есть идеи, как чуду-юду правильно борют? а то либо я нормально не
> похмелился, либо эта хрень неживая какая-то...
>

По-моему, она годится, в основном, там, где проверяет только явные
аргументы вызовов или просто ограничивает вызовы.
Например...

Можно запустить самбу от пользователя smbparent (uid 1510) и группы
smbparent (gid 1510); uid/gid пользователей самбы должен быть в
выделенном для этого диапазоне значений (например, 2000-2999). Пишу по
памяти, там было что-то еще, но общий смысл ясен:
...
native-listen: permit as root, if user = smbparent
native-setuid: uid re "2???" then permit as root, if user = smbparent
native-setgid: gid re "2???" then permit as root, if user = smbparent
..

Можно всем пользователям самбы удобно и безопасно (для сервера :)
разрешить доступ в общую шару (помойку):
..
native-fsread:  filename match "/smb/pub/*" then permit as smbpub:smbpub
native-fswrite: filename match "/smb/pub/*" then permit as smbpub:smbpub
..
В данном случае, подмена путей не страшна, поскольку smbpub больше
никуда, кроме помойки, писать не может (из любви к искусству и геморрою
можно и чтение ограничить, проставив соответствующие права  на все
системные директории). Пути используются, как сигнал для передачи
привилегии именно при обращении к помойке, а не к файлам самого
пользователя.

Можно разрешить некоторые системные вызовы только родителю некоего
абстрактного сетевого prefork-демона, чтобы совсем ограничить чайлды.
Такие ограничения сами по себе хороши, но еще лучше работают в паре с
setrlimit(2).
Например, в обычной ситуации, когда сама служба (prefork-демон) не
позволяет гибко настраивать лимиты для каждого дочернего процесса,
посредством setrlimit можно ограничить только общее количество процессов
сервиса (prefork-демона), назначив лимиты при его запуске. Но нельзя
запретить скомпрометированному ребенку израсходовать этот лимит
fork-бомбингом, спровоцировав отказ в обслуживании (родитель не сможет
порождать детей для обработки запросов).
Но, можно добавить к лимиту на количество процессов политику systrace.
Пусть она запрещает fork() (и другие родственные вызовы) для детей (по
признаку uid'ов детей, отличных от uid родителя) и разрешает fork()
родителю (по признаку uid родителя, отличного от uid'ов детей). Так мы
заставим лимит ограничивать то, что он должен ограничивать: количество
процессов, которые может породить легальный родитель. Дети порождать
процессы не смогут.

Конечно, если архитектура сервиса требует, чтобы детям был доступен
fork() или даже fork()+exec(). Например, детей MTA, доставляющих почту
посредством внешнего майлера, так ограничить нельзя. Но во многих других
случаях такие ограничения можно наложить: взять тот же апач (с prefork
MPM), обрабатывающий скрипты посредством mod_* или внешнего FastCGI, -
его детям fork() не нужен.


Reply | Threaded
Open this post in threaded view
|

Re[2]: systrace и clamd

irix
Hello Pavel,
Вот это да.
Людям явно , заняться нечем :)
Saturday, January 12, 2008, 2:35:49 AM, you wrote:

PL> Igor Grabin пишет:
>> Утро добрым иногда бывает,
>>
>> решил с новогоднего похмелу подоводить до ума systrace-политику для
>> clamd, коюю systrace -A собирал несколько дней чёрте-когда.
>> через часик возни резко захотелось укушаться обратно.
>>
>> просю помощи знатоков.

PL> Не претендую, но выскажусь.

>> итак...
>> закваска:
>> Policy: /usr/local/sbin/clamd, Emulation: native
>>         native-issetugid: permit
>>         native-mprotect: permit
>>         native-mmap: permit

PL> По-моему, начиная с этого места, учитывая разрешенный далее fork(), в
PL> полиси можно забить на проверку неявных аргументов, т.е. передаваемых
PL> ядру по указателю (имена файлов и сокетов в вашем случае):
PL> гипотетический взломщик наверняка сможет их переписать, поскольку файл +
PL> mmap для любой пары процессов (если обоим доступен один и тот же файл
PL> для чтения/записи) - это своего рода разделяемая память, посредством
PL> манипуляций с которой осуществляется подмена неявных аргументов
PL> (конечных последовательностей байтов, на которые указывает указатель,
PL> переданный ядру).

PL> Почитайте: http://www.watson.org/~robert/2007woot/

PL> Случай с mmap там не рассматривается, но принцип тот же.

>>         native-__sysctl: permit
>>         native-fstat: permit
>>         native-close: permit
>>         native-read: permit
>>         native-mquery: permit
>>         native-fcntl: permit
>>         native-getdirentries: permit
>>         native-lseek: permit
>>         native-munmap: permit
>>         native-sigprocmask: permit
>>         native-getpid: permit
>>         native-pipe: permit
>>         native-gettimeofday: permit
>>         native-sigaction: permit
>>         native-getrlimit: permit
>>         native-umask: permit
>>         native-write: permit
>>         native-geteuid: permit
>>         native-getrusage: permit
>>         native-dup2: permit
>>         native-chdir: filename eq "/" then permit
PL> filename - неявный аргумент.

>>         native-fork: permit
>>         native-setsid: permit
>>         native-socket: sockdom eq "AF_UNIX" and socktype eq
>>               "SOCK_STREAM" then permit
>>         native-bind: sockaddr eq "/tmp/clamd" then permit
PL> sockaddr - неявный аргумент.

>>         native-listen: permit
>>         native-accept: permit
>>         native-poll: permit
>>         native-setitimer: permit
>>         native-exit: permit
>>         native-clock_gettime: permit
>>         native-recvmsg: permit
>>         native-recv: permit
>>         native-recvfrom: permit
>>         native-dup: permit
>>         native-sigreturn: permit
>>         native-sendto: true then permit
>>         native-ioctl: permit
>>         native-shutdown: permit

PL> <insecure filename checks>

>>         native-fsread: filename eq "/var/run/ld.so.hints" then permit
>>         native-fsread: filename eq "/usr/local/lib" then permit
>>         native-fsread: filename eq "/etc/malloc.conf" then permit
>>
>>         native-fsread: filename eq "/etc/clamd.conf" then permit
>>         native-fsread: filename eq "/var/log/clamd.log" then permit
>>         native-fsread: filename match "/var/db/clamav*" then permit
>>         native-fsread: filename eq "/tmp" then permit
>>
>>         native-fsread: filename match "/usr/share/zoneinfo/*" then permit
>>         native-fsread: filename match "/usr/local/lib/libbz2.so.*" then permit
>>         native-fsread: filename match "/usr/local/lib/libcurl.so.*" then permit
>>         native-fsread: filename match "/usr/local/lib/libclamav.so.*"
>>                                                                then permit
>>         native-fsread: filename match "/usr/local/lib/libgmp.so.*" then permit
>>         native-fsread: filename match "/usr/local/lib/libiconv.so.*" then permit
>>         native-fsread: filename match "/usr/lib/libpthread.so.*" then permit
>>         native-fsread: filename match "/usr/lib/libc.so.*" then permit
>>         native-fsread: filename match "/usr/lib/libcrypto.so.*" then permit
>>         native-fsread: filename match "/usr/lib/libssl.so.*" then permit
>>         native-fsread: filename match "/usr/lib/libz.so.*" then permit
>>
>>         native-fswrite: filename eq "/dev/null" then permit
>>
>>         native-fswrite: filename eq "/var/log/clamd.log" then permit
>>         native-fswrite: filename eq "/var/run/clamd.pid" then permit
>>         native-fswrite: filename eq "/tmp/clamd" then permit
>>
>>         native-fswrite: filename match "/tmp/clamav-*" then permit
>>         native-fswrite: filename match "/tmp/tmp.*" then permit
>>
>>         native-fsread: filename match "/tmp/tmp.*" then permit
>>         native-fsread: filename match "/tmp/clamav-*" then permit
>>         native-fsread: filename match "/var/spool/exim/scan/*" then permit
>>
>>         native-fchmod: mode eq "666" then permit
>>         native-chmod: filename match "/tmp/clamav-*" and mode eq "700"
>>                                                        then permit
>>
>>         native-fswrite: filename eq "/var/db/clamav/.dbLock" then permit
>>         native-fswrite: filename eq "/var/db/clamav/daily.inc/.dbLock"
>>                                                then permit
>>         native-fswrite: filename eq "/var/db/clamav/main.inc/.dbLock"
>>                                               then permit
PL> </insecure filename checks>

PL> Вы все файлы, нужные clamd, уже знаете. Может, будет проще оставить в
PL> полиси только проверки на вызовы и их явные аргументы, а clamd запереть
PL> в чрут, поместив туда набор уже известных файлов? Процесс обновления
PL> файлов (библиотек) в чруте автоматизировать посредством make, и никаких
PL> проблем.

>> избранное из логов, что побороть не смог:
>> 1. native-connect в конфиге мы не кушаем. wtf?
>> Jan  6 14:15:47 maneki systrace: deny user: root, prog: /usr/local/sbin/clamd,
>> pid: 22905(0)[19319], policy: /usr/local/sbin/clamd, filters: 74,
>> syscall: native-connect(98), sockaddr: /tmp/clamd

PL> Чайлд коннектится?

>> 2. вообще хит. в policy вроде бы ж есть gettimeofday...
>> Jan  6 14:15:56 maneki systrace: deny user: root, prog:
>> /usr/local/sbin/clamd, pid: 2850(0)[23026],
>> policy: /usr/local/sbin/clamd, filters: 74,
>> syscall: native-gettimeofday(116), args: 8

PL> Похоже на баг в systrace.

>> 3. и вообще впечатление, что systrace -A пишет в лучшем случае
>> половину...

PL> systrace -Ai ?

>> есть идеи, как чуду-юду правильно борют? а то либо я нормально не
>> похмелился, либо эта хрень неживая какая-то...
>>

PL> По-моему, она годится, в основном, там, где проверяет только явные
PL> аргументы вызовов или просто ограничивает вызовы.
PL> Например...

PL> Можно запустить самбу от пользователя smbparent (uid 1510) и группы
PL> smbparent (gid 1510); uid/gid пользователей самбы должен быть в
PL> выделенном для этого диапазоне значений (например, 2000-2999). Пишу по
PL> памяти, там было что-то еще, но общий смысл ясен:
PL> ...
PL> native-listen: permit as root, if user = smbparent
PL> native-setuid: uid re "2???" then permit as root, if user = smbparent
PL> native-setgid: gid re "2???" then permit as root, if user = smbparent
PL> ..

PL> Можно всем пользователям самбы удобно и безопасно (для сервера :)
PL> разрешить доступ в общую шару (помойку):
PL> ..
PL> native-fsread:  filename match "/smb/pub/*" then permit as smbpub:smbpub
PL> native-fswrite: filename match "/smb/pub/*" then permit as smbpub:smbpub
PL> ..
PL> В данном случае, подмена путей не страшна, поскольку smbpub больше
PL> никуда, кроме помойки, писать не может (из любви к искусству и геморрою
PL> можно и чтение ограничить, проставив соответствующие права  на все
PL> системные директории). Пути используются, как сигнал для передачи
PL> привилегии именно при обращении к помойке, а не к файлам самого
PL> пользователя.

PL> Можно разрешить некоторые системные вызовы только родителю некоего
PL> абстрактного сетевого prefork-демона, чтобы совсем ограничить чайлды.
PL> Такие ограничения сами по себе хороши, но еще лучше работают в паре с
PL> setrlimit(2).
PL> Например, в обычной ситуации, когда сама служба (prefork-демон) не
PL> позволяет гибко настраивать лимиты для каждого дочернего процесса,
PL> посредством setrlimit можно ограничить только общее количество процессов
PL> сервиса (prefork-демона), назначив лимиты при его запуске. Но нельзя
PL> запретить скомпрометированному ребенку израсходовать этот лимит
PL> fork-бомбингом, спровоцировав отказ в обслуживании (родитель не сможет
PL> порождать детей для обработки запросов).
PL> Но, можно добавить к лимиту на количество процессов политику systrace.
PL> Пусть она запрещает fork() (и другие родственные вызовы) для детей (по
PL> признаку uid'ов детей, отличных от uid родителя) и разрешает fork()
PL> родителю (по признаку uid родителя, отличного от uid'ов детей). Так мы
PL> заставим лимит ограничивать то, что он должен ограничивать: количество
PL> процессов, которые может породить легальный родитель. Дети порождать
PL> процессы не смогут.

PL> Конечно, если архитектура сервиса требует, чтобы детям был доступен
PL> fork() или даже fork()+exec(). Например, детей MTA, доставляющих почту
PL> посредством внешнего майлера, так ограничить нельзя. Но во многих других
PL> случаях такие ограничения можно наложить: взять тот же апач (с prefork
PL> MPM), обрабатывающий скрипты посредством mod_* или внешнего FastCGI, -
PL> его детям fork() не нужен.






--
Best regards,
 irix                            mailto:[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Re[2]: systrace и clamd

Anton Maksimenkov-2
оверквотинг - зло.

12.01.08, irix<[hidden email]> написал(а):
...
> PL> Igor Grabin пишет:
> >> Утро добрым иногда бывает,
...
--
engineer
Reply | Threaded
Open this post in threaded view
|

Re: systrace и clamd

Alexey Vatchenko-2
Anton wrote:
> оверквотинг - зло.
>
> 12.01.08, irix<[hidden email]> написал(а):
> ...
>> PL> Igor Grabin пишет:
>>>> Утро добрым иногда бывает,
> ...

Топ-постинг - зло :)

--
Alexey Vatchenko
http://www.bsdua.org
E-mail: [hidden email]
JID: [hidden email]


Reply | Threaded
Open this post in threaded view
|

pf.conf хочется

Vladimir V. Nikitin
Alexey Vatchenko пишет:
> Anton wrote:
>> оверквотинг - зло.
>>> PL> Igor Grabin пишет:
>>>>> Утро добрым иногда бывает,
>
> Топ-постинг - зло :)

И здесь фидошники, блин. :)

AOT: Граждане, киньтесь кому не жалко в меня примерами конфигов pf - и с
NAT-ом, и без оного $subj. Поучиться у людей охота.

-=-
VN


Reply | Threaded
Open this post in threaded view
|

Re: pf.conf хочется

Andrey N. Oktyabrski
Vladimir Nikitin wrote:
> AOT: Граждане, киньтесь кому не жалко в меня примерами конфигов pf - и с
> NAT-ом, и без оного $subj. Поучиться у людей охота.
http://www.openbsd.ru/files/


Reply | Threaded
Open this post in threaded view
|

Re: pf.conf хочется

irix
In reply to this post by Vladimir V. Nikitin
Hello Vladimir,
Кинь в себя /usr/share/pf

Monday, January 14, 2008, 3:35:03 PM, you wrote:

VN> Alexey Vatchenko пишет:
>> Anton wrote:
>>> оверквотинг - зло.
>>>> PL> Igor Grabin пишет:
>>>>>> Утро добрым иногда бывает,
>>
>> Топ-постинг - зло :)

VN> И здесь фидошники, блин. :)

VN> AOT: Граждане, киньтесь кому не жалко в меня примерами конфигов pf - и с
VN> NAT-ом, и без оного $subj. Поучиться у людей охота.

VN> -=-
VN> VN






--
Best regards,
 irix                            mailto:[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: pf.conf хочется

Vladimir V. Nikitin
irix пишет:

> VN> AOT: Граждане, киньтесь кому не жалко в меня примерами конфигов pf - и с
> VN> NAT-ом, и без оного $subj. Поучиться у людей охота.
 >
 > Кинь в себя /usr/share/pf

йес, благодарю.


Reply | Threaded
Open this post in threaded view
|

Re: pf.conf хочется

Vladimir V. Nikitin
In reply to this post by Andrey N. Oktyabrski
Andrey N. Oktyabrski пишет:
> Vladimir Nikitin wrote:
>> AOT: Граждане, киньтесь кому не жалко в меня примерами конфигов pf - и
>> с NAT-ом, и без оного $subj. Поучиться у людей охота.
> http://www.openbsd.ru/files/

О! Ценная ссылка. Спасибо.
А ещё один вопрос можно? Спасибо. :) Почему-то mc собрался из портов по
умолчанию в ЧБ варианте. А хочется синенький, чтоб как у людей. :) Как
починить его? Что в xterm, что в консоли - одинаково бесцветно выглядит.
А ещё он на функциональные клавиши не воспринимает как надо. По F10
например не выйти из него.

-=-
VN


Reply | Threaded
Open this post in threaded view
|

Re: pf.conf ÈÏÞÅÔÓÑ

Sergey Yudin
Hello, Vladimir!

[Sorry, skipped]

VN> О! Ценная ссылка. Спасибо.
VN> А ещё один вопрос можно? Спасибо. :) Почему-то mc собрался из портов по
VN> умолчанию в ЧБ варианте. А хочется синенький, чтоб как у людей. :) Как
VN> починить его?

mc -c :-)

VN> Что в xterm, что в консоли - одинаково бесцветно выглядит. А ещё он на функциональные
VN> клавиши не воспринимает как надо. По F10 например не выйти из него.

esc 0

With best regards...


Reply | Threaded
Open this post in threaded view
|

Re[2]: pf.conf хочется

irix
In reply to this post by Vladimir V. Nikitin
Hello Vladimir,

pkg_delete mc

:)

Wednesday, January 16, 2008, 8:15:18 AM, you wrote:

VN> Andrey N. Oktyabrski пишет:
>> Vladimir Nikitin wrote:
>>> AOT: Граждане, киньтесь кому не жалко в меня примерами конфигов pf - и
>>> с NAT-ом, и без оного $subj. Поучиться у людей охота.
>> http://www.openbsd.ru/files/

VN> О! Ценная ссылка. Спасибо.
VN> А ещё один вопрос можно? Спасибо. :) Почему-то mc собрался из портов по
VN> умолчанию в ЧБ варианте. А хочется синенький, чтоб как у людей. :) Как
VN> починить его? Что в xterm, что в консоли - одинаково бесцветно выглядит.
VN> А ещё он на функциональные клавиши не воспринимает как надо. По F10
VN> например не выйти из него.

VN> -=-
VN> VN






--
Best regards,
 irix                            mailto:[hidden email]


Reply | Threaded
Open this post in threaded view
|

RE: pf.conf хочется

Константин Романенко
In reply to this post by Vladimir V. Nikitin
А ещё он на функциональные клавиши не воспринимает как надо. По F10
например не выйти из него.
MC можно научить функциональным клавишам. В меню есть пункт "learn keys" и
там можно его научить.
Reply | Threaded
Open this post in threaded view
|

Re: pf.conf хочется

Vladimir V. Nikitin
In reply to this post by irix
irix пишет:

> pkg_delete mc
>
> :)

Это мысль! :)


Reply | Threaded
Open this post in threaded view
|

Re[2]: pf.conf хочется

xcrew-partizan
In reply to this post by Константин Романенко
> А ещё он на функциональные клавиши не воспринимает как надо. По F10
> например не выйти из него.
А может стоит разобраться с переменной TERM ?


--
С уважением,
 xcrew-partizan                          mailto:[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: pf.conf хочется

Vladimir V. Nikitin
[hidden email] пишет:
>> А ещё он на функциональные клавиши не воспринимает как надо. По F10
>> например не выйти из него.
> А может стоит разобраться с переменной TERM ?

Безусловно. Спасибо.

-=-
VN