Skip to content

Commit b397540

Browse files
Merge pull request #117 from bunkerity/dev
Merge branch "dev" into branch "main"
2 parents 4951522 + 8ac48a6 commit b397540

48 files changed

Lines changed: 401 additions & 1190 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/codeql.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ jobs:
1919
language: ["python", "go"]
2020
steps:
2121
- name: Checkout repository
22-
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
22+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2323
- name: Initialize CodeQL
24-
uses: github/codeql-action/init@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12
24+
uses: github/codeql-action/init@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
2525
with:
2626
languages: ${{ matrix.language }}
2727
config-file: ./.github/codeql.yml
2828
- name: Perform CodeQL Analysis
29-
uses: github/codeql-action/analyze@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12
29+
uses: github/codeql-action/analyze@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
3030
with:
3131
category: "/language:${{matrix.language}}"

.github/workflows/tests.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,21 @@ jobs:
1313
security-events: write
1414

1515
setup:
16-
needs: codeql
1716
runs-on: ubuntu-latest
1817
steps:
1918
- name: Checkout source code
20-
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
19+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2120

2221
- name: Get BW tag
2322
run: |
2423
if [ "$GITHUB_REF" = "refs/heads/main" ] ; then
25-
echo "BW_TAG=1.5.9" >> $GITHUB_ENV
24+
echo "BW_TAG=1.6.0-beta" >> $GITHUB_ENV
2625
else
2726
echo "BW_TAG=dev" >> $GITHUB_ENV
2827
fi
2928
3029
- name: Login to Docker Hub
31-
uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3.2.0
30+
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
3231
with:
3332
username: ${{ secrets.DOCKER_USERNAME }}
3433
password: ${{ secrets.DOCKER_TOKEN }}
@@ -47,7 +46,7 @@ jobs:
4746

4847
- name: Run CrowdSec stream tests
4948
run: ./.tests/crowdsec.sh stream
50-
49+
5150
- name: Run CrowdSec appsec tests
5251
run: ./.tests/crowdsec.sh appsec
5352

.tests/clamav.sh

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ do_and_check_cmd wget -O /tmp/bunkerweb-plugins/clamav/eicar.com https://secure.
2626
# Do the tests
2727
cd /tmp/bunkerweb-plugins/clamav || exit 1
2828
echo "ℹ️ Running compose ..."
29-
do_and_check_cmd docker-compose up --build -d
29+
do_and_check_cmd docker compose up --build -d
3030

3131
# Wait until BW is started
3232
echo "ℹ️ Waiting for BW ..."
@@ -45,14 +45,14 @@ done
4545

4646
# We're done
4747
if [ $retry -eq 60 ] ; then
48-
docker-compose logs
49-
docker-compose down -v
48+
docker compose logs
49+
docker compose down -v
5050
echo "❌ Error timeout after 60s"
5151
exit 1
5252
fi
5353
if [ "$success" == "ko" ] ; then
54-
docker-compose logs
55-
docker-compose down -v
54+
docker compose logs
55+
docker compose down -v
5656
echo "❌ Error did not receive 200 code"
5757
exit 1
5858
fi
@@ -74,20 +74,20 @@ done
7474

7575
# We're done
7676
if [ $retry -eq 60 ] ; then
77-
docker-compose logs
78-
docker-compose down -v
77+
docker compose logs
78+
docker compose down -v
7979
echo "❌ Error timeout after 60s"
8080
exit 1
8181
fi
8282
if [ "$success" == "ko" ] ; then
83-
docker-compose logs
84-
docker-compose down -v
83+
docker compose logs
84+
docker compose down -v
8585
echo "❌ Error did not receive 403 code"
8686
exit 1
8787
fi
8888
if [ "$1" = "verbose" ] ; then
89-
docker-compose logs
89+
docker compose logs
9090
fi
91-
docker-compose down -v
91+
docker compose down -v
9292

9393
echo "ℹ️ ClamAV tests done"

.tests/clamav/docker-compose.yml

Lines changed: 18 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,25 @@ version: "3"
22

33
services:
44
bunkerweb:
5-
image: bunkerity/bunkerweb:1.5.8
5+
image: bunkerity/bunkerweb:1.6.0-rc1
66
ports:
7-
- 80:8080
8-
- 443:8443
9-
labels:
10-
- "bunkerweb.INSTANCE=yes"
7+
- 80:8080/tcp
8+
- 443:8443/tcp
9+
- 443:8443/udp
1110
environment:
11+
- API_WHITELIST_IP=127.0.0.0/8 10.20.30.0/24
12+
networks:
13+
- bw-universe
14+
- bw-services
15+
16+
bw-scheduler:
17+
image: bunkerity/bunkerweb-scheduler:1.6.0-rc1
18+
depends_on:
19+
- bunkerweb
20+
volumes:
21+
- ./bw-data/plugins:/data/plugins
22+
environment:
23+
- BUNKERWEB_INSTANCES=bunkerweb
1224
- SERVER_NAME=www.example.com
1325
- API_WHITELIST_IP=127.0.0.0/8 10.20.30.0/24
1426
- USE_CLAMAV=yes
@@ -24,33 +36,9 @@ services:
2436
- REVERSE_PROXY_URL=/
2537
networks:
2638
- bw-universe
27-
- bw-services
28-
29-
bw-scheduler:
30-
image: bunkerity/bunkerweb-scheduler:1.5.8
31-
depends_on:
32-
- bunkerweb
33-
- bw-docker
34-
volumes:
35-
- ./bw-data/plugins:/data/plugins
36-
environment:
37-
- DOCKER_HOST=tcp://bw-docker:2375
38-
networks:
39-
- bw-universe
40-
- bw-docker
41-
42-
bw-docker:
43-
image: tecnativa/docker-socket-proxy:nightly
44-
volumes:
45-
- /var/run/docker.sock:/var/run/docker.sock:ro
46-
environment:
47-
- CONTAINERS=1
48-
- LOG_LEVEL=warning
49-
networks:
50-
- bw-docker
5139

5240
clamav:
53-
image: clamav/clamav:1.2
41+
image: clamav/clamav:1.4
5442
volumes:
5543
- clamav-data:/var/lib/clamav
5644
networks:
@@ -74,5 +62,3 @@ networks:
7462
- subnet: 10.20.30.0/24
7563
bw-services:
7664
name: bw-services
77-
bw-docker:
78-
name: bw-docker

.tests/coraza.sh

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ do_and_check_cmd sed -i "s@bunkerity/bunkerweb-scheduler:.*\$@bunkerweb-schedule
2323

2424
# Do the tests
2525
cd /tmp/bunkerweb-plugins/coraza/ || exit 1
26-
do_and_check_cmd docker-compose up -d
26+
do_and_check_cmd docker compose up -d
2727

2828
# Wait until BW is started
2929
echo "ℹ️ Waiting for BW ..."
@@ -42,14 +42,14 @@ done
4242

4343
# We're done
4444
if [ $retry -eq 60 ] ; then
45-
docker-compose logs
46-
docker-compose down -v
45+
docker compose logs
46+
docker compose down -v
4747
echo "❌ Error timeout after 60s"
4848
exit 1
4949
fi
5050
if [ "$success" == "ko" ] ; then
51-
docker-compose logs
52-
docker-compose down -v
51+
docker compose logs
52+
docker compose down -v
5353
echo "❌ Error did not receive 200 code"
5454
exit 1
5555
fi
@@ -63,8 +63,8 @@ if [ $? -eq 0 ] && [ "$ret" -eq 403 ] ; then
6363
success="ok"
6464
fi
6565
if [ "$success" == "ko" ] ; then
66-
docker-compose logs
67-
docker-compose down -v
66+
docker compose logs
67+
docker compose down -v
6868
echo "❌ Error did not receive 403 code"
6969
exit 1
7070
fi
@@ -78,16 +78,16 @@ if [ $? -eq 0 ] && [ "$ret" -eq 403 ] ; then
7878
success="ok"
7979
fi
8080
if [ "$success" == "ko" ] ; then
81-
docker-compose logs
82-
docker-compose down -v
81+
docker compose logs
82+
docker compose down -v
8383
echo "❌ Error did not receive 403 code"
8484
exit 1
8585
fi
8686

8787
# We're done
8888
if [ "$1" = "verbose" ] ; then
89-
docker-compose logs
89+
docker compose logs
9090
fi
91-
docker-compose down -v
91+
docker compose down -v
9292

9393
echo "ℹ️ Coraza tests done"

.tests/coraza/docker-compose.yml

Lines changed: 18 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,38 @@
1-
version: "3"
2-
31
services:
42
bunkerweb:
5-
image: bunkerity/bunkerweb:1.5.8
3+
image: bunkerity/bunkerweb:1.6.0-rc1
64
ports:
7-
- 80:8080
8-
- 443:8443
9-
labels:
10-
- "bunkerweb.INSTANCE=yes"
5+
- 80:8080/tcp
6+
- 443:8443/tcp
7+
- 443:8443/udp
118
environment:
12-
- USE_CORAZA=yes
13-
- SERVER_NAME=www.example.com
149
- API_WHITELIST_IP=127.0.0.0/8 10.20.30.0/24
15-
- LOG_LEVEL=info
16-
- USE_BAD_BEHAVIOR=no
17-
- USE_LIMIT_REQ=no
18-
- USE_BUNKERNET=no
19-
- USE_BLACKLIST=no
20-
- USE_MODSECURITY=no
21-
- USE_REVERSE_PROXY=yes
22-
- REVERSE_PROXY_HOST=http://hello:8080
23-
- REVERSE_PROXY_URL=/
2410
networks:
2511
- bw-universe
2612
- bw-services
2713

2814
bw-scheduler:
29-
image: bunkerity/bunkerweb-scheduler:1.5.8
15+
image: bunkerity/bunkerweb-scheduler:1.6.0-rc1
3016
depends_on:
3117
- bunkerweb
32-
- bw-docker
3318
volumes:
3419
- ./bw-data/plugins:/data/plugins
3520
environment:
36-
- DOCKER_HOST=tcp://bw-docker:2375
21+
- BUNKERWEB_INSTANCES=bunkerweb
22+
- SERVER_NAME=www.example.com
23+
- API_WHITELIST_IP=127.0.0.0/8 10.20.30.0/24
24+
- USE_CORAZA=yes
25+
- LOG_LEVEL=info
26+
- USE_BAD_BEHAVIOR=no
27+
- USE_LIMIT_REQ=no
28+
- USE_BUNKERNET=no
29+
- USE_BLACKLIST=no
30+
- USE_MODSECURITY=no
31+
- USE_REVERSE_PROXY=yes
32+
- REVERSE_PROXY_HOST=http://hello:8080
33+
- REVERSE_PROXY_URL=/
3734
networks:
3835
- bw-universe
39-
- bw-docker
40-
41-
bw-docker:
42-
image: tecnativa/docker-socket-proxy:nightly
43-
volumes:
44-
- /var/run/docker.sock:/var/run/docker.sock:ro
45-
environment:
46-
- CONTAINERS=1
47-
- LOG_LEVEL=warning
48-
networks:
49-
- bw-docker
5036

5137
bw-coraza:
5238
build: api
@@ -67,5 +53,3 @@ networks:
6753
- subnet: 10.20.30.0/24
6854
bw-services:
6955
name: bw-services
70-
bw-docker:
71-
name: bw-docker

.tests/crowdsec.sh

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ do_and_check_cmd cp .tests/crowdsec/docker-compose.yml /tmp/bunkerweb-plugins/cr
1919
# Edit compose
2020
do_and_check_cmd sed -i "s@bunkerity/bunkerweb:.*\$@bunkerweb:tests@g" /tmp/bunkerweb-plugins/crowdsec/docker-compose.yml
2121
do_and_check_cmd sed -i "s@bunkerity/bunkerweb-scheduler:.*\$@bunkerweb-scheduler:tests@g" /tmp/bunkerweb-plugins/crowdsec/docker-compose.yml
22-
if [ $1 == "appsec" ] ; then
22+
if [ "$1" == "appsec" ] ; then
2323
do_and_check_cmd sed -i "s@CROWDSEC_MODE=.*\$@CROWDSEC_MODE=live@g" /tmp/bunkerweb-plugins/crowdsec/docker-compose.yml
2424
do_and_check_cmd sed -i "s@CROWDSEC_APPSEC_URL=.*\$@CROWDSEC_APPSEC_URL=http://crowdsec:7422@g" /tmp/bunkerweb-plugins/crowdsec/docker-compose.yml
2525
else
@@ -33,7 +33,7 @@ do_and_check_cmd cp .tests/crowdsec/syslog-ng.conf /tmp/bunkerweb-plugins/crowds
3333

3434
# Do the tests
3535
cd /tmp/bunkerweb-plugins/crowdsec/ || exit 1
36-
do_and_check_cmd docker-compose up -d
36+
do_and_check_cmd docker compose up -d
3737

3838
# Wait until BW is started
3939
echo "ℹ️ Waiting for BW ..."
@@ -52,18 +52,20 @@ done
5252

5353
# We're done
5454
if [ $retry -eq 60 ] ; then
55-
docker-compose logs
56-
docker-compose down -v
55+
docker compose logs
56+
docker compose down -v
5757
echo "❌ Error timeout after 60s"
5858
exit 1
5959
fi
6060
if [ "$success" == "ko" ] ; then
61-
docker-compose logs
62-
docker-compose down -v
61+
docker compose logs
62+
docker compose down -v
6363
echo "❌ Error did not receive 200 code"
6464
exit 1
6565
fi
6666

67+
sleep 10
68+
6769
if [ "$1" != "appsec" ] ; then
6870
# Run basic attack with dirb
6971
echo "ℹ️ Executing dirb ..."
@@ -96,14 +98,14 @@ fi
9698

9799
# We're done
98100
if [ "$success" == "ko" ] ; then
99-
docker-compose logs
100-
docker-compose down -v
101+
docker compose logs
102+
docker compose down -v
101103
echo "❌ Error did not receive 403 code"
102104
exit 1
103105
fi
104106
if [ "$1" = "verbose" ] ; then
105-
docker-compose logs
107+
docker compose logs
106108
fi
107-
docker-compose down -v
109+
docker compose down -v
108110

109111
echo "ℹ️ CrowdSec tests done"

0 commit comments

Comments
 (0)