diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..c9bbec6 --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,58 @@ +锘縩etworks: + wafnet: + name: wafnet + driver: bridge + ipam: + driver: default + config: + - gateway: 172.31.255.1 + subnet: 172.31.255.0/24 + driver_opts: + com.docker.network.bridge.name: wafnet + +services: + uuwaf: + image: uusec/nanqiang:latest + ulimits: + nproc: 65535 + nofile: + soft: 102400 + hard: 102400 + container_name: uuwaf + restart: always + networks: + wafnet: + ports: + - "80:80" + - "443:443" + - "4443:4443" + volumes: + - wafshared:/uuwaf + command: ["/run.sh"] + environment: + - TZ=Asia/Shanghai + - UUWAF_MYSQL_PASSWORD=Safe3.WAF + + links: + - wafdb + depends_on: + - wafdb + + wafdb: + image: percona/percona-server:5.7 + container_name: wafdb + restart: always + networks: + wafnet: + volumes: + - wafshared:/docker-entrypoint-initdb.d + - wafdata:/var/lib/mysql + environment: + - TZ=Asia/Shanghai + - INIT_ROCKSDB + - MYSQL_MAX_CONNECTIONS=512 + - MYSQL_ROOT_PASSWORD=Safe3.WAF + +volumes: + wafshared: + wafdata: diff --git a/docker/readme.txt b/docker/readme.txt new file mode 100644 index 0000000..6ac580a --- /dev/null +++ b/docker/readme.txt @@ -0,0 +1,15 @@ +环境要求: +docker版本1.20以上 + +解压南墙安装包: +tar zxvf waf.tgz && cd waf + +南墙Docker管理:执行如下面命令,根据提示启动南墙docker服务 +sh uuwaf.sh + +快速入门: +1、登录后台,访问https://wafip:4443,wafip为安装南墙的服务器ip,用户名admin,密码wafadmin +2、添加站点,进入站点管理菜单,点击添加站点按钮,按提示添加站点域名与网站服务器ip +3、添加证书,进入证书管理菜单,点击添加证书按钮,上传第二步中域名的https证书和私钥文件 +4、将域名DNS的ip指向改为南墙服务器ip地址 +5、访问站点域名查看网站是否能够访问 \ No newline at end of file diff --git a/docker/uuwaf.sh b/docker/uuwaf.sh new file mode 100644 index 0000000..3d34adb --- /dev/null +++ b/docker/uuwaf.sh @@ -0,0 +1,131 @@ +#!/bin/bash + +abort() { + echo -e "\033[31m[鍗楀] $*\033[0m" + exit 1 +} + +if [ -z "$BASH" ]; then + abort "璇风敤 bash 鎵ц鏈剼鏈紝鍙傝冩渶鏂扮殑瀹樻柟鎶鏈枃妗 https://waf.uusec.com/" +fi + +if [ "$EUID" -ne "0" ]; then + abort "璇蜂互 root 鏉冮檺杩愯" +fi + +cat /proc/cpuinfo | grep ssse3 > /dev/null 2>&1 +if [ $? -ne "0" ]; then + abort "闇瑕佽繍琛屽湪鏀寔 x86-64-v2 鐨 CPU 涓婏紝璇峰紑鍚搴擟PU鎸囦护闆嗙殑鏀寔" +fi + +if [ ! $(command -v docker) ]; then + curl -sSLk https://get.docker.com/ | bash + if [ $? -ne "0" ]; then + abort "鑷姩瀹夎Docker杩愯鐜澶辫触锛岃鎸夌収https://docs.docker.com/engine/install/鎸囧紩鎵嬪伐瀹夎Docker" + fi + systemctl start docker && systemctl enable docker +fi + +DC_CMD="docker compose" +$DC_CMD version > /dev/null 2>&1 +if [ $? -ne "0" ]; then + DC_CMD="docker-compose" + if [ ! $(command -v docker-compose) ]; then + abort "鏈彂鐜癲ocker compose鍛戒护锛岃瀹夎Docker Compose鎻掍欢" + fi +fi + +SCRIPT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +cd "$SCRIPT_PATH" + + +stop_uuwaf(){ + $DC_CMD down +} + +uninstall_uuwaf(){ + stop_uuwaf + docker rm -f uuwaf wafdb > /dev/null 2>&1 + docker network rm wafnet > /dev/null 2>&1 + docker images|grep nanqiang|awk '{print $3}'|xargs docker rmi -f + docker volume ls|grep wafshared|awk '{print $2}'|xargs docker volume rm -f +} + +start_uuwaf(){ + if [ $(command -v netstat) ]; then + port_status=`netstat -nlt|grep -E ':(80|443|4443)\s'|wc -l` + if [ $port_status -gt 0 ]; then + echo -e "\t 绔彛80銆443銆4443涓殑涓涓垨澶氫釜琚崰鐢紝璇峰叧闂搴旀湇鍔℃垨淇敼鍏剁鍙" + exit 1 + fi + fi + $DC_CMD up -d +} + +update_uuwaf(){ + uninstall_uuwaf + start_uuwaf +} + +restart_uuwaf(){ + stop_uuwaf + start_uuwaf +} + +clean_uuwaf(){ + docker system prune -a -f + docker volume prune -a -f +} + +start_menu(){ + clear + echo "=========================" + echo "鍗楀Docker绠$悊" + echo "=========================" + echo "1. 鍚姩" + echo "2. 鍋滄" + echo "3. 閲嶅惎" + echo "4. 鏇存柊" + echo "5. 鍗歌浇" + echo "6. 娓呯悊" + echo "7. 閫鍑" + echo + read -p "璇疯緭鍏ユ暟瀛:" num + case "$num" in + 1) + start_uuwaf + echo "鍚姩瀹屾垚" + ;; + 2) + stop_uuwaf + echo "鍋滄瀹屾垚" + ;; + 3) + restart_uuwaf + echo "閲嶅惎瀹屾垚" + ;; + 4) + update_uuwaf + echo "鏇存柊瀹屾垚" + ;; + 5) + uninstall_uuwaf + echo "鍗歌浇瀹屾垚" + ;; + 6) + clean_uuwaf + echo "娓呯悊瀹屾垚" + ;; + 7) + exit 1 + ;; + *) + clear + echo "璇疯緭鍏ユ纭暟瀛" + ;; + esac + sleep 3s + start_menu +} + +start_menu diff --git a/docs/_media/weixin.jpg b/docs/_media/weixin.jpg index a3ef415..30b9c54 100644 Binary files a/docs/_media/weixin.jpg and b/docs/_media/weixin.jpg differ diff --git a/docs/guide/README.md b/docs/guide/README.md index d69c025..e6671be 100644 --- a/docs/guide/README.md +++ b/docs/guide/README.md @@ -25,25 +25,30 @@ 鍗楀涓烘偍鎻愪緵浜嗕赴瀵岃屽己澶х殑鍚勭web瀹夊叏鍜宎pi闃叉姢鍔熻兘锛岀ぞ鍖虹増鍙兘鏄綘瑙佽繃鐨勬渶寮哄厤璐筗AAP浜у搧銆傚悓鏃讹紝鍗楀涔熶负鍟嗕笟鐢ㄦ埛鎻愪緵浜嗗姛鑳芥洿寮虹殑鍟嗕笟鐗堬紝浜у搧鍔熻兘瀵规瘮濡備笅锛 -| 鍔熻兘椤 |绀惧尯鐗|鍟嗕笟鐗| -| :----------: | :----------------------------------------------------------: | :----------------------------------------------------------: | -| 绔欑偣閰嶇疆 | | | -| 婕忔礊闃叉姢 | | | -| CC闃叉姢 | | | -| 鍚庨棬妫娴 | | | -| 涓氬姟瀹夊叏 | | | -| CDN鍔犻 | | | -| 楂樼骇瑙勫垯 | | | -| 鎻掍欢鎵╁睍 | | | -| 瀹夊叏瀹¤ | | | -| 鏃ュ織鎶ヨ〃 | | | -| 鏈哄櫒瀛︿範 | | | -| 涓绘満闃插尽 | | | -| RASP | | | -| 闆嗙兢绠$悊 | | | -| 鎶鏈敮鎸 | | | -| 瀹氬埗寮鍙 | | | -| 鏈鏂拌鍒 | | | +| 鍔熻兘椤 |绀惧尯鐗|涓撲笟鐗|鍟嗕笟鐗| +| :----------: | :----------------------------------------------------------: | :----------------------------------------------------------: | :----------: | +| 浠锋牸 |鍏嶈垂|1888/骞磡鎸夐渶瀹氬埗| +| 绔欑偣閰嶇疆 | | | | +| 婕忔礊闃叉姢 | | | | +| CC闃叉姢 | | | | +| 鍚庨棬妫娴 | | | | +| 涓氬姟瀹夊叏 | | | | +| CDN鍔犻 | | | | +| 楂樼骇瑙勫垯 | | | | +| 鎻掍欢鎵╁睍 | | | | +| 鍚堣瀹¤ | | | | +| 鏃ュ織鎶ヨ〃 | | | | +| 鍦板尯闄愬埗 | | | | +| 璐熻浇鍧囪  | | | | +| 鎷︽埅椤甸潰 | | | | +| 鏈哄櫒瀛︿範 | | | | +| 鏈鏂拌鍒 | | | | +| 鎶鏈敮鎸 | | | | +| 涓绘満闃插尽 | | | | +| RASP | | | | +| 闆嗙兢绠$悊 | | | | +| 瀹氬埗寮鍙 | | | | + diff --git a/docs/waf.tgz b/docs/waf.tgz index 5206a1a..b198746 100644 Binary files a/docs/waf.tgz and b/docs/waf.tgz differ