LINUX.ORG.RU

Сообщения Irbis88

 

Работа с WGSI без порождения процесса по каждому запросу пользователя

При работе со связкой apache2+mod_wsgi+kerberos возникает проблема, что apache на каждый http запрос порождает новый процесс с атрибутами сессии пользователя. В статье http://lab50.net/веб-приложения-в-защищённой-среде/ написано:

"Существует возможность использования запущенного WSGI-процесса для обработки последовательности запросов от пользователя в рамках постоянного HTTP-соединения. Веб-сервер не завершает запущенные обработчики WSGI в пределах параметра KeepAliveTimeout. Клиенты могут повторно использовать установленное соединение для ускорения обработки запросов."  

Как это реализовать? Далее в статье несколько слов про django - он поможет реализовать данную возможность (как)?

 , , ,

Irbis88
()

Настройка Apache+Kerberos+WSGI+ALD Ошибки аутентификации и чтения скрипта

На Astra Linux 1.6 пытаюсь настроить вывод мандатных меток в браузер. При выключенном Astra Mode выдает дефолтную страницу Apache «it`s works!», при включенном index.html. Тоесть WSGI ни в какую работать не хочет, пробовала с разными скриптами.

Логи: Apache

    astra_mode - ap_invoke_handler: user name is not set, referer: http://aldserver.name.ru/
    Authentication not configured

Kerberos:

    NEEDED_PREAUTH: user@NAME.RU for krbtgt/NAME.RU@NAME.RU, Additional pre-authentication required	

Конфиг Apache:

    <VirtualHost *:80>
            # имя web-сервера
            ServerName aldserver.name.ru 
     
            ServerAdmin webmaster@localhost
            # директория, в котором лежат скрипты приложения
            DocumentRoot /var/www/name.ru
     
            # указываем, какой скрипт запускать при обращении к aldserver.name.ru/
            WSGIScriptAlias / /var/www/name.ru/app.wsgi 
     
            # настройки для корректной авторизации через Kerberos
            <Directory /var/www/name.ru>
                    AuthType Kerberos
                    KrbAuthRealms REALM
                    KrbServiceName HTTP/aldserver.name.ru
                    Krb5Keytab /etc/apache2/keytab
                    KrbMethodNegotiate on
                    KrbMethodK5Passwd off
                    KrbSaveCredentials on
                    require valid-user
            </Directory>
             
            # для откладки
            LogLevel debug
     
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
     
    </VirtualHost>

App.wsgi:

    import sys
    import subprocess
    from os import getuid
    sys.path.insert(0, 'var/www/name.ru')
     
    def application(env, start_response):
            status = '200 OK'
            id = subprocess.check_output(['pdp-id'])
      
            output = "UID: " + str(getuid()) + "<br/><br/>" + id # возвращаем uid пользователя, заупустившего процесс и его мандатные атрибуты
            response_headers = [('Content-type', 'text/html'), ('Encoding', 'utf-8'), ('Content-Length', str(len(output)))]  # заголовки ответа
     
            start_response(status, response_headers)
     
            return [output]

В чем косяк? Пользователь введен в ALD, захожу на клиентскую машину с него. В браузере параметры negotiate прописаны.

 , , ,

Irbis88
()

HTTP запросы Mozilla Firefox в Astra Linux и их обработка

Не могу найти в доках астры, как Mozilla зашивает мандатную метку в запросы. Нужно ее достать на сервере (который получает запросы) для работы веб приложения, но не очень понятно как. Нашла, что ее Apache может достать, но каким образом и как затем ее передать дальше для работы приложения?

Вот есть такая инфа: Браузер зашивает метку в запрос. «Запрос обрабатывает веб-сервер с поддержкой мандатных меток, в нашем примере — Apache Http Server. Веб-сервер (процесс которого работает в режиме минимальной мандатной метки) считывает мандатную метку запроса, находит приложение-обработчик запускает его процесс с переданной мандатной меткой. Приложение взаимодействует с БД на PostgreSQL, ретранслируя в запросах мандатную метку.»

Предложение «находит приложение-обработчик запускает его процесс с переданной мандатной меткой»

где почитать как это реализовывается? И тоесть получается, что на каждый запрос юзера будет порождаться новый процесс? Голова кругом уже, помогите пожалуйста т.т

 , , , ,

Irbis88
()

QProcess в Linux - не выполняется «cd /path/ && ./file»

Очень нужно это извращение для работы программы. Если отправляю с клиента Json:

mSocket->write("{\"operation\":0,\"command\":\"kate\"}");

На сервере:

QProcess* process = new QProcess(this);
process->start(QString::fromStdString(requestData.get<std::string>("command")));

…то все работает. Но если послать такую команду (а мне нужно именно в таком формате):

mSocket->write("{\"operation\":0,\"command\":\"cd /usr/bin && ./kate\"}");

…то нет. Причем в консоли работает, но через QProcess нет. В чем проблема? Что-то с путями?

 , ,

Irbis88
()

Некорректный fstab и монтирование с полными правами для юзера

Astra Linux 1.6

Монтирую расшаренную с помощью самбы папку. В /etc/fstab:

//192.168.73.73/fs_share /mnt/dcms_share cifs user=user2,password=12345678, sec=ntlm, nofail, uid = 1001, rw, dmode = 777, fmode = 666 0 0 

При вызове mount ругается на ошибку в этой строке.

mount: /etc/fstab : parse error at line 16 -- ignored
mount: cant find //192.168.73.73/fs_share in /etc/fstab

Помогите пожалуйста разобраться, в чем проблема

 , ,

Irbis88
()

Запрет на чтение файлов из share-папки на samba при возможности записи в нее

Сервер самбы на Astra Linux 1.6, клиент тоже на ней же. На сервере указаны права на папку и файлы 777, при этом создатель и группа nobody,nogroup. Все файлы с клиента вижу, могу создавать новые папки,копировать и вставлять файлы (вставлять файлы с машины клиента только через Nautilus, через файловую систему запрещает, хотя папка примонтирована). При открытии любого текстового файла через Kate выдает ошибку чтения протокола smb и говорит, что нет прав на чтение.

Содержание smb.conf:

[global]
workgroup=01050-1
netbios name = dcms_share
log file = /var/log/samba/log.%m
max log size = 1000
map to guest = Bad User
security = user
server role = standalone server

[fs_share]
comment = public
path = /home/fs_share
force create mode = 0777
available = yes
public = yes
writable = yes
browseable = yes
directory mask = 0777

Права на папку /home/fs_share на сервере

ls -l
drwxrwxrwx  4  nobody  nogroup  4096  мар 5 18:04  fs_share

Для клиента созданы пользователи в системе на сервере, мандатные метки указаны, пароль в самбе добавлен. Кстати, с клиента с виндой зайти под этими пользователями не получается, входит только под рутовым, который даже в самбу не добавлен! Магия какая-то. Но больше сейчас волнует проблема невозможности чтения файлов и записи их туда через консольку или файловый менеджер на клиентах с астрой.

 ,

Irbis88
()

Настройка NFS, когда сервер на Win 7, а клиент на Astra Linux 1.6

Возникла проблема расшаривания папки между виндой и линуксом. Ip сервера 192.168.73.57 Ip клиента 192.168.73.23

Файл exports на сервере (винде): C:\DC_NFS\nfs -name:nfs 192.168.73.23

Файл /etc/fstab на клиенте (астре) 192.168.73.57:/nfs nfs nfsvers=3,rsize=32768,wsize=32768,rw,name,auto 0 0

На клиенте была создана папка Share, далее подключаюсь с клиента mount -t nfs 192.168.73.57:/nfs Share и результат:

mount.nfs: access denied by server while mounting :.

Подскажите пожалуйста, где косяк?

 ,

Irbis88
()

Настройка сети и статического ip через network/interfaces на Astra Linux 1.6

Имеется две виртуальные машины на одном компьютере, тип network adapter Host-Only (чтоб не занимать чужой адрес в физической сети). Вроде все было ок, закончила с настройкой ALD, подняла apache, и тут обнаружилась проблема: клиент не может зайти под логином/паролем пользователя ALD (ввожу логин/пароль, выбираю уровень и категорию, жму «ок» и вылет), в политике безопасности при попытке посмотреть его атрибуты вылетает ошибка «Проверка rpc-сервера на компьютере домена - отказ», «Интерфейс 'ald-rpc' не найден».

Сеть настроена согласно данному мануалу https://wiki.astralinux.ru/pages/viewpage.action?pageId=3277370 , на клиенте в /network/interfaces :

source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet static
address 192.168.73.74
netmask 255.255.255.0
gateway 192.168.73.1
dns-domain test.ru
dns-nameservers 192.168.73.1

На сервере:

source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet static
address 192.168.73.73
netmask 255.255.255.0
gateway 192.168.73.1
dns-domain test.ru
dns-nameservers 192.168.73.1

В resolv.conf на обеих машинах:

nameserver 192.168.73.1
search test.ru

В /etc/hosts

на клиенте:

127.0.0.1 localhost
192.168.73.74 client.test.ru client #имя текущей машины
192.168.73.73 aldserver.test.ru aldserver # сервер домена

на cервере:

127.0.0.1 localhost
192.168.73.73 aldserver.test.ru aldserver

Вполне возможно есть косяки в настройках, я совсем чайник. Подскажите пожалуйста, в чем может быть проблема?

 , ,

Irbis88
()

Astra Linux 1.6 - Смена уровней целостности пользователя из консоли

Сталкиваюсь уже второй раз с такой проблемой: если случайно поставить на админе низкий уровень целостности, то потом администрирование системы становится невозможным (оно доступно только пользователям с высоким уровнем). В этот раз через консоль менялись уровни конфеденциальности админа для эксперементов в постгресе, и это обнулило уровни целостности, потом система повисла и пришлось делать ребут, теперь администрирование недоступно. Реально как-то через консоль под рутом их восстановить? Или может есть еще какие способы?

 

Irbis88
()

Error 401 Authorization Required - Apache2, AstraLinux 1.5, ALD

Произведена настройка ALD, Apache2 соласно документации. Мандатные метки настроены. В браузере в конфиге у network.negotiate-auth.trusted-uris и network.negotiate-auth.delegation-uris прописано значение http://. Все равно в браузере вылетает ошибка «Authorization Required». В логах «[client client_ip] kerb_authenticate_user entered with user (NULL) and auth_type Kerberos». Уже который день бьюсь, помогите пожалуйста!

Содержимое файлов:

НА СЕРВЕРЕ

Конфиг виртуального хоста

<VirtualHost *:80>
       ServerName server.postgres.ru

       ServerAdmin webmaster@localhost

        DocumentRoot /var/www/python
        WSGIScriptAlias /app /var/www/python/app.wsgi

        <Directory /var/www/python>
                AuthType Kerberos
                KrbAuthRealms REALM
                KrbServiceName HTTP/server.postgres.ru
                Krb5Keytab /etc/apache2/keytab
                KrbMethodNegotiate on
                KrbMethodK5Passwd off
                KrbSaveCredentials on
                require valid-user

        </Directory>

        LogLevel debug

        ErrorLog ${APACHE_LOG_DIR}/error.log

        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

/etc/ald/ald.conf

VERSION=1.7
# Version of ald


DOMAIN=.postgres.ru
# The name of your domain (also used as Kerberos realm in upper-case).
# Should be in the form:
# .example.com
# !NOTE! (for ald-server). If this value is changed - the server should be
# reinitialized by:
# $ ald-init init
# Or you should use the commands 'ald-init backup-ldif' and
# 'ald-init restore-backup-ldif'.


SERVER=server.postgres.ru
SERVER_ID=1
# Server identifier
# You need to make sure that the SERVER_ID of each ALD server in domain
# is different


DESCRIPTION=
# Host description

MINIMUM UID=2500

DEFAULT_LOGIN_SHELL=/bin/bash
# Default login shell


DEFAULT_LOCAL_GROUPS=users,audio,video,scanner
# Default local groups for new domain users


ALLOWED_LOCAL_GROUPS=users,audio,video,scanner,cdrom,floppy,fuse
# Local groups are allowed on this machine for domain users

TICKET_MAX_LIFE=10h
TICKET_MAX_RENEWABLE_LIFE=7d


NETWORK_FS_TYPE=cifs
# May be one of: none, nfs, cifs.
# Determines network filesystem type to store/mount home directories.
# If 'none' is set - no global filesystem is used and the following filesystem
# options are ignored.

SERVER_EXPORT_DIR=/ald_export_home
SERVER_ARCHIVE_DIR=/ald_archive_home
CLIENT_MOUNT_DIR=/ald_home
SERVER_FS_KRB_MODES=krb5i
CLIENT_FS_KRB_MODE=krb5i
SERVER_POLLING_PERIOD=600

CACHE_REFRESH_PERIOD=600
# This parameter applied only to ALD Cache Daemon. Specifies
# the cache refresh period.
UTF8_GECOS=1

SERVER_ON=1
CLIENT_ON=1

/etc/hostname

server

/etc/hosts

127.0.0.1       localhost
192.168.21.132  server.postgres.ru server

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

НА КЛИЕНТЕ

hostname astraadmin

/etc/hosts

127.0.0.1       localhost
192.168.21.134  astraadmin.postgres.ru astraadmin
192.168.21.132  server.postgres.ru server

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

NTP сервер и время настроены. В чем может быть проблема?

 

Irbis88
()

ALD server блокирует запуск ОС?

Astra Linux 1.5 Смоленск. Произведена настройка ALD сервера и клиента на разных виртуальных машинах, затем был настроен Apache. Проблема возникла на сервере: после перезагрузки не запускается графическая среда. Тоесть просто черный экран и надпись

 Astra Linux SE 1.5 (smolensk)
 tty2
 aldserver login: 
Причем не кликабельно, символы можно ввести только после win+F2. После ввода логина и пароля можно работать с файлами, но графическая среда не запускается. sudo startx не работает, ошибка:
 xauth: error in locking authority file /root/.Xauthority
/etc/X11/xinit/xserverrc: line 3: /usr/bin/X: Нет такого файла или каталога
xinit: giving up
xinit: unable to connect to X server: Bad file descriptor
xinit: server error
xauth: error in locking authority file /root/.Xauthority 
Изучены источники:

1) Здесь нет прав на первую операцию, а ошибка с файлом xserverrc есть вне зависимости от того, следовать инструкции или оставлять как есть http://help.prognoz.com/8.0/ru/mergedProjects/UiWebSetup/03_setup_web/astra_l...

2) Совет с удалением .Xauthority боюсь пробовать (находилась инфа, что не всегда файл восстанавливается - кто-нибудь пробовал?), права с помощью chown на home выданы xauth: error in locking authority file .Xauthority

На сервере при настройке ALD менялись только файлы /etc/hostname, /etc/hosts, /etc/ald/ald.conf,/etc/ntp.conf, при настройке Apache использовался mod_wsgi (не знаю, насколько это полезная информация). Я пока еще полный чайник как в администрировании вообще, так и в Астре в частности, поэтому если нужна какая-то информация, то пишите. Очень нужна помощь.

 ,

Irbis88
()

RSS подписка на новые темы