ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 서비스별 보안 기능
    System/Linux 2020. 5. 22. 17:51

    samba, ssh, ftp, apache, dns, nfs 의 보안기능에 대해 알아보겠습니다.

     

    이 서비스들 중에 보안기능이 없는 서비스는 DNS 뿐입니다.

    보안기능이 없는 이유는 필요없기 때문입니다.

     

    그 외에 다른 서비스들은 모두 계정관리가 필요하며 보안기능이 있어 그에 대한 설정이 필요합니다.

     

     

    Samba서버

    사용자 관리 : 'smbpasswd [-a] 유저명'로 할수 있다.

    설정 파일 : /etc/samb.conf

     

    - follow symlinks = yes 로 심볼링 링크 디렉토리에 대한 접근제어를 할수 있다.

     

    - tcp wrapper로 원하는 ip주소에 대한 접속 제어를 할수 있다.

     

    - chroot는 기본으로 적용되어있다.

     

     

    FTP서버

    PAM 모듈 : /etc/pam.d/vsftpd
    접근 제한 파일 : /etc/vsftpd/ftpusers
                          /etc/vsftpd/user_list

     

    - Active/Passive mode 설정
    pasv_enable=NO(default : YES)

    액티브모드와 패시브모드 중 어떤걸 쓸지에 대한건 클라이언트에서 정하지만 이 설정으로 강제할 수 있다.

     

    - anonymous_enable=NO 익명 사용자에 대한 접근 제어를 할수 있다.

     

    - tcp_wrappers=YES로 원하는 ip주소에 대한 접속 제어를 할수 있다.

     

    - chroot

    chroot_local_user=YES (d:No)

    (yes는 기본정책이 allow이고 NO는 deny이다.)
    chroot_list_enable=YES

    chroot_list_file=/etc/vsftpd/chroot_list

    allow_writeable_chroot=YES

     

    - 사용자 접근 제어

    userlist_enable=YES

    userlist_deny=NO

    위와 같이 설정하면 user_list 파일에 등록된 사용자만 접속이 가능하다.

    pam_service_name = vsftpd 를 설정하면 /etc/pam.d/에 설정 파일이 만들어진다.

    그 설정파일의 sense=deny 설정을 allow로 바꾸면 /etc/vaftpd/ftpusers에 등록된 사용자만 접속이 허용된다.

     

     

    NFS서버

    설정 파일 : /etc/exports

     

    - 파일 권한

    ro : 읽기 전용, rw : 읽기 쓰기 허용

     

    - 사용자 접근 제어
    root_squash : 클라이언트의 root를 nobody로 매핑
    no_root_squash : 클라이언트의 root와 서버의 root를 일치시킨다.
    all_squash : 모든 사용자를 nobody로 매핑
    no_all_squash : 서버의 사용자와 클라이언트의 사용자를 일치시킨다.

     

    SSH서버

    설정 파일 : /etc/ssh/sshd_config

    공개키 저장 경로 : $HOME/.ssh/

    #ListenAddress                    여러 개의 IP중 SSH이용할 IP
    #PermitRootLogin yes           Root 계정 로그인 허용
    #PermitEmptyPasswords no   암호 없는 계정에 대한 접속 여부

    subsystem sftp /usr/libexec/openssh/sftp-server         sftp 서버 지정

     

    - 사용자 제한 (sshd_config 파일)

    AllowUsers [유저] [유저] … 

    Allowgroups [그룹] [그룹] …

    DenyUsers [유저] [유저] … 

    DenyGroups [그룹] [그룹] …

     

    - tcp wrapper로 원하는 ip주소에 대한 접속 제어를 할수 있다.

     

    Apache서버

    설정 파일 : /app/apache/conf/httpd.conf

     

    - 디렉토리 리스팅

    Options Indexes 옵션 제거

     

    - 심볼릭 링크

    Options FollowSymLinks 옵션 제거

     

    - 프로세스 권한 제한

    User와 Group의 계정을 root가 아닌 web관리 계정으로 변경한다.

     

    - 상위 디렉토리 접근 금지

    AllowOverride None

    AllowOverride AuthConfig 로 설정한다.

     

    - 매뉴얼 제거

    ls -ld /app/apache/htdocs/manual

    ls -ld /app/apache/manual

    명령을 이용해 불필요한 파일을 제거한다

     

    - 서비스 영역 분리

    DocumentRoot "디렉터리" 옵션을 이용해 기존 디렉터리가 아닌 다른곳으로 지정한다.

     

    - 업/다운로드 용량 제한

    LimitRequestBody 5000000 등으로 제한한다. (5MB)

    'System > Linux' 카테고리의 다른 글

    CentOs7 하드웨어 정보 확인  (0) 2020.07.09
    CentOS7 WOL(Wake On Lan) 설정  (0) 2020.07.09
    리눅스 Apache server  (0) 2020.05.06
    리눅스 NFS  (0) 2020.04.28
    리눅스 DNS  (0) 2020.04.28

    댓글

Designed by Tistory.