#도커설명
도커 git으로 이동하자
https://github.com/WebGoat/WebGoat
설치 방식은 1)도커, 2)jar파일, 3)소스기반 3가지가 권장된다. (github 공식 가이드 상)
가장 손쉬운 도커방식으로 해보겠다.
DockerHub 클릭해서 관련 페이지에 들어가주자
2일전에 업데이트되었고, 친절하게 명령어도 나온다.
#1 도커설치
해당 명령어 쓰기 전에 도커를 설치해줘야된다.
필자는 우분투 서버(20.04.2 LTS)를 기반으로 한다.
//리눅스 버전 확인
cat /etc/issue
//도커 설치
sudo apt install docker.io
설치 완료되면 테스트도 해볼겸 docker --help 입력해보자.
하기 내용 처럼 잘나오면 설치된거다.
#웹고트 설치
아까 봐둔 명령어를 써서 설치를 해보자
<명령어 방식>
docker image pull [옵션] 리포지토리명[:태그명]
// sudo 권한으로 웹고트 리포지토리 최신꺼 다운
sudo docker pull webgoat/webgoat:latest
// 설치확인
sudo docker image ls
=> 설치된 도커 이미지 확인
#웹고트 실행
설치 완료되면 실행하자
docker 옵션 일부 정리
포멧
docker run <옵션> <이미지 식별자*> <명령어> <인자>
컨테이너종료 : docker kill
컨테이너삭제 : docker rm
-i, -t 옵션 : 컨테이너 종료하지 않은 상태로, 터미널 입력 계속해서 컨테이너로 전달
-e 옵션 : 컨테이너 환경변수 추가 (다수 추가 시 -e 여러번 사용)
--name 옵션 : 이름 부여 후, 컨테이너ID 대신 이름으로 컨테이너 식별(삭제/종료 등)
-p 옵션 : 컨테이너 간의 포트/배포/바인드 활용
호스트에서 컨테이너가 리스닝하고 있는 포트로 포트포워딩 설정
127.0.0.1:1234:5678 -> 호스트:1234 접속 시, 컨테이너:5678 접속됨
(앞이 호스트 / 뒤가 컨테이너)
위 정보 바탕 커스텀 하겠습니다.
<기존>
docker run -it -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e TZ=Europe/Amsterdam webgoat/webgoat
<커스텀-실행 성공한 명령어>
sudo docker run -it --name goattt -p 0.0.0.0:5000:8080 -p 0.0.0.0:5001:9090 -e TZ=Europe/Amsterdam webgoat/webgoat
이름은 goattt로, 호스트 5000.5001이랑 바인딩, TZ는 타임존이겠쥬..? 걍 귀찮으니 유럽
뭐라뭐라 뜨쥬
근데 안되서.. 명령어 재조정해서 실행했습니다.(위 명령어에 반영)
(1)"127.0.0.1:포트:포트", (2)"0.0.0.0:포트:포트", (3)IP안붙이고 "포트:포트" 3가지로 테스트해봤는데
(1)"127.0.0.1:포트:포트" : 외부에서 접속 불가 / 127.0.0.1은 localhost니 우분투 내부에서 테스트 하기 적합하겠네요
(2)"0.0.0.0:포트:포트" : 외부에서 접속 가능 / 공인IP로 테스트하시려면 이렇게 명령어 주셔야 될듯
(3)IP안붙이고 "포트:포트" : 하기 부분에서 멈춰서.. 당황했는데.. 컴터가 느린거였습니다. 2번과 동일한 방식
#잘됩니다.
http://내도메인(또는 IP):포트/WebGoat/login
-끝이구요-
아래부터는 기타 내용입니다.
#웹고트 트러블슈팅
운영팀에 있을때 트러블슈팅 주구장창 했습니다.
클라우드 대시보드에서 클라우드 보안 정책 체크해보고
우분투 iptables 방화벽 정첵 체크해보고
서버 리부트도 해보고
도커 옵션 재설정을 했는데 (1) /WebGoat/ 경로 명시를 안해서 안됬고, (2) 127.0.0.1로 설정하면 외부 오픈안되네요.
(이참에 도커 공부도 좀 해야겠습니다.)
#오라클 클라우드 우분투 서버 방화벽 설정
1-1. 오라클 클라우드 대시보드에서 설정(https://cloud.oracle.com/)
*경로 : 네트워킹>가상 클라우드 네트워크>호스트명-VCN>보안 목록 세부정보
1-2. 우분투에서 iptables 설정
우분투 중에 ifconfig 안되는 경우가 많다.
그럴땐 ip addr 명령어 쓰거나 / apt install net-tools 로 설치하자 그리고 방화벽 열어주자
// sudo iptables --list 로 조회하고 INPUT (라인) 설정해야됨
// 80,443,5000은 기존 있었음
// 정책 변경 후, netfilter 로 저장해야 / 재부팅 시 정책이 유지됨
순서1 (방화벽 등록)
sudo iptables -I INPUT 6 -i ens3 -p tcp --dport 5001 -m state --state NEW,ESTABLISHED -j ACCEPT
순서2 (정책 저장)
netfilter-persistent save
(없을 시 설치 apt install netfilter-persistent 또는 iptables-persistent)
(방화벽 정책 리로드 : netfilter-persistent start)
//net인터페이스 확인
ip addr
기타 옵션
***참조 : https://kibua20.tistory.com/124
#도커 명령어 모음
1. 컨테이너 조회
sudo docker ps (동작중 컨테이너 조회)
sudo docker ps -a (중지된 컨테이너도 조회)
2. 컨테이너 중지
sudo docker stop <컨테이너ID or 이름>
3. 컨테이너 삭제
docker rm 컨테이너ID, 컨테이너ID
docker rm `docker ps -a -q` (컨테이너 모두 삭제)
4. 이미지 삭제
docker images
docker rmi 이미지ID
5. 컨테이너 삭제 전 이미지 삭제
docker rmi -f 이미지ID (-f 옵션 붙이면 컨테이너도 강제삭제)
6. 컨테이너 시작
sudo docker start <컨테이너ID or 이름>
(재시작)sudo docker restart <컨테이너ID or 이름>
7. 컨테이너 접속
sudo docker attach <컨테이너ID or 이름>
'정보보안 > 모바일 점검' 카테고리의 다른 글
버프슈트 커뮤니티(burp suite) 확장기능(extensions) python 코드 적용 (0) | 2023.02.24 |
---|---|
[FRIDA #1] 프리다 삭제, 설치, 특정 버전 설치, 기본 명령어 (0) | 2023.02.01 |
안드로이드 > 맥북 > VMware(윈도우) 피들러 연결 (0) | 2023.01.06 |
윈도우 ADB 설치 (0) | 2022.07.19 |
[iOS점검#1] iOS장비(아이폰) 프록시 설정, 피들러/버프 (2) | 2022.06.03 |