차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
| 파일_및_디렉터리_관리 [2021/12/23 02:38] – fatp11th | 파일_및_디렉터리_관리 [2022/01/11 08:21] (현재) – [접속 IP 및 포트 제한] fatp11th | ||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| - | ===root 홈, 패스 디렉터리 권한 및 패스 설정=== | + | ====root 홈, 패스 디렉터리 권한 및 패스 설정==== |
| - | + | ||
| - | / | + | |
| + | ''/ | ||
| + | <WRAP prewrap> | ||
| + | <code vim> | ||
| (수정 전) PATH=.: | (수정 전) PATH=.: | ||
| (수정 후) PATH=$PATH: | (수정 후) PATH=$PATH: | ||
| + | </ | ||
| + | </ | ||
| \\ | \\ | ||
| - | ===파일 및 디렉터리 소유자 설정=== | + | ====파일 및 디렉터리 소유자 설정==== |
| 소유자가 존재하지 않는 파일 및 디렉터리를 삭제 및 관리 | 소유자가 존재하지 않는 파일 및 디렉터리를 삭제 및 관리 | ||
| + | <WRAP prewrap> | ||
| + | <code bash> | ||
| + | #find / -nouser -print | ||
| + | </ | ||
| + | </ | ||
| + | |||
| - | find / -nouser -print | ||
| \\ | \\ | ||
| - | ===/ | + | ====/ |
| - | /etc/passwd 권한 확인 후 | + | '' |
| + | <WRAP prewrap> | ||
| + | <code bash> | ||
| + | #chmod 644 / | ||
| + | #chown root / | ||
| + | </ | ||
| + | </ | ||
| - | chmod 644 /etc/passwd | ||
| - | chown root /etc/passwd | ||
| \\ | \\ | ||
| - | ===/ | + | ====/ |
| + | |||
| + | ''/ | ||
| + | <WRAP prewrap> | ||
| + | <code bash> | ||
| + | #chmod 400 / | ||
| + | #chown root / | ||
| + | </ | ||
| + | </ | ||
| - | /etc/shadow 권한 확인 후 | ||
| - | chmod 400 /etc/shadow | ||
| - | chown root /etc/shadow | ||
| \\ | \\ | ||
| - | ===/ | + | ====/ |
| - | chmod 600 / | + | ''/ |
| - | chown root /etc/hosts | + | |
| + | <WRAP prewrap> | ||
| + | <code bash> | ||
| + | #chmod 600 / | ||
| + | #chown root /etc/hosts | ||
| + | </ | ||
| + | </ | ||
| + | |||
| \\ | \\ | ||
| - | / | + | ====/ |
| - | “/ | + | '' |
| - | # | + | <WRAP prewrap> |
| - | # | + | <code bash> |
| - | ※ "/ | + | #chown root / |
| + | #chmod 600 / | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ※ '' | ||
| \\ | \\ | ||
| - | / | + | ====/ |
| CentOS6 이상 | CentOS6 이상 | ||
| - | #chown root / | + | <WRAP prewrap> |
| - | # | + | <code bash> |
| + | #chown root / | ||
| + | #chmod 640 / | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| \\ | \\ | ||
| - | / | + | ====/ |
| - | # | + | <WRAP prewrap> |
| - | # | + | <code bash> |
| + | #chown root / | ||
| + | #chmod 644 / | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | |||
| \\ | \\ | ||
| - | SUID, SGID, Sticky bit 설정 파일 점검 | + | ====SUID, SGID, Sticky bit 설정 파일 점검==== |
| Step 1) 제거 방법 | Step 1) 제거 방법 | ||
| - | #chmod -s < | + | <WRAP prewrap> |
| + | <code bash> | ||
| + | #chmod -s < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| Step 2) 주기적인 감사 방법 | Step 2) 주기적인 감사 방법 | ||
| - | #find / -xdev -user root -type f \( -perm -04000 -o -perm -02000 \) -exec ls –al {} \; | + | <WRAP prewrap> |
| + | <code bash> | ||
| + | #find / -xdev -user root -type f \( -perm -04000 -o -perm -02000 \) -exec ls –al {} \; | ||
| + | </ | ||
| + | </ | ||
| + | |||
| Step 3) 반드시 사용이 필요한 경우 특정 그룹에서만 사용하도록 제한하는 방법 | Step 3) 반드시 사용이 필요한 경우 특정 그룹에서만 사용하도록 제한하는 방법 | ||
| 일반 사용자의 Setuid 사용을 제한함 (임의의 그룹만 가능) | 일반 사용자의 Setuid 사용을 제한함 (임의의 그룹만 가능) | ||
| - | #/ | + | <WRAP prewrap> |
| - | #/ | + | <code bash> |
| + | #/ | ||
| + | #/ | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | ====사용자, | ||
| + | ※ 환경변수 파일 종류: '' | ||
| + | <WRAP prewrap> | ||
| + | <code bash> | ||
| + | #ls -l .bash_profile | ||
| + | 일반 사용자 쓰기 권한 제거 | ||
| + | #chmod o-w .bash_profile | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | ====world writable 파일 점검==== | ||
| + | world writable 파일: 파일의 내용을 소유자나 그룹 외 모든 사용자에 대해 쓰기가 허용된 파일 (예 : rwxrwxrwx root root < | ||
| + | <WRAP prewrap> | ||
| + | <code bash> | ||
| + | #find / -type f -perm -2 -exec ls -l {} \; | ||
| + | 일반 사용자 쓰기 권한 제거 | ||
| + | #chmod o-w <file name> | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | \\ | ||
| + | ====/dev에 존재하지 않는 device 파일 점검 ==== | ||
| + | <WRAP prewrap> | ||
| + | <code bash> | ||
| + | #find /dev -type f -exec ls -l {} \; | ||
| + | major, minor number를 가지지 않는 device일 경우 삭제 | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | \\ | ||
| + | ====$HOME/ | ||
| + | <WRAP prewrap> | ||
| + | <code bash> | ||
| + | #ls -al / | ||
| + | #chown root / | ||
| + | #chmod 600 / | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ''/ | ||
| + | <WRAP prewrap> | ||
| + | <code bash> | ||
| + | #cat / | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | \\ | ||
| + | ====접속 IP 및 포트 제한==== | ||
| + | |||
| + | Step 1) vi 편집기를 이용하여 ''/ | ||
| + | |||
| + | Step 2) 아래와 같이 수정 또는, 신규 삽입 (ALL Deny 설정) | ||
| + | <WRAP prewrap> | ||
| + | <code vim> | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Step 3) vi 편집기를 이용하여 ''/ | ||
| + | <WRAP prewrap> | ||
| + | <code vim> | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | | ||
| + | |||
| + | < TCP Wrapper 접근제어 가능 서비스 > | ||
| + | SYSTAT, FINGER, FTP, TELNET, RLOGIN, RSH, TALK, EXEC, TFTP, SSH | ||
| + | |||
| + | < TCP Wrapper는 다음 두 파일에 의해 접근이 제어됨 > | ||
| + | |||
| + | ''/ | ||
| + | ''/ | ||
| + | |||
| + | 위의 두파일이 존재하지 않은 시 --> 모든 접근 허용 | ||
| + | |||
| + | ===RHEL 8이상=== | ||
| + | |||
| + | RHEL/CentOS 8 버전에서는 ''/ | ||
| + | 파일을 생성 후 기존 과 같이 허용이나 차단에 대한 룰을 입력 하여도 적용이 되지 않습니다. | ||
| + | |||
| + | 즉, 8 버전에서는 sshd 패키지에 libwrap 라이브러리 참조를 제거 한 것이라고 볼 수 있으며 | ||
| + | 그래서 8 버전부터는 ''/ | ||
| + | <WRAP prewrap> | ||
| + | <code bash> | ||
| + | 특정 IP만 허용 | ||
| + | # | ||
| + | 특정 IP만 제거 | ||
| + | # | ||
| + | IP대역 허용 | ||
| + | # | ||
| + | 서비스 포트 허용 | ||
| + | # | ||
| + | 서비스 포트 범위 허용 | ||
| + | # | ||
| + | 방화벽 적용 | ||
| + | # | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | 참고자료 | ||
| + | https:// | ||
| + | \\ | ||
| + | ====hosts.lpd 파일 소유자 및 권한 설정 ==== | ||
| + | <WRAP prewrap> | ||
| + | <code bash> | ||
| + | Step 1) hosts.lpd 파일 삭제 | ||
| + | #rm –rf / | ||
| + | Step 2) 파일의 퍼미션 변경 (hosts.lpd 파일이 필요시) | ||
| + | # | ||
| + | Step 3) 소유자를 root로 변경 (hosts.lpd 파일이 필요시) | ||
| + | # | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | \\ | ||
| + | ====UMASK 설정 관리 ==== | ||
| + | |||
| + | umask 확인 | ||
| + | 수정이 필요할 경우 | ||
| + | ''/ | ||
| + | <WRAP prewrap> | ||
| + | <code vim> | ||
| + | umask 022 | ||
| + | export umask | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | ====홈디렉토리 소유자 및 권한 설정==== | ||
| + | |||
| + | ''/ | ||
| + | <WRAP prewrap> | ||
| + | <code bash> | ||
| + | #chown < | ||
| + | #chmod o-w < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | ====홈디렉토리로 지정한 디렉토리의 존재 관리==== | ||
| + | |||
| + | ''/ | ||
| + | |||
| + | <WRAP prewrap> | ||
| + | <code bash> | ||
| + | Step 1) 홈 디렉터리가 없는 사용자 계정 삭제 | ||
| + | # | ||
| + | Step 2) 홈 디렉터리가 없는 사용자 계정에 홈 디렉터리 지정 | ||
| + | #vi / | ||
| + | # | ||
| + | # | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | ====숨겨진 파일 및 디렉토리 검색 및 제거 ==== | ||
| + | <WRAP prewrap> | ||
| + | <code bash> | ||
| + | 특정 디렉터리 내 불필요한 파일 점검 | ||
| + | #ls -al [디렉터리명] | ||
| + | 전체 숨김 디렉터리 및 숨김 파일 점검 | ||
| + | #find / -type f –name " | ||
| + | #find / -type d -name " | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | Step 1) 숨겨진 파일 목록에서 불필요한 파일 삭제 | ||
| + | Step 2) 마지막으로 변경된 시간에 따라, 최근 작업한 파일 확인 시 -t 옵션으로 수정 시간 순 정렬 확인 | ||
| + | \\ | ||
| + | |||