Регистрация Вход
Библиотека /
Поиск по библиотекеМоя библиотекаИскать книгу(обмен)

Linux и Security

Linux и Security


Запуск X-овой программы из под другого пользователя


su - user -c "xauth add `xauth list $DISPLAY`; exec env DISPLAY=$DISPLAY program"

Просмотреть открытые TCP-порты


Список netstat -an netstat -an | grep LISTEN netstat -a | grep ESTABLISH Кто работает с портом: lsof -i tcp:3128

Конфигурирование tcp-wrapper'а


Перекрыть доступ снаружи на узловую машину: В файл /etc/hosts.deny вставить строчку ALL : ALL Открыть доступ на узловую машину с машин локальной сети 195.0.1.0 В файл /etc/hosts.allow вставить строчки ALL : \ 127.0.0.1 ALL : \ 195.0.1.0/255.255.255.0

Inetd и Xinetd


Начиная с RedHat 7.3 inetd заменен на xinetd, кофигур теперь лежит не в /etc/inetd.conf а в /etc/xinetd.d/ для каждого сервиса - отдельный файл, например: /etc/xinetd.d/swat service swat { disable = yes port = 901 socket_type = stream wait = no only_from = 127.0.0.1 www.lib.ru 195.0.0.0/24 # only_from = 195.0.0.0/255.255.255.0 127.0 - а вот так нельзя user = root server = /usr/sbin/swat log_on_failure += USERID } # А так делается проброс порта service russianproxy { port = 8888 bind = 195.0.0.3 socket_type = stream protocol = tcp user = root group = root redirect = 195.0.0.1 80 type = UNLISTED wait = no only_from = 195.0.0.0/24 127.0.0.0/24 } # если захочется отключить логгинг коннектов, то закомментировать # в файле /etc/xinetd.conf строку # log_type = SYSLOG auth

HTTPS дешево и сердито с помощью stunnel


если недосуг поднимать HTTPS в самоом апаче, можно просто завернуть его в SSL-wrapper stunnel: ДОбавляем в конфигур xinetd.conf service https { port = 443 socket_type = stream protocol = tcp user = root wait = no disable = no type = UNLISTED server = /usr/sbin/stunnel server_args = -p /etc/webmin/miniserv.pem -r 80 }

Конфигурим sendmail, pop3, imap4 с SSL


stunnel -d 465 -r smtp stunnel -d 993 -r localhost:imap stunnel -d 993 -l /usr/sbin/imapd imapd stunnel -d 995 -l /usr/sbin/in.pop3d -- in.pop3d -s -d port - daemon mode -r port - connect to port -l programm - start inetd-style programm И добавляем в /etc/services https 443/tcp smtps 465/tcp imaps 993/tcp pop3s 995/tcp И добавляем в /etc/hosts.allow localhost.imap : ALL

PPP over SSL


Server (-L for pty mode) stunnel -d 2020 -L /usr/sbin/pppd -- pppd local Client system stunnel -c -r server:2020 -L /usr/sbin/pppd -- pppd local

А какой версии sendmail на вашей машине?


Date: 10 апр 97 Кстати CERT советует ставить Sendmail 8.8.5. Более ранние версии позволяют удаленно выполнять любые команды от имени суперпользователя на вашей машине.

* Имеющий доступ к консоли Linux может стать суперюзером *


Способы: 0. Загрузка со своей загрузочной дискеты 1. Загрузка с single user mode 2. Указать альтернативную программу init 3. Задать другой root-partition

1. Booting to single-user mode


LILO: linux single или LILO: linux 1 Debian обходит это поправками в /etc/initab, а RedHat - пропускает # What to do in single-user mode. ~~:S:wait:/sbin/sulogin

2. Указать альтернативную программу init


Против лома нет приема: LILO: linux init=/bin/bash mount -o remount,rw /

3. Задать другой root-partition


LILO: linux root=/dev/hda1 Если создать в отдельной партиции всю положенную для корня структуру, то можно будет с нее загрузиться. Эту возможность можно получить, например, если /tmp монтируется в отдельную партицию. Или машина поддерживает UMSDOS и имеет досовский раздел.

Лечение


Закрыть паролем BIOS-setting и отключить возможность загрузиться с дискеты. Закрывайте возможность перехвата LILO-prompt A workaround can be achieved by using PASSWORD and RESTRICT options in /etc/lilo.conf. Внимание: /etc/lilo.conf должен быть root.root 600, чтоб никто не смог этот пароль подсмотреть.

* kerneld and ifconfig *


Команда /sbin/ifconfig module-name позволяет _любому_ пользователю загрузить модуль из каталога /lib/modules используя kerneld. Лечение: Пока не залечено в промышленном масштабе. Отключайте kerneld или явно указывайте модули, которые можно грузить, уберите все лишние модули доставшиеся вам после инсталляции.

Дырка в X


Xserver -xkbdir 'id > /tmp/I_WAS_HERE;' Quick fix: 1. as usual chmod u-s,g-s all installed Xserver binaries (*) 2. use xdm or a SAFE and PARANOID wrapper to start Xserver

Security и lilo


А вы знаете, что загрузчик lilo может запустить после загрузки root-овый shell? Lilo boot: linux init=/bin/sh rw

Кое какие закрывашки в RedHat 5.2


chmod 700 /usr/sbin chmod 700 /usr/X11R6 chmod -s /usr/lib/emacs/20.3/i386-redhat-linux/movemail rm /usr/libexec/mail.local # -- это надо? вроде, procmail уже есть. rm /usr/sbin/userhelper # - дыряв - кусок GUI для админов новичков rpm -Uvf lpr-0.48-0.5.2.i386.rpm # взять из updates http://www.openwall.com/bind/ rpm -U vixie-cron-3.0.1-37.5.2.i386.rpm ps axuw|grep -i cron root 1151 0.0 0.1 864 416 ? S 21:03 0:00 CROND root 1804 1.5 0.1 864 496 ? S 21:04 0:00 crond неплохо бы создать группу crontab и -rwsr-x--- 1 root crontab 20200 Aug 27 19:12 crontab ии на файл crontab тогда root.crontab, chmod 4710 /usr./bin/crontab crond'а. поправить ftpaccess'овый regex (чтобы из .файлов давал только .forward) создавать, а лучше - вообще никаких. и sendmail (чтобы у таких .forward не позволял запускать скрипты)

Подозрительные services: Какой процесс висит на порту


netstat -an | egrep -v ':80 |udp|:53 ' lsof: продвинутый fuser (открытые файлы, порты и т.д. ftp://vic.cc.purdue.edu/pub/tools/unix/lsof/ sockstat: (послабее, но попроще) fuser -v 6012/tcp http://www.bog.pp.ru/work/linux.html#firewall

Генерация ключей для беспарольного входа по ssh2


на клиенте: 1) ssh-keygen -t dsa -b 2048 -f ~/.ssh/id_dsa 2) Host * # для новых версий ssh AddressFamily inet # компьютер с несколькими интерфейсами или алиасами BindAddress исходящий-адрес ChallengeResponseAuthentication no HostKeyAlgorithms ssh-dss PreferredAuthentications publickey,password Protocol 2 RSAAuthentication no StrictHostKeyChecking yes ForwardAgent yes ForwardX11 yes # если обзавёлся publickey на t02 PasswordAuthentication no PreferredAuthentications publickey 3) в системный или свой known_hosts добавляем паблик ключ сервера dsa (ssh-keyscan -t dsa сервер) на сервере 1) в .ssh/authorized_keys добавляем клиентский ~/.ssh/id_dsa.pub кровавые подробности тут: http://bog.pp.ru/work/ssh.html#config /etc/ssh/ssh_config или ~/.ssh/config

Наша библиотека является официальным зеркалом библиотеки Максима Мошкова lib.ru

Реклама