Desinfec't is an offline virus and thread scanning tool provided by the German Heise computer magazine c't. It has the ability to be started with a PXE boot system. Some prepatations not mentioned in the c't descriptions are nessesary, to get things done. There are also some drawbacks which come with this solution (mentioned later)
- working PXE boot environment consisting of
- DHCP server providing
next-server- IP of TFTP serverfilename- name of PXE boot file (I use the iPXE filesipxe.efifor UEFI andundionly.kpxefor BIOS boots)
- TFTP server running on
next-serverIP, providing- PXE boot files specified by
filename - BOOT configuration file loaded by PXE boot file - this depends on the used PXE boot file - e.g.:
- PXE boot files specified by
- DHCP server providing
- NFS server providing shares for
- Desinfec't system (ro)
- Desinfec't AV signatures (rw)
- Export a share read only (e.g.
/pxeboot) - Create a folder for the OS (e.g.
/pxeboot/desinfect2025) - Copy the content of the Desinfec't ISO into this folder
- Export a share read write (e.g.
/srv/shares/sigdesinfect). - Run the script
./sn_create_sig_desinfect%year%.sh -ion the NFS server. The script will ask for the signature share, the year and some other stuff. It will:- create the year folder, e.g.:
/srv/shares/sigdesinfect/2025 - create the signature folders for the scanners including the
.syncmefile - create the hidden .desinfect%year%00 file e.g.:
/srv/shares/sigdesinfect/2025/.desifect202500 - create the folder /deb e.g.:
/srv/shares/sigdesinfect/2025/deb - copy the content of
%year%_debto above folder - this can be used to install own packages e.g.openssh-server - create a
userinit.shscript which will be executed at boot by Desinfec't
- create the year folder, e.g.:
The userinit.sh script sets the correct time and a password for the User desinfect (default a - can be changed).
This is only an example. Please adapt to your needs. The example uses:
- IP of NFS server:
10.0.0.1 - NFS OS share:
/pxeboot/desinfect2025 - NFS SIG share:
/srv/shares/sigdesinfect/2025 - TFTP:
tftproot/desinfect2025containing kernelvmlinizand initrdinitrd.lzcopied from ISO directory/casper
LABEL desinfect2025
MENU LABEL Desinfec't 2025
LINUX desinfect2025/vmlinuz
APPEND initrd=desinfect2025/initrd.lz nfssigs=10.0.0.1:/srv/shares/sigdesinfect/2025 ip=dhcp root=/dev/nfs boot=casper xfce file=/desinfect/preseed/ubuntu.seed netboot=nfs nfsroot=10.0.0.1:/pxeboot/desinfect2025 rmdns systemd.mask=tmp.mount memtest=4 debian-installer/language=de console-setup/layoutcode?=de locale=en_US.UTF-8 noprompt noeject
echo Booting Desinfec't 2025
set base-ip 10.0.0.1
set base-url http://${base-ip}/pxeboot/desinfect2025
kernel ${base-url}/casper/vmlinuz
initrd ${base-url}/casper/initrd.lz
imgargs vmlinuz initrd=initrd.lz nfssigs=10.0.0.1:/srv/shares/sigdesinfect/2025 ip=dhcp root=/dev/nfs boot=casper xfce file=/desinfect/preseed/ubuntu.seed netboot=nfs nfsroot=${base-ip}:/pxeboot/desinfect2025 rmdns systemd.mask=tmp.mount memtest=4 debian-installer/language=de console-setup/layoutcode?=de locale=en_US.UTF-8 noprompt noeject
boot || goto failed
goto start
Get the signatures with the call of: sudo /opt/desinfect/update_all_signatures.sh.
- The signatures of all scanners are fetched and saved to the NFS share
- Additionally all scan engines get installed.
- This also updates the Desinfec"t system incuding the Firefox browser. The packages are saved to the signature share and get reinstalled when the system is booted again.
- Scan-Assistent does not recognize a working network connection - ignore this
- Clean shutdown after scanning or signature update - just reset your PC
