IPTables : SSH 액세스 만 허용합니다.


11

어떻게 당신은 것입니다 그래서 IPTables에를 구성 할 경우에만 에서 SSH를 허용하고있는 다른 트래픽을 허용하지 또는 아웃 ?

누군가가 권장 할 수있는 안전 예방책은 무엇입니까?

내가하는 서버가 생각 성공적으로 GoDaddy와 멀리 마이그레이션 된을 나는 믿을 더 이상 사용합니다.

그러나 나는 당신이 결코 알지 못하기 때문에 확인하고 싶습니다. :)

이 서버는 GoDaddy의 가상 전용 서버입니다. 즉 백업이없고 사실상 지원되지 않습니다.

답변:


13

INPUT 및 OUTPUT 체인에서 기본 정책을 DROP으로 설정하기 만하면됩니다.

SSH를 허용하려면 다음 명령이 필요합니다.

$ sudo iptables -P INPUT DROP
$ sudo iptables -P OUTPUT DROP
$ sudo iptables -A INPUT -i lo -j ACCEPT
$ sudo iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
$ sudo iptables -A OUTPUT -o lo -j ACCEPT
$ sudo iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

마지막 두 명령은 일부 응용 프로그램에서 올바르게 작동하기 위해 필요한 루프백 트래픽을 허용합니다. -s source_ip옵션을 사용하여 특정 IP에서 SSH 액세스를 제한 할 수 있습니다 .

위에 표시된 순서대로 명령을 실행하면 현재 SSH 세션이 중단됩니다. iptables 명령이 즉시 적용되기 때문입니다. 원격으로 실행할 때 컴퓨터에 연결할 수있는 기능을 잃지 않도록 셸 스크립트로 실행해야합니다.


4
--state RELATED마지막 규칙은 불필요합니다. --state ESTABLISHED충분하다. DNS 트래픽을 허용 할 수도 있고 루프백 인터페이스의 모든 항목을 허용해야합니다. 그렇지 않으면 모든 종류의 동작이 매우 이상하게 작동 할 수 있습니다.
MadHatter

@MadHatter : 그렇습니다, 특히 루프백에 대해 옳습니다 :)
Khaled

감사합니다. 전체 파일을 얻을 수 있습니까? 즉, 직접 복사하여 / etc / sysconfig / iptables에 붙여 넣을 수 있습니까? 적절한 편집을 할 수있는 직관을 믿기에 충분하지 않습니다.
디스코

2
추신. 연결을 설정하는 힘은 첫 번째 명령 후 종료됩니다
user956584

3
이 명령의 순서를 실제로 변경해야합니다. 정책 줄은 마지막 줄로 나타나야합니다. 이것을 ssh 세션에 복사하여 붙여 넣은 사람은 누구나 즉시 종료되며 즉시 종료됩니다.
AndreasT

4

이 같은:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -j REJECT  # or iptables -P INPUT DROP

iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -j REJECT # or iptables -P OUTPUT DROP

1
나는 당신이 -i lo아니라고 생각합니다 -s lo. 다시 말하지만, ESTABLISHED주 규칙 에만 필요하며 아마도 거기에도 있어야합니다 --sport 22. 모두가 왜 그렇게 허용하고 싶어하는가 RELATED?
MadHatter

@MadHatter : 정보 RELATED: 실제로 Ping 응답 및 DNS 응답과 같이 TCP 이외의 항목을 일치시키는 데 유용합니다. 적어도 그것이 항상 가정했던 것입니다.
Steven 월요일

2
제 생각에는 그것이 어느 것도 일치하지 않을 것입니다. 예를 들어, ICMP 호스트 관리적으로 금지 된 응답과 일치하지만 얻을 수있는만큼 도움이됩니다. 자격이 없으면 이전 행과 관련된 트래픽뿐만 아니라 관련 트래픽과도 일치합니다.
MadHatter

@ MadHatter : 당신이 옳은지 확인하기 위해 몇 가지 테스트를 수행해야한다고 생각합니다. 내 가정에 도전 해 주셔서 감사합니다.
Steven 월요일

그러나 ESTABLISHED 상태는 UDP DNS 응답 및 ICMP 에코 응답과 일치하는 데 필요한 전부입니다.
Steven 월요일
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.