Clamav 설치 및 Nextcloud 연동
Linux 용 무료 백신 프로그램 입니다.
Nextcloud docs 에 보면 antivirus scanner 항목에서 설명을 확인할 수 있습니다.
바이러스를 삭제할 수 있게 되어 있는 것으로 보입니다.
설치 방법
Ubuntu 서버에 설치하는 방법과 Docker Container로 설치하는 방법이 있습니다.
Ubuntu에 설치하게 되면 설치된 Clamav 하나로 Nextcloud Container와 연동할 수 있습니다.
Clamav를 Docker Container로 설치하고 Nextcloud 와 연동하게 되면,
Ubuntu 서버에는 Clamav 를 설치하거나 다른 antivirus 프로그램을 설치하여야 되겠습니다.
하나의 antivirus 프로그램으로 Ubuntu 서버와 Nextcloud Container를 동시에 관리한다는
측면에서는 장점이 되지만, 아래 참고 내용과 같이 제가 아직 완전히 해결하지 못한 오류가 있습니다.
Nextcloud 만을 위한 antivirus 프로그램을 사용하려면 Docker 설치가 좀 더 편리하겠습니다.
※ 참고.
Ubuntu 서버에 설치하고 Nextcloud 와 연동하였을 때, 오류가 발생하는 경우가 있습니다.
대표적으로 Permission denied 인데 Ubuntu 서버를 재 부팅 하게 되면 종종 발생하는 것으로,
Nextcloud 가 서버의 Clamav 파일에 대한 수정 권한이 부여가 되지 않아서 입니다.
권한 부여 등 몇 가지 해결 방법을 확인 중입니다.
1. Ubuntu 환경에서 설치
1) putty 로 서버에 root 관리자로 접속합니다.
2) apt update 및 clamav apt을 설치합니다.
clamav docs 에서 packages 를 확인할 수 있습니다.
세 가지를 기본 설치하면 되겠습니다. clamav, clamav-daemon, clamav-freshclam 입니다.
apt update
apt upgrade
apt autoremve
apt install clamav clamav-daemon clamav-freshclam
처음 설치 시에는 virus database 를 다운로드 하기 때문에 시간이 조금 걸립니다.
freshclam updating 을 확인하려면 아래 명령어를 입력하면 되겠습니다.
cat /var/log/clamav/freshclam.log
3) clamav scanner 가 준비가 되었는지 확인하고, 필요 시 재시작하시면 됩니다.
상태 확인
systemctl status clamav-daemon.service
fail 이나 오류가 확인된다면 재시작 해야 됩니다.
위 명령어 실행 후 '(END)' 라는 표시에서 진행이 되지 않으면,
q 를 입력하면 명령어 입력으로 전환됩니다.
서비스 재 시작 및 확인
systemctl restart clamav-daemon.service
systemctl status clamav-daemon.service
재 시작하게 되면 정상적으로 작동하는 것을 확인할 수 있습니다.
2. Nextcloud 연동 - install clamav on the host server (ubuntu)
1) Nextcloud 의 우측 상단 프로필을 클릭하여 +앱 에서 Antivirus for files를 설치를 해줍니다.
2) 관리자 설정 - 관리 - 보안 에서 파일 안티바이러스 항목을 확인할 수 있습니다.
3) 위와 같이 내용을 입력하고 저장을 클릭합니다. 문제가 없다면 '저장됨' 이라는 녹색 배경의 문구가 표시됩니다.
3. Portainer 환경에서 설치 및 Nextcloud 연동 - install clamav via Docker
1) Portainer에서 Stack을 작성합니다.
version: '3.3'
services:
clamav:
image: clamav/clamav:stable_base
container_name: clamav
volumes:
# Socket
- /data_set/clamav/run/:/var/run/clamav/
# Virus DB
- /data-set/clamav/lib/:/var/lib/clamav/
restart: unless-stopped
노란색 영역은 사용자 환경에 맞는 디렉토리 경로를 설정하시면 됩니다.
2) clamav Container를 nextcloud 의 network에 포함시켜 줍니다.
3) '2.' 항목에서와 같이, Nextcloud에 앱을 설치하고 보안 항목으로 이동합니다.
4) 위의 내용과 같이 입력하고 저장하여 줍니다.
호스트는 Container name 으로 입력하시면 되고, 포트는 기본 3310으로 설정되어 있습니다.
위의 Clamav 를 Nextcloud 에 연동시키는 두 가지 방법에서 원하는 방식을 선택하시면 되겠습니다.