저는 Fedora 가상 머신에서 IPv4 서버를 실행하고 있습니다. 이 서버는 개발자 그룹을 위한 git 서비스를 호스팅하며 인터넷에 공개되어 있습니다. 따라서 (주로 우크라이나와 중국의) 해커 공격에 직면해 있습니다. 호스트의 보안을 강화하기 위해 원치 않는 액세스에 대한 노출을 줄이고 싶습니다(VM에 액세스하면 가상 브리지에 대한 액세스가 열린 다음 LAN에 대한 액세스가 열리고 물리적 로컬 시스템이 노출됩니다).
위험을 제한하기 위해 서버에는 기본 OS, git, 셸 등 구성이 거의 없지만 컴파일러는 없습니다. SSH만 열려 있고 방화벽을 통과할 수 있습니다. 시도에서 알 수 있듯이 SSH 서비스가 비정상적인 포트에 있다는 사실은 보안을 추가하지 않습니다.
현재 보안은 강력한 비밀번호에 의존합니다.
VM으로 전달하기 전에 호스트 시스템에서 소스 IP를 필터링하는 것은 제대로 작동하지 않으며(일부 모든 연결이 상자에서 나오는 것처럼 보이기 때문에) 일부 기여자가 동적 IP를 가지고 있기 때문에 이상적이지 않을 수 있습니다.
VM 방화벽에는 화이트리스트(로컬 LAN 및 일부 기여자)가 있지만 다른 연결이 실제로 삭제 또는 거부(저는 삭제를 선호함)되거나 허용되는지 확실하지 않습니다.
가상 머신을 보호하기 위해 개발자와 동의한 후 특정 기간(예: 00UTC~01UTC)에만 가상 머신을 열고 싶습니다.
질문매일 종료 시간을 조정하는 방법은 무엇입니까?가상 머신을 종료하기 위한 단서를 제공합니다.
- 그러나 이것이 어떻게 번역됩니까?체계기계는 그렇지 않습니다/etc/rc.local?
호스트 시스템이 부팅되면 VM이 자동으로 시작됩니다. 가상 머신 활성화를 연기하도록 변경하고 싶습니다.
- 크론 작업에는
virsh start <domain>
좋은 생각인가요?
위의 문제에는 KISS 원칙이 권장됩니다. 더 좋은 방법이 있나요?
대안으로, 방화벽은 시간 슬롯을 프로그래밍하여떨어지다시간 창 밖에서 들어오는 패킷을 수신하고 설정된 간격 내에서만 허용합니까?
구성: Fedora 28, KVM/QEMU, systemd 서로 다른 로컬 시스템의 여러 서버는 인터넷의 첫 번째 물리적 시스템에서 예약됩니다. 서버는 실제 머신이거나 가상 머신일 수 있습니다. 후자의 경우에는 또 다른 수준의 전달이 도입됩니다.
답변1
VM 종료의 경우 VM에서 cron을 사용할 수 있습니다. 매일 필요하다고 가정하면 이것이 왜 나쁜 일이 될 수 있는지 모르겠습니다.
그러나 귀하의 질문에 답하기 위해 shutdown -h와 함께 사용할 systemd 서비스를 생성할 수도 있습니다(참조https://www.linux.com/blog/learn/intro-to-linux/2018/5/writing-systemd-services-fun-and-profit)
이제 부팅을 위해 virsh와 함께 cron을 사용할 것입니다.
답변2
가상 머신이 올바르게 설정된 경우 virsh를 사용하여 마스터 서버에서 종료를 트리거할 수 있습니다.
남자들에게서웨일스 말
shutdown domain [--mode MODE-LIST]
Gracefully shuts down a domain.
따라서 crontab에서는 종료에 대한 설정과 다시 시작에 대한 설정을 하나씩 가질 수 있습니다.
만약에가상 종료마이VM작동하지 않습니다. 가상 머신에 acpid가 설치되어 있는지 확인하세요.
답변3
해킹을 방지하거나 그 결과를 제한하고 싶다면 다음을 권장합니다.
- 운영 체제와 데이터를 위한 별도의 가상 디스크
외부에서 가상 머신 종료
virsh shutdown domain; sleep 60; virsh destroy domain
운영 체제 디스크 다시 초기화