added security enhancements
This commit is contained in:
@@ -520,6 +520,7 @@ const oauthProviders = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
app.disable('x-powered-by');
|
||||||
app.use(helmet({ crossOriginResourcePolicy: false }));
|
app.use(helmet({ crossOriginResourcePolicy: false }));
|
||||||
app.use(
|
app.use(
|
||||||
cors({
|
cors({
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ services:
|
|||||||
- traefik.http.routers.flockpal-api.entrypoints=websecure
|
- traefik.http.routers.flockpal-api.entrypoints=websecure
|
||||||
- traefik.http.routers.flockpal-api.tls.certresolver=${TRAEFIK_CERTRESOLVER:-letsencrypt}
|
- traefik.http.routers.flockpal-api.tls.certresolver=${TRAEFIK_CERTRESOLVER:-letsencrypt}
|
||||||
- traefik.http.routers.flockpal-api.priority=100
|
- traefik.http.routers.flockpal-api.priority=100
|
||||||
|
- traefik.http.routers.flockpal-api.middlewares=flockpal-hsts@docker
|
||||||
- traefik.http.services.flockpal-api.loadbalancer.server.port=5000
|
- traefik.http.services.flockpal-api.loadbalancer.server.port=5000
|
||||||
networks:
|
networks:
|
||||||
- default
|
- default
|
||||||
@@ -92,6 +93,11 @@ services:
|
|||||||
- traefik.http.routers.flockpal-web.entrypoints=websecure
|
- traefik.http.routers.flockpal-web.entrypoints=websecure
|
||||||
- traefik.http.routers.flockpal-web.tls.certresolver=${TRAEFIK_CERTRESOLVER:-letsencrypt}
|
- traefik.http.routers.flockpal-web.tls.certresolver=${TRAEFIK_CERTRESOLVER:-letsencrypt}
|
||||||
- traefik.http.routers.flockpal-web.priority=10
|
- traefik.http.routers.flockpal-web.priority=10
|
||||||
|
- traefik.http.routers.flockpal-web.middlewares=flockpal-hsts@docker
|
||||||
|
- traefik.http.middlewares.flockpal-hsts.headers.stsSeconds=31536000
|
||||||
|
- traefik.http.middlewares.flockpal-hsts.headers.stsIncludeSubdomains=true
|
||||||
|
- traefik.http.middlewares.flockpal-hsts.headers.stsPreload=false
|
||||||
|
- traefik.http.middlewares.flockpal-hsts.headers.forceSTSHeader=true
|
||||||
- traefik.http.services.flockpal-web.loadbalancer.server.port=80
|
- traefik.http.services.flockpal-web.loadbalancer.server.port=80
|
||||||
networks:
|
networks:
|
||||||
- traefik
|
- traefik
|
||||||
|
|||||||
@@ -1,10 +1,17 @@
|
|||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
server_name _;
|
server_name _;
|
||||||
|
server_tokens off;
|
||||||
|
|
||||||
root /usr/share/nginx/html;
|
root /usr/share/nginx/html;
|
||||||
index index.html;
|
index index.html;
|
||||||
|
|
||||||
|
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data: blob:; font-src 'self' data:; connect-src 'self'; frame-ancestors 'self'; base-uri 'self'; form-action 'self'" always;
|
||||||
|
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
|
||||||
|
add_header X-Content-Type-Options "nosniff" always;
|
||||||
|
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||||
|
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
try_files $uri $uri/ /index.html;
|
try_files $uri $uri/ /index.html;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
# FlockPal robots.txt
|
||||||
|
# Allows normal search indexing while reserving rights against AI training and AI answer ingestion.
|
||||||
|
|
||||||
|
User-agent: *
|
||||||
|
Content-Signal: search=yes,ai-input=no,ai-train=no
|
||||||
|
Allow: /
|
||||||
|
|
||||||
|
User-agent: Amazonbot
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
User-agent: Applebot-Extended
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
User-agent: Bytespider
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
User-agent: CCBot
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
User-agent: ClaudeBot
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
User-agent: CloudflareBrowserRenderingCrawler
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
User-agent: Google-Extended
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
User-agent: GPTBot
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
User-agent: meta-externalagent
|
||||||
|
Disallow: /
|
||||||
Reference in New Issue
Block a user