Debian 进程安全设置实用指南
一 身份与权限最小化
sudo -u appuser /usr/bin/myapp。sudo setcap cap_net_bind_service=+ep /usr/bin/myapp。sudo useradd -r -s /usr/sbin/nologin -d /var/lib/myapp myappsudo chown -R myapp:myapp /var/lib/myapp /var/log/myappsudo chmod 750 /usr/bin/myappsudo setcap cap_net_bind_service=+ep /usr/bin/myapp二 运行环境隔离与资源限制
User=myapp、Group=myappProtectHome=yes、ProtectSystem=strict、ReadOnlyPaths=/、ReadWritePaths=/var/lib/myappCapabilityBoundingSet=CAP_NET_BIND_SERVICE(仅保留所需能力)PrivateNetwork=yes(如业务允许)、RestrictAddressFamilies=AF_INET AF_INET6NoNewPrivileges=yes、ProtectKernelTunables=yes、ProtectControlGroups=yesulimit -n 4096(打开文件数)、ulimit -u 1024(进程数)、ulimit -v 524288(虚拟内存 512MB)、ulimit -c 0(禁止核心转储)/etc/security/limits.d/*.conf),并确保 PAM 启用:session required pam_limits.so* soft nofile 4096* hard nofile 65535myapp soft nproc 1024myapp hard nproc 2048* soft as 524288* hard as 1048576* soft core 0三 系统调用与访问控制加固
/etc/apparmor.d/usr.bin.myapp:
/usr/bin/myapp {
#include <abstractions/base>/var/lib/myapp/** rwk,/var/log/myapp/*.log w,/etc/myapp/** r,deny /etc/shadow r,}sudo apparmor_parser -r /etc/apparmor.d/usr.bin.myapp四 网络与运行时的纵深防护
sudo ufw enablesudo ufw allow 22/tcpsudo ufw allow 80,443/tcp