요청하지 않은 네트워크 서비스 설치를 합리적으로 방지하려면 어떻게 해야 합니까?

요청하지 않은 네트워크 서비스 설치를 합리적으로 방지하려면 어떻게 해야 합니까?

내가 묻지 않고도 데비안이 자동으로 네트워크 서비스를 설치하도록 하는 방법에 대해 내가 놓쳤을 수도 있는 현명한 조언이 있습니까?

저는 Debian 기반 배포판을 사용하고 있으며 네트워크 서비스를 설치하면 활성화되어 즉시 시작됩니다. 특히 저는 현재 Debian 9(stretch)를 사용하고 있습니다.

openssh-server이건 처리하기가 너무 힘들어서서버 실행을 방지하기 위해 특수 후크를 추가했습니다., 그러나 누가 그랬든 나머지 데비안이 문제를 완전히 해결하도록 설득할 수 없는 것 같습니다. 예를 들어

  1. 이 문제는 다음에서 논의되었습니다.데비안 사용자. 불행하게도 경쟁 조건은 아직 해결되지 않았습니다. 데비안 관리자는 패키지에서 호출을 policy-rc.d차단하도록 구성할 것을 권장합니다 . 부피가 큰 것도 있어요invoke-rc.d ssh startpostinstall세부 사항, 그러나 그것은 달성될 수 있다. 불행하게도 그렇지 않습니다. 경쟁 조건을 방지하지 않습니다. 패키지가 실행하는 명령과는 아무런 관련이 없습니다 policy-rc.d. update-rc.d ssh enable이는 잘못된 시간에 정전이나 시스템 충돌로 인해 노출될 수 있습니다.

이 질문을 제기하는 예는 icinga2whichRecommended 입니다 monitoring-plugins.

예를 들어 monitoring-plugins-standard간접적인 권장 사항이 있습니다 icinga-common-1.13.4-2. 또는 의도적으로 설치할 수도 있습니다(예: check_dig.

결과적으로 설치는 내가 믿는 후에도 monitoring-plugins-standard설치되고 활성화됩니다.rpcbindrpcbind데비안은 기본 설치에서 네트워킹 서비스를 제거하기 위해 의도적으로 변경합니다., 결국 우분투의 발자취를 따릅니다.

종속성으로 설치된 패키지 목록을 보더라도 "rpcbind"가 추가 네트워크 서비스라고 말할 수는 없습니다.

나는 또한 이 특별한 상황이 고칠 수 있는 버그로 간주되어야 하는지 궁금합니다... 네트워크 서비스 팩에 대한 이러한 명백하지 않은 의존성에 대해 데비안 정책에 있는 것이 있습니까?

# apt install monitoring-plugins                                                                          
Reading package lists... Done                                                                            
Building dependency tree                                                                                                         
Reading state information... Done                                                                                 
The following additional packages will be installed:                                                                             
  libnet-snmp-perl libradcli4 libtirpc1 monitoring-plugins-standard rpcbind                     
Suggested packages:                                                                                                              
  libcrypt-des-perl nagios-plugins-contrib qstat                                                
The following NEW packages will be installed:                                                                                    
  libnet-snmp-perl libradcli4 libtirpc1 monitoring-plugins monitoring-plugins-standard rpcbind  
0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded.                                                                   
Need to get 432 kB of archives.                                                                 
After this operation, 1,901 kB of additional disk space will be used.                                                            
Do you want to continue? [Y/n]
...
# systemctl status rpcbind
● rpcbind.service - RPC bind portmap service
   Loaded: loaded (/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2018-05-04 20:44:39 BST; 49s ago
     Docs: man:rpcbind(8)
 Main PID: 20930 (rpcbind)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/rpcbind.service
           └─20930 /sbin/rpcbind -f -w

May 04 20:44:39 brick systemd[1]: Starting RPC bind portmap service...
May 04 20:44:39 brick systemd[1]: Started RPC bind portmap service.

전체 공개: monitoring-plugins-standard"일부 스크립트는 작동하려면 더 많은 패키지를 설치해야 하며 이는 권장 사항에 따라 구현됩니다."라고 말하고 monitoring-plugins-basic"이 패키지는 최소한의 외부 종속성을 갖춘 기본 플러그인 세트를 제공합니다."라고 말합니다.

답변1

나는 수백 대의 데비안 서버(대규모는 아님)로 구성된 네트워크를 설정하고 유지 관리합니다.

저는 Jumpbox VM을 사용하는데, 하루 동안 자리를 비우고 그곳에서 무언가를 실행시키거나 자동화된 관리 작업을 설정할 수 있기 때문에 유용합니다.

거기에서 저는 자동화된 스크립트와 Ansible을 실행하고 관리자를 위해 Rundeck을 실행합니다.

rpcbind특히 유해한 것으로 기억이 맞다면 시스템 업데이트에서 다시 나타났습니다. 커널 업데이트에서 자주 발생하는 또 다른 문제는 firmware-linux-freeVmWare 가상 머신에 커널 업데이트가 필요하지 않다는 것입니다. 또한 여러 systemd 관련 패키지를 -1로 고정했지만 -1로 수정해도 여러 주요 버전 업그레이드를 통해 다시 나타나는 것을 막지는 못합니다.

이를 제어하기 위해 Ansible 정책을 사용하지만 rpcbind패키지를 -1에 고정할 수는 없습니다.

그러나 각 서버의 패키지를 rpcbind-1로 고정해도 문제가 해결되지 않을 것이라고 확신합니다. 데비안은 시간이 지나면서 점점 더 복잡해졌습니다. 노력했다고 맹세할 수 있지만 확실하지는 않습니다.

직장 밖에서 긴급하게 작업을 해야 하거나 휴대폰에서 여러 번 작업해야 할 때 VPN+ssh를 통해 Jumpbox에 액세스할 수 있는 것도 유용합니다. 흥미롭게도 저는 1일 간의 AWS 컨퍼런스 중에 한 번은 휴대폰으로 작은 긴급 개입을 했고, 그렇지 않았다면 자리를 떠나야 했습니다.

점프 박스 사용을 강력히 반대하는 경우 랩탑/업무용 컴퓨터에서 언제든지 스크립트 + Ansible을 실행할 수 있습니다. Ansible은 클라이언트 VM에 에이전트가 필요하지 않습니다.

다른 방문자의 관련 질문: PowerShell의 "일대다" 원격 기능에 해당하는 Linux

관련 정보