포트에서 실행중인 프로그램이없는 경우 방화벽이 필요한 이유는 무엇입니까?


14

서버의 포트로 텔넷을 시도 할 때 해당 포트에서 수신 대기중인 프로그램이 없으면 "연결할 수 없습니다 ..."오류로 텔넷이 종료됩니다. 나는 이해. 그러나 포트에서 수신 대기하는 프로그램이없는 경우 왜 방화벽이 필요합니까?


답변:


31

현재 서비스가 제공되지 않을 수 있지만 내일은 어떻습니까? 모두 해제했지만 사용자는 어떻습니까? 유닉스 / 윈도우 / 맥 시스템의 모든 사용자는 액세스 할 수있는 모든 컴퓨터에서 1024보다 큰 포트를 열 수 있습니다. 멀웨어는 어떻습니까? 바이러스는 어떻습니까? 또한 포트를 열고 전 세계에 정보를 제공하거나 네트워크 연결을 수신 할 수 있습니다.

방화벽의 주요 목적은 사용 중지 된 서비스의 포트를 차단하는 것이 아니라 알지 못할 수도있는 서비스의 포트를 차단하는 것입니다. 귀하가 승인 한 서비스에 대해 특정 구멍 만 뚫고 이를 기본 거부 로 생각하십시오 . 사용자가 시작한 모든 사용자 또는 프로그램은 액세스 권한이있는 시스템에서 서버를 시작할 수 있으며 방화벽은 다른 사람이 해당 서비스에 연결하지 못하게합니다.

훌륭한 관리자는 어떤 서비스를 노출해야하는지 알고이를 활성화 할 수 있습니다. 방화벽은 주로 시스템이나 네트워크에서 실행중인 알 수없는 서버로 인한 위험을 완화하고 중앙 위치에서 네트워크로 허용되는 것을 관리합니다.

머신 / 서버에서 실행중인 것을 알고 필요한 것만 활성화하는 것이 중요하지만 방화벽은 모르는 것에 대해 추가 보호 기능을 제공합니다.


1
> "사용자가 시작한 사용자 또는 프로그램은 액세스 권한이있는 시스템에서 서버를 시작할 수 있으며 방화벽은 다른 사람이 해당 서비스에 연결하지 못하게합니다." 그러나 이것이 서비스를 사용할 수 없게 만들지 않습니까?
Khaja Minhajuddin

5
@KhajaMinhajuddin 네! 그것이 바로 요점입니다. (-:
gabe.

2
당신은 서비스를 원하는 @KhajaMinhajuddin 것을 당신 설치는 세계에서 사용할 수 있습니다. 다른 감염된 시스템의 연결을 수신하지 않는 동안 super_spam_virus.exe가 시작된 smtp 서버를 원하지 않습니다. 만병 통치약은 아니지만 방화벽이이를 방지합니다.
개브.

super_spam_virus.exe는 : 유닉스 및 리눅스 같은 소리하지 않습니다
사용자 불명의

@userunknown true ... a.out 또는 시스템에 복사 된 손상된 / bin / ls 버전은 어떻습니까? 또는 hg serve컴퓨터에서 웹 서버를 시작하는 개발자 인 경우 . 요점은 '데스크톱'이든 '서버'이든 상관없이 모든 컴퓨터에서 서버를 시작하는 것은 사소한 일입니다. 그리고 일단 서버가 시작되고 당신은 그것에 대해 모른다 ... 글쎄, 그때는 재미가 시작됩니다.
개브.

3

포트에서 수신 대기하는 프로그램이없는 경우 방화벽이 필요하지 않지만 다른 국가에서 '밀봉'되어 있으므로 서버에 연결할 수도 없습니다.

반면에 ... 서버에 포트를 수신하는 로컬로 실행되는 프로그램이 없지만 서버가 뒤에있는 다른 컴퓨터의 게이트웨이 역할을한다고 가정 해 봅시다. 이 경우 방화벽을 사용하여 마스 쿼 레이 딩 (NAT)을 관리하고 선택적으로 패킷 전달에서 일부 항목을 필터링 할 수 있습니다.


이것은 좋은 지적이지만 서버가 작업을 수행하려면 일반적으로 openssh와 웹 서버를 배치합니다. 방화벽이 있더라도 openssh 및 웹 서버와 같은 실행중인 응용 프로그램을 유용하게 사용하려면 포트를 열어야합니다. 그래서, 내가 묻는 것은, 외부 세계에 포트를 열어 방화벽에 의해 차단되어야하고 여전히 유용한 프로그램이 있습니까?
Khaja Minhajuddin

1
네, 있습니다. 서버의 예는 필요하지 않지만 X가 설치된 Linux 시스템과 네트워크 포트에서 X가 실행중인 것으로 가정합니다. 컴퓨터, LAN의 다른 컴퓨터가 X에 연결되도록 허용하고 싶지만 프랑스의 Joe가 연결하는 것을 원하지는 않습니다. 또 다른 예로, 서버에 여러 VPN 서비스를 설정하고 다른 네트워크를 볼 수있는 (또는 볼 수없는) 네트워크를 제어해야한다고 가정 해 보겠습니다. 또는 OpenSSH가 있지만 가정용 컴퓨터에서만 연결을 허용하려고한다고 가정 해 봅시다. 다른 많은 예가 있습니다.
Patkos Csaba

1
@ KhajaMinhajuddin : ssh의 /etc/ssh/sshd_config경우 기계를 보호하기 위해를 사용해야합니다 . PermitRootLoginNo로 설정해야합니다. 보안 암호를 사용하고 sudo로 시스템을 유지해야합니다 (sudo 권한이있는 계정으로 로그인 한 후 sudo를 사용할 수 있음). 방화벽으로 제한을 설정하는 것은 작업에 잘못된 도구 일뿐입니다. postgresql데이터베이스의 경우에도 마찬가지입니다. 데이터베이스 구성을 사용하여 권한을 설정하고 취소하십시오.
사용자가 알 수 없음

3

엄밀히 말하면, 방화벽이 단순히 네트워크 포트를 통한 연결을 거부하는 것보다 더 많은 기능을 제공 할 수 있다는 점을 명심해야합니다. 예를 들어, DROP 대 REJECT 동작.


1
DROP 대 REJECT의 장점은 무엇입니까?
사용자가 알 수 없음

확실하지 않지만 DROP은 응답하지 않으므로 요청자는 요청이 수신되었는지 또는 시스템이 있는지 여부를 알지 못합니다. REJECT는 당신이 분명히 거기 있고 그것에 대해 이야기하고 싶지 않다고 말합니다. 그리고 무언가 문이 잠겨 있으면 보호 할 가치가있는 것을 찾는 방법을 찾는 것이 좋습니다.
Joe

-5

그러나 포트에서 수신 대기하는 프로그램이없는 경우 왜 방화벽이 필요합니까?

당신이있는 경우 단일 사용자 데스크톱 이 아닌 서버를 기본 우분투 설치에로, 실행중인 서비스가없는 경우, 당신은 방화벽이 필요하지 않습니다.

Windows는 네트워킹을 수행 한 후 유지 관리, 업데이트, 내부 메시지 전달 등을 위해 기본적으로 실행되는 일부 서비스가있었습니다. 창 작동을 멈추지 않고 막을 수는 없었지만 외부 공격에 취약한 곳은 막을 수 없었습니다. 따라서 Windows 사용자에게는 방화벽이 필요했고 모든 사람에게 방화벽이 필요하다는 meme이 빠르게 퍼졌습니다.

그들은 종종 서버 관리자 인 리눅스 사람들을 만났을 때 '리눅스에 방화벽이 필요하지 않다'고 말하지 않고 '우리는 거의 10 년 동안 iptables와 같은 무료 방화벽을 가지고 있습니다'라고 말하지 않았습니다.

개인 방화벽 , 그것은 보호해야 시스템에 앉아 중 가장 좋은 생각이 아니다.

단일 사용자 데스크탑 시스템에서는 개인 방화벽이 필요하지 않습니다.


3
gabe의 답변을보고 다시 생각하십시오. 특히 데스크톱 클라이언트는 공격에 취약합니다.
Nils

1
@userunknown : 바이러스는 데스크탑의 사용자 일 수 있습니다. 설치하고 구성하지 못한 데몬도 있습니다.
안드레 파라 메스

1
몇 년 동안 보안 테스트를 해왔으며 데스크톱을 통한 액세스는 공격을 전파하는 데 매우 유용한 경로입니다. Windows, Linux, Solaris 등은 중요하지 않습니다. 그것을 잠 그거나 공격자에게 잃어 버리십시오. 올바른 문구는 데스크탑에 방화벽이 필요할 수 있다는 것입니다. 환경의 위험을 완전히 평가하십시오
Rory Alsop

2
@userunknown 컴퓨터를 컴퓨터로 사용 desktop한다고해서 이것이 여전히 server단어 가 아니라는 것은 아닙니다 . 당신 desktop은 그것의 많은 servers것을 잠재적으로 실행할 수 있으며 이미있을 수 있습니다.
개브.

1
CUPS (모든 리눅스), SLPD (SuSE) 및 업데이트 후 리눅스에서 실행될 수있는 다른 것들 (KDE- 원격, iSCSI 서버 / 클라이언트)에 대해 생각해보십시오. 전에 확인한 경우에도 표시 될 수 있습니다. 그들이하면 차단하는 것이 좋습니다. BTW-GUI를 통한 방화벽 활성화 ( t allow anything) on RedHat, start CUPS and see if you can connect to it from outside. Then look at iptables-save` : Voila-CUPS 포트는 GUI에 나타나지 않고 열려 있습니다.
Nils
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.