nginx: sandboxing

Илья Шипицин chipitsine на gmail.com
Ср Май 12 15:39:33 UTC 2021


а как предполагается, это должно работать ?

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

какая модель угроз ? есть какие-нибудь примеры ?

ср, 12 мая 2021 г. в 17:43, <izorkin на gmail.com>:

> Здравствуйте.
> SystemD поддерживает возможность запуска сервисов в режиме песочницы. В
> параметрах есть опция RemoveIPC -
> https://www.freedesktop.org/software/systemd/man/systemd.exec.html#RemoveIPC=
> Приложение nginx использует IPC вызовы? Можно ли фильтровать эти события,
> а так же системные вызовы @ipc -
> https://www.freedesktop.org/software/systemd/man/systemd.exec.html#SystemCallFilter=
> Набор фильтров @ipc фильруется такие системные вызовы:
> ```
>     # SysV IPC, POSIX Message Queues or other IPC
>     ipc
>     memfd_create
>     mq_getsetattr
>     mq_notify
>     mq_open
>     mq_timedreceive
>     mq_timedreceive_time64
>     mq_timedsend
>     mq_timedsend_time64
>     mq_unlink
>     msgctl
>     msgget
>     msgrcv
>     msgsnd
>     pipe
>     pipe2
>     process_vm_readv
>     process_vm_writev
>     semctl
>     semget
>     semop
>     semtimedop
>     semtimedop_time64
>     shmat
>     shmctl
>     shmdt
>     shmget
> ```
> В коде nginx используются эти вызовы?
> Тут -
> https://github.com/nginx/nginx/blob/master/src/event/ngx_event_pipe.c#L119
> вроде используется вызов pipe. Или это разные вещи?
>
> nginx.service:
> ```
> AmbientCapabilities=CAP_NET_BIND_SERVICE
> AmbientCapabilities=CAP_SYS_RESOURCE
> CapabilityBoundingSet=CAP_NET_BIND_SERVICE
> CapabilityBoundingSet=CAP_SYS_RESOURCE
> LockPersonality=true
> MemoryDenyWriteExecute=true
> NoNewPrivileges=true
> PrivateDevices=true
> PrivateMounts=true
> PrivateTmp=true
> ProcSubset=pid
> ProtectClock=true
> ProtectControlGroups=true
> ProtectHome=true
> ProtectHostname=true
> ProtectKernelLogs=true
> ProtectKernelModules=true
> ProtectKernelTunables=true
> ProtectProc=invisible
> ProtectSystem=strict
> RemoveIPC=true
> RestrictAddressFamilies=AF_UNIX
> RestrictAddressFamilies=AF_INET
> RestrictAddressFamilies=AF_INET6
> RestrictNamespaces=true
> RestrictRealtime=true
> RestrictSUIDSGID=true
> SystemCallArchitectures=native
> SystemCallFilter=~@cpu-emulation @debug @keyring @ipc @mount @obsolete
> @privileged @setuid
> UMask=0027
> ```
>
>
> --
> С уважением,
>  Izorkin                          mailto:izorkin на gmail.com
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20210512/ef38df3d/attachment.htm>


Подробная информация о списке рассылки nginx-ru