일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 코크리
- 티스토리챌린지
- HookNet
- docker
- aiffel exploration
- 히비스서커스
- 백신후원
- GIT
- airflow
- IVI
- CellPin
- 오블완
- Jupyter notebook
- ssh
- 사회조사분석사2급
- vscode
- logistic regression
- 도커
- 프로그래머스
- AIFFEL
- WSSS
- Decision Boundary
- numpy
- cs231n
- docker exec
- 기초확률론
- Pull Request
- cocre
- docker attach
- Multi-Resolution Networks for Semantic Segmentation in Whole Slide Images
- Today
- Total
히비스서커스의 블로그
[Linux] jupyter notebook을 통한 서버 침입 (feat. docker container network를 host로 설정하기) 본문
[Linux] jupyter notebook을 통한 서버 침입 (feat. docker container network를 host로 설정하기)
HibisCircus 2022. 6. 9. 18:49최근 서버의 docker container로 알 수 없는 파일들이 설치되어 GPU를 통해 채굴하고 있었다.. 문제는 방화벽으로 내가 사용하는 local의 IP만 allow하도록 설정하였고 기록을 봐도 다른 IP의 기록도 없었다. 서버의 비밀번호도 새로 설정해놔서 쉽게 access하지 못하도록 해놨는데 반복적으로 이런 일이 일어나고 있었다.
문제
사수분의 도움을 받아 해결해보니 docker로 컨테이너를 띄울 때 jupyter notebook 설정을 할 때 ip를 'localhost'로 설정하지 않고 0.0.0.0으로 설정을 해두었는데 이것이 문제였다. ip를 0.0.0.0으로 해둔 이유는 두 가지 설정 때문이다.
첫번째는 local에서 ssh로 server에 접속하는 것이고 두번째는 docker container를 띄울 때 network를 host로 지정하지 않았던 것이다.
server에서 jupyter notebook에 직접 접속하려는 경우 docker container의 network를 host로 설정하지 않아도 localhost:(port번호)로 접속이 가능하다. 하지만 local에서 server로 ssh 접속을 할 때는 docker container의 network를 host로 설정을 해주어야 한다.
여튼 문제는 ip=0.0.0.0으로 설정을 해두어 모든 아이피에 대해 접속을 가능하게 해준 것인데 이때 ssh를 통해서가 아니더라도 특정 ip를 통한 jupyter 로의 접근이 가능한 것으로 보인다. 여기에 jupyter notebook token도 설정을 안해두어 더더욱 접속이 쉬웠던 것으로 보인다.
jupyter notebook으로 접속 후 colab-terminal 관련한 코드를 통해 채굴 관련 코드를 다운 후 명령을 내린 것으로 보인다.
해결(?)
해결이 되었는지 모르겠지만 일단은 도커 컨테이너를 띠울 시에 --network를 host로 지정하고 jupyter notebook ip를 localhost로 지정하였더니 local에서 localhost:(port번호)로 접속이 가능하였다.
또한, 혹시나 모를 사항에 대비하여 jupyter notebook의 token을 자동으로 생성하게 하여 혹여나 침입하더라도 jupyter notebook의 token을 알아야 접속이 가능하도록 조치하였다.
해결이 되었는지는 시간이 지나봐야 알겠지만 아직까지는 해결된 것으로 보인다. 역시 채굴과 같이 돈되는 일이면 어떻게든 방법을 찾아서 하려는 사람들의 노력이 가상하다.
-히비스서커스-
'Programming > Linux' 카테고리의 다른 글
[Linux] 리눅스 터미널에서 파일 링크로 파일 다운로드(feat. aria2, mega) (0) | 2023.02.22 |
---|---|
[Linux] 리눅스 설치 후 마운트하기 (0) | 2022.05.30 |
[Ubuntu] 고정 IP 설정하기 (0) | 2022.05.12 |
[Ubuntu] ubuntu 18.04 login loop 해결 방법 모음 (0) | 2022.04.28 |
[Linux] 한번에 현재 경로 아래의 디렉토리 및 파일들 권한 변경해주기 (feat. -bash: /usr/bin/chown: Argument list too long ) (0) | 2022.03.24 |