나는 명령을 실행했다netstat -lat
이 출력을 얻었습니다 ...
...
tcp 0 0 my.machine.ip.add:ssh 116.31.116.48:43270 ESTABLISHED
tcp 0 0 my.machine.ip.add:ssh my.home.ip.add:55732 ESTABLISHED
...
IP를 확인했는데 확실히 내 컴퓨터에 액세스해서는 안 됩니다. 그렇다면 ESTABLISHED
연결을 시도하고 있다는 의미인가요? (내 auth.log에 이 주소에서 실패한 시도가 많이 있습니다.) 아니면 연결되어 있다는 의미입니까?
답변1
"ESTABLISHED"는 연결이 TCP 계층에서 설정되었음을 의미할 뿐이며 인증 여부에 대해서는 아무 것도 알려주지 않습니다. 일반적인 순서는 다음과 같습니다.
- 클라이언트(/attacker)에서 서버로 TCP 연결 설정
- 클라이언트가 인증을 시도합니다.
- 클라이언트가 성공적으로 인증되면 클라이언트는 연결을 통해 특정 작업을 수행합니다. TCP 연결은 연결이 끊길 때까지 "설정된" 상태로 유지됩니다.
- 클라이언트가 인증할 수 없는 경우(보통 3회 시도 후) 서버 연결이 끊어집니다.
누군가가 귀하에게 비밀번호 추측 공격을 시도하고 그들이 비밀번호를 시도하는 동안 귀하가 체크인하는 경우 "설정된" 연결이 표시됩니다. 시도 사이에 지연이 없으면(즉, 한 번의 연결 시도가 실패하면 다시 연결하고 다시 시도하는 경우) 거의 항상 "설정된" 연결이 표시됩니다.
반면에 동일한 연결이 한동안 동일하게 유지되는 경우(즉, 포트 번호를 지속적으로 변경하지 않고 동일한 원격 IP 및 포트 번호), 누군가가 접속했거나 한동안 빈둥거리고 있었던 것입니다. 비밀번호 추측 사이에 오랜 시간이 걸립니다. 이런 경우에는 걱정해야 합니다.
하지만 무슨 일이 일어나고 있는지 정말로 알고 싶다면 로그를 확인하세요! (Ipor Sircer가 댓글에서 말했듯이.) 공격자가 이를 지우지 않는 한 TCP 연결을 보는 것보다 더 많은 정보를 제공할 것입니다.
또한 공격을 받고 있으므로(ssh가 인터넷에 노출되어 있으므로 자동으로 발생함) SSH 서비스가올바른 잠금! 루트 로그인을 비활성화하고, 로그인할 수 있는 사람을 제한하고, 추측하기 어려운 비밀번호를 사용하고, 가능하다면 공개 키 인증을 위해 비밀번호를 비활성화하세요.
답변2
ESTABLISHED
tcp
소켓이 확립된 상태, 즉 연결이 현재 활성화되어 있음 을 나타냅니다 .
소켓 tcp
튜플은 다음과 같습니다:
(my.machine.ip.add:ssh, 116.31.116.48:43270)
로컬 엔드포인트는 my.machine.ip.add:ssh
이고 원격 엔드포인트는 입니다 116.31.116.48:43270
.
따라서 ssh
클라이언트는 116.31.116.48
확실히 ssh
컴퓨터 서비스에 연결되어 있습니다.