nginx: sandboxing

izorkin на gmail.com izorkin на gmail.com
Ср Май 12 12:43:30 UTC 2021


Здравствуйте.
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