파일_및_디렉터리_관리

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
파일_및_디렉터리_관리 [2022/01/11 07:53] – [/etc/(x)inetd.conf 파일 소유자 및 권한 설정] fatp11th파일_및_디렉터리_관리 [2022/01/11 08:21] (현재) – [접속 IP 및 포트 제한] fatp11th
줄 72: 줄 72:
 ====/etc/syslog.conf 파일 소유자 및 권한 설정==== ====/etc/syslog.conf 파일 소유자 및 권한 설정====
 CentOS6 이상 CentOS6 이상
- #chown root /etc/rsyslog.conf +<WRAP prewrap> 
- #chmod 640 /etc/rsyslog.conf+<code bash> 
 +#chown root /etc/rsyslog.conf 
 +#chmod 640 /etc/rsyslog.conf 
 +</code> 
 +</WRAP> 
 + 
 + 
 \\ \\
 ====/etc/services 파일 소유자 및 권한 설정==== ====/etc/services 파일 소유자 및 권한 설정====
- #chown root /etc/services +<WRAP prewrap> 
- #chmod 644 /etc/services+<code bash> 
 +#chown root /etc/services 
 +#chmod 644 /etc/services 
 + 
 +</code> 
 +</WRAP> 
 + 
 \\ \\
 ====SUID, SGID, Sticky bit 설정 파일 점검==== ====SUID, SGID, Sticky bit 설정 파일 점검====
 Step 1) 제거 방법 Step 1) 제거 방법
- #chmod -s <file_name>+<WRAP prewrap> 
 +<code bash> 
 +#chmod -s <file_name> 
 +</code> 
 +</WRAP> 
 + 
 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 {} \; 
 +</code> 
 +</WRAP> 
 + 
 Step 3) 반드시 사용이 필요한 경우 특정 그룹에서만 사용하도록 제한하는 방법 Step 3) 반드시 사용이 필요한 경우 특정 그룹에서만 사용하도록 제한하는 방법
 일반 사용자의 Setuid 사용을 제한함 (임의의 그룹만 가능) 일반 사용자의 Setuid 사용을 제한함 (임의의 그룹만 가능)
- #/usr/bin/chgrp <group_name> <setuid_file_name> +<WRAP prewrap> 
- #/usr/bin/chmod 4750 <setuid_file_name>+<code bash> 
 +#/usr/bin/chgrp <group_name> <setuid_file_name> 
 +#/usr/bin/chmod 4750 <setuid_file_name> 
 + 
 +</code> 
 +</WRAP> 
 \\ \\
 ====사용자, 시스템 시작파일 및 환경파일 소유자 및 권한 설정==== ====사용자, 시스템 시작파일 및 환경파일 소유자 및 권한 설정====
-※ 환경변수 파일 종류: .profile.kshrc.cshrc.bashrc.bash_profile.login".exrc.netrc” 등 +※ 환경변수 파일 종류: ''.profile''''.kshrc''''.cshrc''''.bashrc''''.bash_profile''''.login''''.exrc''''.netrc'' 등 
-ls -l .bash_profile +<WRAP prewrap> 
 +<code bash> 
 +#ls -l .bash_profile 
 일반 사용자 쓰기 권한 제거 일반 사용자 쓰기 권한 제거
-chmod o-w .bash_profile+#chmod o-w .bash_profile 
 + 
 +</code> 
 +</WRAP> 
 \\ \\
 ====world writable 파일 점검==== ====world writable 파일 점검====
 world writable 파일: 파일의 내용을 소유자나 그룹 외 모든 사용자에 대해 쓰기가 허용된 파일 (예 : rwxrwxrwx root root <파일명>) world writable 파일: 파일의 내용을 소유자나 그룹 외 모든 사용자에 대해 쓰기가 허용된 파일 (예 : rwxrwxrwx root root <파일명>)
-find / -type f -perm -2 -exec ls -l {} \;+<WRAP prewrap> 
 +<code bash> 
 +#find / -type f -perm -2 -exec ls -l {} \;
 일반 사용자 쓰기 권한 제거 일반 사용자 쓰기 권한 제거
-chmod o-w <file name>+#chmod o-w <file name> 
 +</code> 
 +</WRAP> 
 + 
 \\ \\
 ====/dev에 존재하지 않는 device 파일 점검 ==== ====/dev에 존재하지 않는 device 파일 점검 ====
-find /dev -type f -exec ls -l {} \;+<WRAP prewrap> 
 +<code bash> 
 +#find /dev -type f -exec ls -l {} \;
 major, minor number를 가지지 않는 device일 경우 삭제 major, minor number를 가지지 않는 device일 경우 삭제
 +</code>
 +</WRAP>
 +
 +
 \\ \\
 ====$HOME/.rhosts, hosts.equiv 사용 금지==== ====$HOME/.rhosts, hosts.equiv 사용 금지====
-ls -al /etc/hosts.equiv 소유자 및 권한 확인+<WRAP prewrap> 
 +<code bash> 
 +#ls -al /etc/hosts.equiv       소유자 및 권한 확인
 #chown root /etc/hosts.equiv #chown root /etc/hosts.equiv
 #chmod 600 /etc/hosts.equiv #chmod 600 /etc/hosts.equiv
-/etc/hosts.equiv” 및 $HOME/.rhosts” 파일에서 +를 제거하고 허용 호스트 및 계정 등록+ 
 +</code> 
 +</WRAP> 
 + 
 +''/etc/hosts.equiv'' 및 ''$HOME/.rhosts'' 파일에서 ''+''를 제거하고 허용 호스트 및 계정 등록 
 +<WRAP prewrap> 
 +<code bash>
  #cat /etc/hosts.equiv (or $HOME/.rhosts)  #cat /etc/hosts.equiv (or $HOME/.rhosts)
 +</code>
 +</WRAP>
 +
 +
 \\ \\
 ====접속 IP 및 포트 제한==== ====접속 IP 및 포트 제한====
-Step 1) vi 편집기를 이용하여 /etc/hosts.deny” 파일 열기 (해당 파일이 없을 경우 새로 생성)+ 
 +Step 1) vi 편집기를 이용하여 ''/etc/hosts.deny'' 파일 열기 (해당 파일이 없을 경우 새로 생성) 
 Step 2) 아래와 같이 수정 또는, 신규 삽입 (ALL Deny 설정) Step 2) 아래와 같이 수정 또는, 신규 삽입 (ALL Deny 설정)
 +<WRAP prewrap>
 +<code vim>
  (수정 전) 설정 없음  (수정 전) 설정 없음
  (수정 후) ALL:ALL  (수정 후) ALL:ALL
-Step 3) vi 편집기를 이용하여 /etc/hosts.allow” 파일 열기 (해당 파일이 없을 경우 생성)+</code> 
 +</WRAP> 
 + 
 +Step 3) vi 편집기를 이용하여 ''/etc/hosts.allow'' 파일 열기 (해당 파일이 없을 경우 생성) 
 +<WRAP prewrap> 
 +<code vim>
  (수정 전) 설정 없음  (수정 전) 설정 없음
  (수정 후) sshd : 192.168.0.148, 192.168.0.6  (수정 후) sshd : 192.168.0.148, 192.168.0.6
 +</code>
 +</WRAP>
 +
 +
  (다른 서비스도 동일한 방식으로 설정)  (다른 서비스도 동일한 방식으로 설정)
 +
  < TCP Wrapper 접근제어 가능 서비스 >  < TCP Wrapper 접근제어 가능 서비스 >
   SYSTAT, FINGER, FTP, TELNET, RLOGIN, RSH, TALK, EXEC, TFTP, SSH   SYSTAT, FINGER, FTP, TELNET, RLOGIN, RSH, TALK, EXEC, TFTP, SSH
 +  
  < TCP Wrapper는 다음 두 파일에 의해 접근이 제어됨 >  < TCP Wrapper는 다음 두 파일에 의해 접근이 제어됨 >
- /etc/hosts.deny --> 시스템 접근을 제한할 IP 설정 + 
-  /etc/hosts.allow --> 시스템 접근을 허용할 IP 설정+ ''/etc/hosts.deny''  --> 시스템 접근을 제한할 IP 설정 
 + ''/etc/hosts.allow'' --> 시스템 접근을 허용할 IP 설정 
   위의 두파일이 존재하지 않은 시 --> 모든 접근 허용   위의 두파일이 존재하지 않은 시 --> 모든 접근 허용
 +  
 ===RHEL 8이상=== ===RHEL 8이상===
-RHEL/CentOS 8 버전에서는 /etc/hosts.allow 나 /etc/hosts.deny 파일이 확인 되지 않으며+ 
 +RHEL/CentOS 8 버전에서는 ''/etc/hosts.allow'' 나 ''/etc/hosts.deny'' 파일이 확인 되지 않으며
 파일을 생성 후 기존 과 같이 허용이나 차단에 대한 룰을 입력 하여도 적용이 되지 않습니다. 파일을 생성 후 기존 과 같이 허용이나 차단에 대한 룰을 입력 하여도 적용이 되지 않습니다.
 +
 즉, 8 버전에서는 sshd 패키지에 libwrap 라이브러리 참조를 제거 한 것이라고 볼 수 있으며  즉, 8 버전에서는 sshd 패키지에 libwrap 라이브러리 참조를 제거 한 것이라고 볼 수 있으며 
-그래서 8 버전 부터는 /etc/hosts.deny 등을 통해 차단이 아닌 OS 방화벽인 firewalls 를 통해 차단을 수행 해야 합니다.+그래서 8 버전부터는 ''/etc/hosts.deny'' 등을 통해 차단이 아닌 OS 방화벽인 ''firewalls''를 통해 차단을 수행 해야 합니다. 
 +<WRAP prewrap> 
 +<code bash>
 특정 IP만 허용 특정 IP만 허용
-firewall-cmd --permanent --add-source=10.10.10.10+#firewall-cmd --permanent --add-source=10.10.10.10
 특정 IP만 제거 특정 IP만 제거
-firewall-cmd --permanent --remove-source=10.10.10.10+#firewall-cmd --permanent --remove-source=10.10.10.10
 IP대역 허용 IP대역 허용
-firewall-cmd --permanent --add-source=10.10.10.0/24+#firewall-cmd --permanent --add-source=10.10.10.0/24
 서비스 포트 허용 서비스 포트 허용
-firewall-cmd --permanent --add-port=80/tcp+#firewall-cmd --permanent --add-port=80/tcp
 서비스 포트 범위 허용 서비스 포트 범위 허용
-firewall-cmd --permanent --add-port=1000-2000/tcp+#firewall-cmd --permanent --add-port=1000-2000/tcp
 방화벽 적용 방화벽 적용
-firewall-cmd --reload+#firewall-cmd --reload 
 +</code> 
 +</WRAP> 
  
 참고자료 참고자료
줄 149: 줄 234:
 \\ \\
 ====hosts.lpd 파일 소유자 및 권한 설정 ==== ====hosts.lpd 파일 소유자 및 권한 설정 ====
 +<WRAP prewrap>
 +<code bash>
 Step 1) hosts.lpd 파일 삭제 Step 1) hosts.lpd 파일 삭제
  #rm –rf /etc/hosts.lpd  #rm –rf /etc/hosts.lpd
줄 155: 줄 242:
 Step 3) 소유자를 root로 변경 (hosts.lpd 파일이 필요시) Step 3) 소유자를 root로 변경 (hosts.lpd 파일이 필요시)
  #chown root /etc/hosts.lpd  #chown root /etc/hosts.lpd
 +</code>
 +</WRAP>
 +
 +
 \\ \\
 ====UMASK 설정 관리 ==== ====UMASK 설정 관리 ====
 +
 umask 확인 umask 확인
 수정이 필요할 경우 수정이 필요할 경우
-/etc/profile 파일 내 다음과 같이 수정+''/etc/profile'' 파일 내 다음과 같이 수정 
 +<WRAP prewrap> 
 +<code vim>
 umask 022 umask 022
 export umask export umask
 +
 +</code>
 +</WRAP>
 +
 \\ \\
 ====홈디렉토리 소유자 및 권한 설정==== ====홈디렉토리 소유자 및 권한 설정====
-/etc/passwd” 파일의 소유자 및 권한 변경 + 
- #chown <user_name> <user_home_directory> +''/etc/passwd'' 파일의 소유자 및 권한 변경 
- #chmod o-w <user_home_directory>+<WRAP prewrap> 
 +<code bash> 
 +#chown <user_name> <user_home_directory> 
 +#chmod o-w <user_home_directory> 
 +</code> 
 +</WRAP> 
 \\ \\
 ====홈디렉토리로 지정한 디렉토리의 존재 관리==== ====홈디렉토리로 지정한 디렉토리의 존재 관리====
-passwd 파일에 설정된 홈디렉터리가 존재하지 않는 경우, 해당 계정으로 로그인시  
-홈디렉터리가 루트 디렉터리(“/“)로 할당되어 접근이 가능함 
  
 +''/etc/passwd'' 파일에 설정된 홈디렉터리가 존재하지 않는 경우, 해당 계정으로 로그인시 홈디렉터리가 루트 디렉터리(''/'')로 할당되어 접근이 가능함
 +
 +<WRAP prewrap>
 +<code bash>
 Step 1) 홈 디렉터리가 없는 사용자 계정 삭제 Step 1) 홈 디렉터리가 없는 사용자 계정 삭제
  #userdel <user_name>  #userdel <user_name>
줄 178: 줄 284:
  #test:x:501:501::/:/bin/bash (홈 디렉터리가 /로 설정 된 경우)  #test:x:501:501::/:/bin/bash (홈 디렉터리가 /로 설정 된 경우)
  #test:x:501:501::/home/test:/bin/bash (홈 디렉터리 수정 / -> /home/test)  #test:x:501:501::/home/test:/bin/bash (홈 디렉터리 수정 / -> /home/test)
 +</code>
 +</WRAP>
 +
 \\ \\
 ====숨겨진 파일 및 디렉토리 검색 및 제거 ==== ====숨겨진 파일 및 디렉토리 검색 및 제거 ====
 +<WRAP prewrap>
 +<code bash>
 특정 디렉터리 내 불필요한 파일 점검 특정 디렉터리 내 불필요한 파일 점검
 #ls -al [디렉터리명] #ls -al [디렉터리명]
줄 185: 줄 296:
 #find / -type f –name ".*" (파일 점검) #find / -type f –name ".*" (파일 점검)
 #find / -type d -name ".*" (디렉터리 점검) #find / -type d -name ".*" (디렉터리 점검)
 +</code>
 +</WRAP>
 +
 +
 Step 1) 숨겨진 파일 목록에서 불필요한 파일 삭제 Step 1) 숨겨진 파일 목록에서 불필요한 파일 삭제
 Step 2) 마지막으로 변경된 시간에 따라, 최근 작업한 파일 확인 시 -t 옵션으로 수정 시간 순 정렬 확인  Step 2) 마지막으로 변경된 시간에 따라, 최근 작업한 파일 확인 시 -t 옵션으로 수정 시간 순 정렬 확인 
  • 파일_및_디렉터리_관리.1641887614.txt.gz
  • 마지막으로 수정됨: 2022/01/11 07:53
  • 저자 fatp11th