파일 공유 서버는 대용량의 파일을 다수의 사용자가 저장하고 조회하는 서비스임
리눅스와 리눅스 사이에서 네트워크로 파일 공유시 NFS를 사용하고,
리눅스와 인도우 사이에서 파일을 공유할 때는 SMB/CIFS 통신 프로토콜을 지원하여 프린터나
파일을 공유할 수 있는 삼바(Samba)라는 서비스 소프트웨어 사용
공격자는 파일 공유 통신 포트인 TCP 139, 445번 포트가 열렸는지 스캔하여 공격 침투함
안전한 파일 공유 서버 구축
1. 공유 프로토콜 선택:
- Samba (SMB/CIFS): 윈도우 환경과 호환성이 뛰어나지만, 설정과 관리 주의
- NFS (Network File System): 리눅스 환경에서 효율적이지만, 보안 설정 중요
- SFTP (SSH File Transfer Protocol): SSH를 통해 암호화된 전송을 제공하여 보안성이 높음
- WebDAV: 웹을 통해 파일 공유를 가능하게 하지만, 설정과 관리에 주의
2. 서버 보안 강화:
- 최신 버전 유지: 운영체제와 관련 소프트웨어를 최신 버전으로 업데이트하여 알려진 취약점을 해결
- 방화벽 설정: UFW(Uncomplicated Firewall) 등을 사용하여 필요한 포트만 개방하고 불필요한 접근을 차단 (예: SSH 포트, 공유 프로토콜 포트 등)
- SSH 보안 강화: SSH 포트 변경, root 로그인 제한, 공개 키 인증 방식 사용 등을 통해 SSH 접근을 안전하게 관리
- 보안 스캐너 사용: 정기적으로 보안 취약점을 점검하고 개선
3. 사용자 및 접근 관리:
- 강력한 비밀번호: 사용자 계정에 강력한 비밀번호를 설정하고 정기적으로 변경
- 최소 권한 원칙: 사용자에게 필요한 최소한의 권한만 부여
- 그룹 관리: 사용자를 그룹으로 묶어 권한을 관리하면 효율적이고 일관성 있게 접근 권한을 설정
- 접근 제어 목록 (ACL): 파일과 디렉토리에 대한 접근 권한을 세밀하게 제어
4. 파일 공유 설정:
- 공유 디렉토리 접근 권한 설정: 공유 디렉토리에 대한 접근 권한을 신중하게 설정. 읽기, 쓰기, 실행 권한을 필요한 사용자/그룹에게만 부여합니다.
- Samba 설정: smb.conf 파일을 편집하여 적절한 설정을 적용합니다. valid users, read only, create mask 등의 옵션을 활용하여 보안과 접근 제어를 강화
- NFS 설정: /etc/exports 파일을 편집하여 접근을 허용할 클라이언트 IP 주소 또는 네트워크를 지정.
- SFTP 설정: SFTP 서버 설정에서 사용자에게 특정 디렉토리만 접근을 허용하도록 제한
5. 데이터 보안:
- 전송 암호화: SFTP, HTTPS 등의 보안 프로토콜을 사용하여 전송 중인 데이터를 암호화
- 저장 암호화: 디스크 암호화 기능을 사용하여 저장된 데이터를 보호
- 데이터 백업: 정기적으로 데이터를 백업
6. 모니터링 및 감사:
- 로그 분석: 시스템 로그를 정기적으로 분석하여 비정상적인 활동을 탐지
- 보안 모니터링 도구: Fail2ban, logwatch 등의 도구를 사용하여 보안 위협을 감지하고 대응
- 침입 탐지 시스템 (IDS/IPS): 필요에 따라 침입 탐지 시스템을 도입하여 실시간으로 위협을 감지하고 차단
이러한 방법들을 종합적으로 적용하여 리눅스 서버 환경에서 비교적 안전한 파일 공유 서버를 구축
특히 TCP/UDP 139번, 445번 포트에 방화벽을 설정 해 접근을 제어하고 정기적으로 보안 패치를 진행
'Security' 카테고리의 다른 글
Security_DNS 서버 해킹&보안 (1) | 2025.02.07 |
---|---|
Security_메일 서버 보안 (2) | 2025.02.04 |
Security_FTP 해킹 (1) | 2025.01.23 |
Security_원격 접속 해킹 (0) | 2025.01.23 |
Security_데이터베이스 해킹 & 보안 (1) | 2025.01.13 |