sftp 접속이 안됩니다.
CMS/프레임워크 | 사용안함 |
---|---|
개발 언어 | 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 "root@172.XXX.XXX.88" 22
오류: Connection timed out after 20 seconds of inactivity
오류: 서버에 연결하지 못함
댓글 6
1. sftp는 웹서버 종류와 무관합니다.
2. # iptables -P INPUT DROP 이것 때문인 것 같습니다. 클플이 아니더라도 ssh, sftp 접속에 사용하는 22번 포트는 열어둔 상태에서 뒷정리를 해야 하는데, 이전 단계에서 22번 포트를 열어주는 코드가 보이지 않네요. 그 상태에서 저 명령을 입력하여 셀프 차단을 해버리신 것 같습니다.
3. iptables 설정을 저장하지 않으셨다면 재부팅시 초기화되니 재부팅을 해보시기 바랍니다. 재부팅해도 안 된다면 클라우드서버의 경우 콘솔 접속을 지원하는 경우가 많으니 콘솔로 들어가서 방화벽 설정을 제거해야 합니다.
4. 방화벽 등 보안은 물론이고 서버의 전반적인 작동에 큰 영향을 미칠 만한 부분은 인터넷에 돌아다니는 스크립트를 무작정 퍼다가 쓰시면 곤란합니다. 저 스크립트를 만든 사람은 님 서버가 어떤 구성인지 전혀 알지 못할 테니까요. 22번 포트를 미리 열어놨는지 안 열어놨는지 모르는 상태에서 실행하면 저렇게 되는 거죠...
iptables -P 명령으로 광역 차단한 것은 iptables -F 를 하더라도 풀리지 않습니다.
iptables -P INPUT ACCEPT 이렇게 별도로 변경하셔야 해요.
여기에서 subsystems 주석도 제거가 되어있는데 안되네요ㅠ