Nova postagem

Pesquisar

Artigo
· Out. 13, 2024 2min de leitura

第四十六章 创建和添加 SAML 令牌 - SubjectConfirmation 使用方法 Holder-of-key

第四十六章 创建和添加 SAML 令牌 - 使用方法 Holder-of-key

添加<Subject>元素

要将 <Subject> 元素添加到 %SAML.Assertion 实例,执行以下操作:
1. 创建 %SAML.Subject 的新实例。
2. 根据需要设置主题的属性。
3. 将断言对象的 Subject 属性设置为等于此实例。

添加 <SubjectConfirmation> 元素

要将 <SubjectConfirmation> 元素添加到的 %SAML.Assertion 实例,请使用以下某个小节中的步骤。

Discussão (0)1
Entre ou crie uma conta para continuar
Anúncio
· Out. 13, 2024

[Video] Fine-Tuning - second step of GenAI model training

Hi Community!

We're happy to share the next video in the series dedicated to Gen AI on our InterSystems Developers YouTube:

⏯ Fine-Tuning - second step of GenAI model training

Learn about the second step of training a GenAI model, fine-tuning: why it's done, on what data and who's doing it. This step allows you to tailor a pre-trained model to specific tasks or datasets, optimizing its performance for your unique use case. These techniques work together to enhance an AI’s ability to grasp your own context and respond based on your data.

🗣  Presenter@Don Woodlock, Vice President, Healthcare Solutions Development, InterSystems

Enjoy watching, and look forward to more videos! 👍

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Out. 12, 2024 9min de leitura

eBPF: Segurança Tetragon para cargas de trabalho IRIS

Runtime Enforcement

 

Até agora, na jornada do eBPF aplicada às cargas de trabalho InterSystems, temos sido praticamente somente leitura quando se trata de chamadas de sistema, execução binária e monitoramento de arquivos.

Mas, assim como as políticas de segurança de rede que estavam em jogo com o último post que impõem conectividade, e se pudermos impor chamadas de sistema, acesso a arquivos e processos da mesma maneira em todo um cluster?

Apresentando Tetragon, uma ferramenta flexível de observabilidade e imposição de segurança sensível ao Kubernetes que aplica política e filtragem diretamente com eBPF, permitindo uma redução de sobrecarga de observação, rastreamento de qualquer processo e imposição em tempo real de políticas.

Imposição quando seu aplicativo não pode fornecê-la.

Onde ele Roda

Observabilidade e Imposição em Todo o Cluster

De pé e rodando

Os passos obrigatórios parra levantar e rodar se você optar por isso, realizados no estilo de um Isovalent Lab.

kubernetes" Icon - Download for free – IconduckCluster

Cluster Kind, 3 nós de trabalho, sem um CNI padrão.

 
kind.sh

Cilium

Instale Cilium, se não for outra coisa, um CNI.

 
cilium.sh



Runtime EnforcementTetragon

Aqui instalamos a estrela do nosso show, Tetragon,  como um conjunto daemon.

 
tetragon.sh

 

Intersystems logo Geometric Uppercase Display Letter i logo, Custom shape Negative Space Flat Two Colors, Blue + Turquoise. Cargas de trabalho IRIS

Pod IRIS rápido, não privilegiado, mas facilmente modificado para ser. Este é o pod que executaremos coisas para explicar algo do comportamento da política de rastreamento.

 
iris.sh

 


Políticas de rastreamento

Políticas de Rastreamento são recursos personalizados que facilitam a configuração de filtros em tempo real para eventos do kernel. Uma Política de Rastreamento combina e filtra chamadas de sistema para observabilidade e também aciona uma ação sobre essas correspondências.

Logo de cara, porém, process_exec e process_exit sem precisar carregar nenhuma política de rastreamento.

Em um terminal, execute seu ZF, no outro, examine os eventos Tetragon:

kubectl exec -ti -n kube-system tetragon-sw9k4 -c tetragon -- tetra getevents -o compact --pods iris-nopriv 

Se dermos uma olhada na execução do processo em Tetragon para a seguinte chamada que imprime o diretório de trabalho atual.


Isso pode ser óbvio para você, mas executar ZF com o argumento "/SHELL" invoca o bash e, em seguida, chama o comando, enquanto quando ele é omitido, ele chama diretamente o binário. Agora usamos a saída compacta acima, mas se você observar os eventos no formato json, pode ver como eles são chamados de forma diferente, com a opção /shell tendo um processo pai.
 

ie:

            "cwd": "/usr/irissys/bin",
            "binary": "/usr/irissys/bin/irisdb",
            "arguments": "-w /home/irisowner -s /usr/irissys/mgr",
            "flags": "execve",

 

 
direct.json

 

 

 
shell.json
 

 

Os eventos JSON são enviados para o log do Tetragon e podem ser enviados para um sistema SIEM ou observabilidade para insights acionáveis

SecurityImposição em Tempo de Execução

Isso pode ser um pouco falto de imaginação para um caso de uso, mas e se quiséssemos proibir qualquer pessoa de chamar e ler o arquivo de licença?

Para isso, precisamos aplicar uma Política de Rastreamento que impõe um matchAction. Essas políticas são um pouco envolvidas, mas esta é a maneira longa de dizer "Ei, se você executar cat /usr/irissys/mgr/iris.key, vou matá-lo (SIGKILL você).

kubectl apply -f - <<EOF
apiVersion: cilium.io/v1alpha1
kind: TracingPolicy
metadata:
  name: "iris-read-file-sigkill"
spec:
  kprobes:
  - call: "fd_install"
    syscall: false
    return: false
    args:
    - index: 0
      type: int
    - index: 1
      type: "file"
    selectors:
    - matchPIDs:
      - operator: NotIn
        followForks: true
        isNamespacePID: true
        values:
        - 1
      matchArgs:
      - index: 1
        operator: "Prefix"
        values:
        - "/usr/irissys/secrets/"
        - "/usr/irissys/mgr/iris.key"
        #- "/tmp/" # wrecks havoc
      matchActions:
      - action: FollowFD
        argFd: 0
        argName: 1
  - call: "__x64_sys_close"
    syscall: true
    args:
    - index: 0
      type: "int"
    selectors:
    - matchActions:
      - action: UnfollowFD
        argFd: 0
        argName: 0
  - call: "__x64_sys_read"
    syscall: true
    args:
    - index: 0
      type: "fd"
    - index: 1
      type: "char_buf"
      returnCopy: true
    - index: 2
      type: "size_t"
    selectors:
    - matchActions:
      - action: Sigkill

EOF

Uma vez implantado, você deve vê-lo carregado como um recurso TracingPolicy:

Vamos vê-lo impor a política:

O -1 nos conta que algo está errado, e o comando não teve sucesso.

Mas desconhecido pelo colega brogrammer, nós o bloqueamos administrativamente e enviamos um SIGKILL para o processo!

Essa será uma longa chamada para o WRC para o usuário final desavisado (ou especialista do WRC).

Experimentos

Eu encontrei alguns que eram interessantes nos centenas que eu roubei, apliquei e brinquei, notável foi um que deu as chamadas de sistema por binário. Se você realmente quisesse ser nerd, você poderia literalmente bloquear por syscall.

Outro que foi fascinante foi a Política de Rastreamento de acesso a arquivos, que mostrava todos os processos acessando todos os arquivos.

Essas e outros políticas podem ser encontrados no repositório de examplos @ tetragon:

  • Chamadas de sistema
  • Atributos de processo
  • Argumentos de linha de comando
  • Atividade de rede
  • Operações do sistema de arquivos
Discussão (0)1
Entre ou crie uma conta para continuar
Pergunta
· Out. 12, 2024

Error when I want to build image: sudo: unable to allocate pty: Operation not permitted

What is the reason for

 

RUN apt-get update && apt-get install -y \
    git \
    nano \
    python3-opencv \
    sudo && \
    /bin/echo -e ${ISC_PACKAGE_MGRUSER}\\tALL=\(ALL\)\\tNOPASSWD: ALL >> /etc/sudoers && \
    sudo -u ${ISC_PACKAGE_MGRUSER} sudo echo enabled passwordless sudo-ing for ${ISC_PACKAGE_MGRUSER}
 

 

I think I get error because I do not have sudo privilege in the environment where I use podman to build the image

podman build --tag oliver3 .

 

I cloned iris-pero-ocr repo, added two large files into misc location, and I tried to build image. I see this:

 

Setting up libgl2ps1.4 (1.4.2+dfsg1-2) ...
Setting up libvtk9.1:amd64 (9.1.0+really9.1.0+dfsg2-3build1) ...
Setting up libopencv-viz4.5d:amd64 (4.5.4+dfsg-9ubuntu4) ...
Setting up libopencv-videoio4.5d:amd64 (4.5.4+dfsg-9ubuntu4) ...
Setting up adwaita-icon-theme (41.0-1ubuntu1) ...
update-alternatives: using /usr/share/icons/Adwaita/cursor.theme to provide /usr/share/icons/default/index.theme (x-cursor-theme) in auto mode
Setting up humanity-icon-theme (0.6.16) ...
Setting up ubuntu-mono (20.10-0ubuntu2) ...
Processing triggers for libglib2.0-0:amd64 (2.72.4-0ubuntu2.3) ...
Setting up libgtk-3-0:amd64 (3.24.33-1ubuntu2.2) ...
Processing triggers for libc-bin (2.35-0ubuntu3.8) ...
Setting up libgtk-3-bin (3.24.33-1ubuntu2.2) ...
Setting up libopencv-highgui4.5d:amd64 (4.5.4+dfsg-9ubuntu4) ...
Setting up at-spi2-core (2.44.0-3) ...
Setting up libopencv-contrib4.5d:amd64 (4.5.4+dfsg-9ubuntu4) ...
Setting up python3-opencv:amd64 (4.5.4+dfsg-9ubuntu4) ...
Processing triggers for libgdk-pixbuf-2.0-0:amd64 (2.42.8+dfsg-1ubuntu0.3) ...
Processing triggers for libc-bin (2.35-0ubuntu3.8) ...
sudo: unable to allocate pty: Operation not permitted
subprocess exited with status 1
subprocess exited with status 1
Error: building at STEP "RUN apt-get update && apt-get install -y       git     nano     python3-opencv         sudo &&         /bin/echo -e ${ISC_PACKAGE_MGRUSER}\\tALL=\(ALL\)\\tNOPASSWD: ALL >> /etc/sudoers &&       sudo -u ${ISC_PACKAGE_MGRUSER} sudo echo enabled passwordless sudo-ing for ${ISC_PACKAGE_MGRUSER}": exit status 1

Discussão (0)1
Entre ou crie uma conta para continuar
Pergunta
· Out. 12, 2024

Embedded Python - Errors with Numpy

When I install the numpy package on Python on my PC using:

pip install numpy

I can use it in python on my machine. If I do:

pip install --target C:\InterSystems\IRIS\mgr\python numpy

I get errors any time I try to import it in embedded python.

Traceback (most recent call last):
  File "c:\intersystems\iris\mgr\python\numpy\_core\__init__.py", line 23, in <module>
    from . import multiarray
  File "c:\intersystems\iris\mgr\python\numpy\_core\multiarray.py", line 10, in <module>
    from . import overrides
  File "c:\intersystems\iris\mgr\python\numpy\_core\overrides.py", line 8, in <module>
    from numpy._core._multiarray_umath import (
ModuleNotFoundError: No module named 'numpy._core._multiarray_umath'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "c:\intersystems\iris\mgr\python\numpy\__init__.py", line 128, in <module>
    from numpy.__config__ import show as show_config
  File "c:\intersystems\iris\mgr\python\numpy\__config__.py", line 4, in <module>
    from numpy._core._multiarray_umath import (
  File "c:\intersystems\iris\mgr\python\numpy\_core\__init__.py", line 49, in <module>
    raise ImportError(msg)
ImportError:
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.
We have compiled some common reasons and troubleshooting tips at:
    https://numpy.org/devdocs/user/troubleshooting-importerror.html
Please note and check the following:
  * The Python version is: Python3.9 from "c:\intersystems\iris\bin\IRISDB.EXE"
  * The NumPy version is: "2.1.2"
and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.
Original error was: No module named 'numpy._core._multiarray_umath'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "c:\intersystems\iris\mgr\python\numpy\__init__.py", line 133, in <module>
    raise ImportError(msg) from e
ImportError: Error importing numpy: you should not try to import numpy from
        its source directory; please exit the numpy source tree, and relaunch
        your python interpreter from there.

Has anyone else run into this and do you know how to fix it?

3 Comments
Discussão (3)1
Entre ou crie uma conta para continuar