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