IPTables를 사용하여 모든 연결을 차단하지만 여전히 가상 서버를 백업할 수 있습니다.

IPTables를 사용하여 모든 연결을 차단하지만 여전히 가상 서버를 백업할 수 있습니다.

내 가상 서버/웹 서버(OS: Debian squeeze)가 해킹되어 손상되었습니다. 따라서 IPTable의 규칙을 사용하여 ssh를 제외한 모든 입력 및 출력 연결을 차단하고 싶습니다. 그런 다음 저장해야 하는 데이터베이스와 파일 중 최소한 일부를 백업하고 싶습니다. 워크플로를 설명하는 몇 가지 튜토리얼과 스크립트를 찾았지만 여전히 질문이 있습니다.

1.) 서버에 물리적으로 접근할 수 없기 때문에 서버가 잠기는 것을 원하지 않기 때문에 매우 조심스럽게 사용합니다. "iptables-restore < /etc/myscript"와 함께 다음 스크립트를 사용할 때 로컬 컴퓨터에서 SSH를 통해 계속 연결할 수 있어야 합니다. 그렇죠? 그렇지 않은 경우 시스템을 다시 시작하면 이전 표준 규칙을 다시 활성화해야 합니까?

2.) sport & dport(소스 포트와 대상 포트)를 정의하는 규칙이 약간 혼란스럽습니다. 스크립트에 적힌대로 제 3의 네트워크 서버에서 감염된 컴퓨터에 접속하는 것이 가능한가요? 파일을 다른 가상 서버에 백업하고 싶지만 분명히 HTTP를 통해 파일을 전송할 수 없기 때문입니다.

3.) 아마도 가장 어리석은 질문일지도 모르지만 여전히 묻고 싶습니다. 두 번째 부분 이후에 모든 연결을 완전히 차단하는 스크립트 명령의 한 줄씩 처리 - SSH 연결을 허용하는 규칙은 제3자에서 정의됩니다. SSH를 통해 연결하고 있으므로 규칙을 사용한 후(그리고 SSH를 수락하기 전에) 연결이 중단되어서는 안 되나요?

# flushing old rules
IPTABLES -F
IPTABLES -X 
IPTABLES -t nat -F
IPTABLES -t nat -X

# creating general policy
IPTABLES -P INPUT DROP
IPTABLES -P OUTPUT DROP
IPTABLES -P FORWARD DROP

# allowing SSH
IPTABLES -A OUTPUT -p tcp --dport 22 -m state --state ESTABLISHED,RELATED  -j ACCEPT
IPTABLES -A INPUT -p tcp --sport 22 -j ACCEPT

답변1

내 로컬 컴퓨터에서 SSH를 통해 계속 연결할 수 있어야 합니다. 그렇죠?

캔트. 관련 규칙은 다음과 같습니다.

IPTABLES -A OUTPUT -p tcp --dport 22 -m state --state ESTABLISHED,RELATED  -j ACCEPT
IPTABLES -A INPUT -p tcp --sport 22 -j ACCEPT

명령 이름을 소문자로 변환하고 싶을 수도 있지만 규칙 자체에는 더 많은 작업이 필요합니다. 첫째, 첫 번째 것을 ACCEPT목적지로 제한하고 싶지 않을 것입니다 port 22. ESTABLISH,RELATED대부분의 사람들이 원하는 대로 이미 통과가 허용된 모든 차량에 녹색 신호를 보낼 수 있도록 규칙을 활짝 열어 두는 것이 가장 좋습니다 . 기본적으로 규칙은 "열린 연결(로컬 컴퓨터에서 열린 연결 포함)과 관련된 경우 통과시키도록 합니다."라고 되어 있습니다. DROPSSH를 제외한 모든 것을 사용하고 있으므로 이보다 더 구체적으로 설명할 필요는 없습니다. 이 컴퓨터에서 연결을 시작하면 연결이 진행되기를 원할 수도 있습니다.

두 번째 규칙을 사용해야 하는 이유는 다른 곳에서 서버로 SSH 연결을 일치시키려고 하기 때문이 --dport아닙니다 --sport(이것이 INPUT 체인에 배치한 이유입니다).

스크립트에 적힌대로 제 3의 네트워크 서버에서 감염된 컴퓨터에 접속하는 것이 가능한가요?

위와 같이 수정한 경우 손상된 서버에서 연결을 시작하거나 SSH를 통해 세 번째 웹 서버를 연결하여 파일을 전송할 수 있습니다(이렇게 하면 승인됨).

SSH를 통해 연결하고 있으므로 규칙을 사용한 후(그리고 SSH를 수락하기 전에) 연결이 중단되어서는 안 되나요?

열어 두기만 하면 RELATED,ESTABLISHEDSSH 세션이 이미 설정된 연결과 연결되어 있으므로 문제가 없습니다. 그러나 현재 연결과 호환되지 않는 방식으로 방화벽을 수정하면 연결이 끊어집니다.

관련 정보