일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- tibero
- Tuple
- 암시적 커서
- vm tac 구성
- 프로그래머스
- CentOS
- vm
- 티베로
- 묵시적 커서
- 파이썬
- tas tac
- OPEN CURSOR
- DDL 추출
- X11 forwarding
- tac
- 코테
- Python
- VMware
- implicit
- 코딩테스트
- terraform
- 리눅스
- X11
- VM 설정
- Linux
- db
- tablespace
- oracle
- python3.7
- golang
- Today
- Total
줄기세포
[Tibero] 리스너와 접속제어 본문
listner port 변경이 궁금하시면: https://novice-data.tistory.com/28?category=986333
기본적으로 Tibero설치시 VM서버의 TIBERO port (default: 8629) 들어오는 모든 client는 연결이 가능하다.
1. 모든 remote 접속을 차단해보겠습니다.
SQL> ALTER SYSTEM LISTENER REMOTE OFF;
위 쿼리가 실행되면, 리스너의 port가 내려갑니다. 이 상황에서 PORT를 타고 들어오는 모든 접속이 불가능하게 되며, 외부에서 접속할 방법이 없어집니다. 다만, 이미 체결된 연결은 계속 유지가 됩니다. <<- 테스트를 통해 확인함. 내외부 모두
그럼 접속을 어떻게 할 수 있을까요?
tbsql과 같은 서버 내부 util은 사용이 가능합니다. port가 아닌 도메인 소켓을 이용하여 접속할 수 있기 때문이죠.
방법은 listener설정에서 port번호를 지워줘야 합니다. ($TB_HOME/client/config/tbdsn.tbr)
port를 지우면 domain socket을 통해 접속한다.
tibero=(
(INSTANCE=(HOST=localhost)
# (PORT=8629)
(DB_NAME=tibero)
)
)
다시 remote 접속을 허용해주려면 tbsql로 접속하여 아래 쿼리문을 날려주면 됩니다.
SQL> ALTER SYSTEM LISTENER REMOTE ON;
2. ALTER SYSTEM LISTENER ON/OFF 시 무슨일이 일어나는지 자세히 확인해보겠습니다.
아래 첨부된 사진은 ALTER SYSTEM LISTENER REMOTE ON 상태이다. (default 상태: ON)
8629포트가 tblistner(pid pid32316)로 매핑되어 있는것을 볼 수 있고,
tblistener는 socket을 열고 있는 것을 확인 할 수 있다. (/db/tibero6/instance/tibero/path/lsnrd_un)
즉 port를 통해서 들어온 요청은 lsnrd_un socket을 통해 listener로 들어온다.
8629 -> lsnrd_un
아래는 ALTER SYSTEM LISTENER REMOTE OFF 상태이다.
tblistener와 매핑된 포트는 사라졌지만, 소켓은 남아있는 것을 볼 수 있다.
그렇기 때문에 외부에서 접속할 port는 사라졌지만, tbsql과 같은 내부 util은 여전히 소켓을 통해서 접속 할 수 있다.
(HOST간 소통은 port와 socktet으로 하기 때문에 외부 유입이 차단된다.)
tbdsn.tbr에서 port 정보를 지우면 default socket경로를 통해서 접속한다. port 정보가 남아있으면, port를 통해서 접속하지만 OFF 상태에서 port가 내려간 상황이라서 tbsql도 접속이 되지 않는다.
3. 그럼 특정 IP에서의 접속만 막을 순 없을까?
티베로 온라인 매뉴얼에는 아래와 같이 설명하고 있다. (티베로 온라인 매뉴얼은 블로그 하단에 참조 넣어둠)
설명이 잘되어 있어 첨부로 대체하였다. 밑줄 친 곳만 체크하면 될 것 같다.
참조 글
소켓과 포트: https://blog.naver.com/myca11/221389847130
netstat 명령어 참조 블로그: https://www.lesstif.com/ws/netstat-43844201.html
티베로 온라인 매뉴얼 참조: https://technet.tmaxsoft.com/upload/download/online/tibero/pver-20160406-000002/tibero_admin/ch_05.html#sect-network-control-all
도메인 소켓이란: https://www.lesstif.com/linux-core/unix-domain-socket
'DB > Tibero' 카테고리의 다른 글
[Tibero] dbms_metadata.get_ddl) TABLE 등 DDL 추출 방법 (0) | 2022.02.17 |
---|---|
[Tibero] 백업 & 복구 (0) | 2022.02.07 |
[Tibero] TAS-TAC Port 참고 (0) | 2021.12.27 |
[Tibero] Datafile, Redo Log File 경로변경 작업 (Rename 작업) (0) | 2021.12.24 |
[TAC 설치] VMware에 TAS-TAC 구성해보자 (5) (0) | 2021.12.23 |