질문/조언질답게시판

sftp 접속이 안됩니다.

Extra Form
PHP PHP 7.3

1-2) 방화벽 설정

일단 시작하기전에는 나는 클라우드플레어를 사용중인데

이 게시글에서는 설정할 것은 클라우드플레어에서 오는 ip를 제외한 모든 ip를 접근거부하게 설정할 생각이다.

다운로드

# wget https://raw.githubusercontent.com/scriptzteam/CloudFlare-ONLY-IPs/master/install.sh

실행

# sh install.sh

loopback 허용

소프트웨어들이 localhost 어댑터와 통신이 되어야 하기때문에 필요합니다.

# iptables -A INPUT -i lo -j ACCEPT

PING 차단

솔직히 이거는 차단하든 안하든 상관은 없는데 저는 차단합니다.

# iptables -A INPUT -p icmp -j DROP

INPUT과 FORWARD 차단

위에서 이미 기본적으로 설정은 다했습니다.

# iptables -P INPUT DROP # iptables -P FORWARD DROP

확인

# iptables -nL

 

 

 

위에 있는대로 해도 옛날에는 sftp접속이 되었는데 지금은 안됩니다.

혹시 아파치가 아닌 nginx를 설치해서 그런걸까요?

 

 

파일질라는 이렇게 뜹니다.

 

 

상태:    172.XXX.XXX.88에 연결...
응답:    fzSftp started, protocol_version=10
명령:    open "[email protected]" 22
오류:    Connection timed out after 20 seconds of inactivity
오류:    서버에 연결하지 못함

 

  • profile

    1. sftp는 웹서버 종류와 무관합니다.

     

    2. # iptables -P INPUT DROP 이것 때문인 것 같습니다. 클플이 아니더라도 ssh, sftp 접속에 사용하는 22번 포트는 열어둔 상태에서 뒷정리를 해야 하는데, 이전 단계에서 22번 포트를 열어주는 코드가 보이지 않네요. 그 상태에서 저 명령을 입력하여 셀프 차단을 해버리신 것 같습니다.

     

    3. iptables 설정을 저장하지 않으셨다면 재부팅시 초기화되니 재부팅을 해보시기 바랍니다. 재부팅해도 안 된다면 클라우드서버의 경우 콘솔 접속을 지원하는 경우가 많으니 콘솔로 들어가서 방화벽 설정을 제거해야 합니다.

     

    4. 방화벽 등 보안은 물론이고 서버의 전반적인 작동에 큰 영향을 미칠 만한 부분은 인터넷에 돌아다니는 스크립트를 무작정 퍼다가 쓰시면 곤란합니다. 저 스크립트를 만든 사람은 님 서버가 어떤 구성인지 전혀 알지 못할 테니까요. 22번 포트를 미리 열어놨는지 안 열어놨는지 모르는 상태에서 실행하면 저렇게 되는 거죠...

  • profile profile
    제가 한번 iptables -F로 아무것도 하지 않은 상태에서도 작동이 안되었는데 그렇다면 iptables보다 다른 설치 문제일까요?
  • profile profile
    저 코드가 예전에 제가 했던것을 정리해놓은 글이어서 다시 해보았는데 이렇게 뜹니다 ㅠ
  • profile profile

    iptables -P 명령으로 광역 차단한 것은 iptables -F 를 하더라도 풀리지 않습니다.
    iptables -P INPUT ACCEPT 이렇게 별도로 변경하셔야 해요.

  • profile profile
    vi /etc/ssh/sshd_config
    여기에서 subsystems 주석도 제거가 되어있는데 안되네요ㅠ
  • profile profile
    앗 해결했습니다