1. **파일 및 디렉토리 권한 설정:**
리눅스에서는 `chmod` 명령어를 사용하여 파일 및 디렉토리의 권한을 설정할 수 있습니다. 이를 통해 누구에게 읽기, 쓰기, 실행 권한이 있는지를 제어할 수 있습니다. 예를 들어 중요한 설정 파일의 권한을 설정하여 그 파일을 루트 사용자만 수정 가능하도록 할 수 있습니다.
```bash
# 중요한 구성 파일의 권한을 설정하여 오직 루트만 접근 가능하게 함
chmod 600 /etc/important_config.conf
```
2. **방화벽 설정:**
`iptables` 또는 `firewalld`를 사용하여 들어오고 나가는 네트워크 트래픽을 제어할 수 있습니다. 이는 외부로부터의 불필요한 접근을 차단하는 데 유용합니다.
```bash
# iptables를 사용하여 특정 포트 차단
iptables -A INPUT -p tcp --dport 22 -j DROP
```
3. **SSH 보안 강화:**
SSH 프로토콜을 이용해 원격으로 시스템에 접근할 때, 기본적인 보안 설정을 강화할 수 있습니다. 예를 들어, 패스워드 인증 대신 Public Key 인증을 사용하고, 루트 사용자로의 직접 접근을 막습니다.
```bash
# /etc/ssh/sshd_config 파일 수정 예시
PasswordAuthentication no
PermitRootLogin no
```
4. **자동 업데이트 설정:**
`yum-cron` 또는 `unattended-upgrades`를 사용하여 보안 패치가 자동으로 시스템에 적용되도록 설정할 수 있습니다. 이를 통해 최신 보안 패치를 신속히 적용할 수 있습니다.
```bash
# Debian/Ubuntu 시스템에서 자동 업데이트 설정
apt-get install unattended-upgrades
dpkg-reconfigure unattended-upgrades
```
5. **로그 모니터링:**
시스템의 로그 파일을 정기적으로 모니터링하는 것은 비정상적인 활동을 감지하는 데 도움이 됩니다. `logwatch` 또는 `syslog`를 사용하여 로그 분석을 자동화할 수 있습니다.
```bash
# logwatch를 통해 시스템 로그를 일일 리포트로 받도록 설정
yum install logwatch
logwatch --detail High --mailto your_email@example.com --service All --range today
```
리눅스 보안 설정은 시스템의 종류와 사용 목적에 따라 다양하게 적용될 수 있습니다. 위의 방법들은 일반적인 보안 수준을 강화하는 데 유용하며, 각 환경에 맞춰 추가적인 보안 검토와 적용이 필요할 수 있습니다.