Re: Почему не применются заголоки для locations, определенные в server?

2021-05-12 Пенетрантность Alexey

12.05.2021 22:38, budarin пишет:

не очень понятно >> на данном уровне не описаны свои директивы add_header.

не описаны любые или такие же???
речь как раз о случае когда я описываю в server и не описываю в location  -
заголовки не появляются в запросах к location



Скореее всего они (add_header) есть в /etc/nginx/config/system/security.conf 
или если там тоже есть инклюды, то там.

Считайте тчо содердимое include файла просто вставлено на месте  комманды 
include. команда расположена на уровне какого то include, соотв если во 
включаемом файле есть любые команды add_header, то всё что было описано выше не 
существует.

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Можно ли сгенерировать случайную строку в переменну так как это делает nginx для request id?

2021-05-12 Пенетрантность budarin
Мне нужно для CSP политики генерировать случайный nonce для каждого запроса
и записывать его в заголовок политики и затем этот же none передать в
заголовках апстриму

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,291507,291507#msg-291507

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Почему не применются заголоки для locations, определенные в server?

2021-05-12 Пенетрантность Helper code
budarin Wrote:
---
> не описаны любые или такие же???

Любые. И не забывайте, что заголовки может добавлять не только add_header.

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,291500,291505#msg-291505

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Почему не применются заголоки для locations, определенные в server?

2021-05-12 Пенетрантность budarin
не очень понятно >> на данном уровне не описаны свои директивы add_header.

не описаны любые или такие же???
речь как раз о случае когда я описываю в server и не описываю в location  - 
заголовки не появляются в запросах к location

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,291500,291504#msg-291504

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Несколько страниц ошибки (404)

2021-05-12 Пенетрантность Helper code
У меня есть двуязычный статический сайт, русскоязычный вариант которого
находится в каталоге /rus/, а английский в корневом каталоге. Как сделать
что бы для каталога /rus/ была бы своя русскоязычная страница 404? Казалось
бы нужно добавить location /rus/ {error_page 404 /rus/404.htm;}, но в
конфигурации есть регулярка location ~ \.htm$ {add_header Cache-Control
no-cache;}
, которая перехватывает поиск.


server {
error_page 404 /404.htm;
location /rus/ {error_page 404 /rus/404.htm;}
location ~ \.htm$ {add_header Cache-Control no-cache;}
}

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,291503,291503#msg-291503

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Почему не применются заголоки для locations, определенные в server?

2021-05-12 Пенетрантность Helper code
Директивы наследуются с предыдущего уровня конфигурации при условии, что на
данном уровне не описаны свои директивы add_header.

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,291500,291502#msg-291502

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Как запретить для location error pages определенные на уровне server?

2021-05-12 Пенетрантность budarin
На уровне server определены error_pages для location "/"
Для остальных locations не нужно отдавать эти страницы, в случае
возникновения ошибок

Пытаюсь в этих секциях выставлять
proxy_intercept_errors  off;

но бесполезно - при возникновении ошибки отдается страница а не ответ из
upstream

Как победить?

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,291501,291501#msg-291501

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Почему не применются заголоки для locations, определенные в server?

2021-05-12 Пенетрантность budarin
/etc/nginx/config/system/security.conf
-
server_tokens   off;
add_header  X-Frame-Options "deny";
add_header  X-XSS-Protection"1; mode=block" always;



nginx.conf
-
server {
...
include /etc/nginx/config/system/security.conf;<- если
разместить тут то заголовки не применяются

location /log {
...
include /etc/nginx/config/system/security.conf;
proxy_pass  http://logger;
}

location / {
...
include /etc/nginx/config/system/security.conf;
proxy_pass  http://web_app;
}
}

Имеем конфиг показанный выше

Если импортировать security.conf на уровне server - заголовки не применяются
к запросам в locations

Заголовки применяются только если разместить импорт security.conf внутри
каждой секции location

Почему? В описании add_header написано что директива наследуется, а по факту
- нет!

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,291500,291500#msg-291500

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx: sandboxing

2021-05-12 Пенетрантность Maxim Konovalov
On 12.05.2021 20:26, Илья Шипицин wrote:
> На примере nginx, раз уж про него речь.
> 
> Штука выглядит прикольной, но не могу придумать, когда она полезна и в чём
> 
Допустим, известно, что в дикой природе программа X ни при каких случаях
не должна делать execve(2).  Отличная идея исключить этот вызов из
списка разрешенных на тот случай, если вдруг в программе X найдут RCE.

Видимо, лучше начать с

https://en.wikipedia.org/wiki/Sandbox_(computer_security)

Вряд ли я доступнее и нагляднее расскажу.

Вот это еще можно поизучать в кач-ве старта:

https://wiki.freebsd.org/Capsicum

> On Wed, May 12, 2021, 10:12 PM Maxim Konovalov  > wrote:
> 
> Привет.
> 
> On 12.05.2021 19:54, Илья Шипицин wrote:
> > какие преимущества и в каких сценариях может дать такая настройка?
> >
> Илья, вы спрашиваете про sandboxing как технологию вообще или
> применительно к nginx/systemd?
> 
> -- 
> Maxim Konovalov
> 


-- 
Maxim Konovalov
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx: sandboxing

2021-05-12 Пенетрантность izorkin
Title: Re: nginx: sandboxing


Здравствуйте, Илья.

Например, грубый пример, если взломают web-сайт, то не смогут выйти за пределы песочницы.

Вы писали 12 мая 2021 г., 20:26:58:





На примере nginx, раз уж про него речь.

Штука выглядит прикольной, но не могу придумать, когда она полезна и в чём






--
С уважением,
 Izorkin                          mailto:izor...@gmail.com

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx: sandboxing

2021-05-12 Пенетрантность Илья Шипицин
На примере nginx, раз уж про него речь.

Штука выглядит прикольной, но не могу придумать, когда она полезна и в чём

On Wed, May 12, 2021, 10:12 PM Maxim Konovalov  wrote:

> Привет.
>
> On 12.05.2021 19:54, Илья Шипицин wrote:
> > какие преимущества и в каких сценариях может дать такая настройка?
> >
> Илья, вы спрашиваете про sandboxing как технологию вообще или
> применительно к nginx/systemd?
>
> --
> Maxim Konovalov
>
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx: sandboxing

2021-05-12 Пенетрантность Maxim Konovalov
Привет.

On 12.05.2021 19:54, Илья Шипицин wrote:
> какие преимущества и в каких сценариях может дать такая настройка?
> 
Илья, вы спрашиваете про sandboxing как технологию вообще или
применительно к nginx/systemd?

-- 
Maxim Konovalov
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx: sandboxing

2021-05-12 Пенетрантность Илья Шипицин
какие преимущества и в каких сценариях может дать такая настройка?

ср, 12 мая 2021 г. в 21:44, :

> Здравствуйте, Илья.
>
> Если nginx использует эти вызовы, то в конфигурацию сервиса добавить
> строки, которые разрешают эти вызовы:
> ```
> SystemCallFilter=pipe
> SystemCallFilter=pipe2
> ```
>
> Хотелось немного повысить безопасность службы и изолировать от других
> сервисов, запущенных в системе. С большинство параметров
> изоляции nginx работает нормально, а вот с системными вызовами уже сложнее
> маленько разобраться.
>
> Вы писали 12 мая 2021 г., 18:39:33:
>
>
> а как предполагается, это должно работать ?
>
> типа, программа использует эти вызовы, а мы такие бац, и запретили.
> и что должно произойти ? всё сломается ?
>
> какая модель угроз ? есть какие-нибудь примеры ?
>
>
>
>
> *-- С уважением,  Izorkin  *
> mailto:izor...@gmail.com 
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx: sandboxing

2021-05-12 Пенетрантность izorkin
Title: Re: nginx: sandboxing


Здравствуйте, Илья.

Если nginx использует эти вызовы, то в конфигурацию сервиса добавить строки, которые разрешают эти вызовы:
```
SystemCallFilter=pipe
SystemCallFilter=pipe2
```

Хотелось немного повысить безопасность службы и изолировать от других сервисов, запущенных в системе. С большинство параметров
изоляции nginx работает нормально, а вот с системными вызовами уже сложнее маленько разобраться.

Вы писали 12 мая 2021 г., 18:39:33:





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

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

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





--
С уважением,
 Izorkin                          mailto:izor...@gmail.com

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx: sandboxing

2021-05-12 Пенетрантность Илья Шипицин
а как предполагается, это должно работать ?

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

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

ср, 12 мая 2021 г. в 17:43, :

> Здравствуйте.
> 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:izor...@gmail.com
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

nginx: sandboxing

2021-05-12 Пенетрантность izorkin
Здравствуйте.
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:izor...@gmail.com

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru