RHCE

Red Hat Certified Engineer

  • RedHat 리눅스 시스템 관리, 네트워크, 보안에 대한 전문지식을 보유하고 있음을 인증
  • 리눅스 전문지식에 대한 자격증으로는 LPIC1가 있음

예상 문제

selinux 활성화

ip forwarding 설정

/etc/sysctl.conf

cron 설정

/etc/cron.deny

anonymous ftp

samba

  1. 설치
     $ yum install -y samba
    
  2. samba 전용 그룹 생성 및 사용자 설정
     $ groupadd project useradd -aG project guru
    
  3. 디렉토리 생성 및 권한 설정
     $ mkdir /project 
     $ chgrp project /project 
     $ chmod 2770 /project
    
  4. selinux 설정
     $ selinux chcon -R -t samba_share_t /project getsebool -a | grep samba; setsebool -P samba_enable_home_dirs on
    
  5. 설정 파일 수정(데몬 재가동 & 부팅시 설정 포함)
     # /etc/samba/smb.conf
     workgroup = HPEDU hosts allow = x.x.x. ; or 방화벽 설정
        
     [project] ; 기존 설정 복사 comment = hp-project path = /project writable = yes (browsable = yes) write list = +project ; or guru
    
  6. 재구동
     $ service smb restart 
     $ chkconfig smb on
    
  7. 방화벽 설정
     $ system-config-firewall → smb 선택
    
  8. samba 계정 설정
     $ smbpasswd -a guru
    
  9. test
     $ smbclient -L //IP -U guru 
     $ mount -t cifs -o user=gure //IP/project /mnt 
     $ df -h
    

nfs

  1. 설치
     $ yum install -y nfs-utils 
    
  2. 설정
     # /etc/exports
     /common IP(ro,sync) 
    
  3. 재구동
     $ service nfs restart 
     $ chkconfig nfs on 
    
  4. 방화벽
     $ system-config-firewall → NFS4 선택
    

postfix

  1. 설치
     $ yum install -y postfix 
    
  2. 설정
     # /etc/postfix/main.cf (or postconf -e "inet_interfaces = all")
     inet_interfaces = all
        
     inet_interfaces = localhost
    
  3. 재구동
     $ service postfix restart 
     $ chkconfig postfix on 
    
  4. 방화벽
     $ system-config-firewall → Mail (SMTP) 선택 
    
  5. ailas 설정
     # /etc/aliases
     guru: visitor
    
  6. alias 적용
     $ newaliases 
    
  7. test (다른 시스템)
     $ mailx guru@192.168.56.201 $ mailq 
    

httpd

  1. 설치 및 설정 (데몬 재가동 & 부팅시 설정 포함)
  2. selinux
     $ ls -ldZ /var/www/html 
     $ chcon -R -t httpd_sys_content_t /www 
     $ ls -ldZ /www 
    
  3. 방화벽
     $ system-config-firewall → WWW(HTTP) 선택 
    
  4. httpd 디렉토리 접근 설정
     <Directory "/var/www/virtual/security">
        
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from IP  ### 이 부분이 중요
     </Directory> 
    

httpd 가상 호스트

  1. 설정 (데몬 재가동 & 부팅시 설정 포함)
     # /etc/httpd/conf/httpd.conf
       
     NameVirtualHost *:80
        
     <VirtualHost *:80>
        
     ServerAdmin webmaster@dummy-host.example.com
        DocumentRoot /www
        ServerName server.example.com
     ErrorLog logs/dummy-host.example.com-error_log
     CustomLog logs/dummy-host.example.com-access_log common
     </VirtualHost>
        
     <VirtualHost *:80>
        
     ServerAdmin webmaster@dummy-host.example.com
        DocumentRoot /var/www/virtual
        ServerName www.example.com
     ErrorLog logs/dummy-host.example.com-error_log
     CustomLog logs/dummy-host.example.com-access_log common
     </VirtualHost> 
    
  2. 재구동
     $ service httpd restart 
     $ chkconfig httpd on 
    
  3. 디렉토리 생성 및 파일 다운 로드
     $ mkdir /var/www/virtual 
     $ wget ftp://my.site.com/virtualpage.html 
     $ mv virtualpage.html index.html 
    
  4. selinux
     $ ls -lZ /var/www/virtual 
    
  5. test
     $ lynx http://server201.example.com 
     $ lynx http://www201.example.com 
    

iscsi

  1. 설치 및 start(enable)
     $ yum install -y iscsi-initiator-utils 
     $ service iscsid start $ chkconfig iscsid on 
    
  2. iscsi 서버 질의 및 로그인
     $ iscsiadm -m discovery -t st -p {iSCSI Server IP}
     $ iscsiadm -m node -T iqn~~ -p {iSCSI Server IP} -l 
     $ iscsiadm -m node -T iqn~~ -p {iSCSI Server IP} -o update -n node.startup -v automatic
     $ dmesg | tail
    
  3. disk 작업
     $ fdisk -cu /dev/sde 
     $ mkfs -t ext4 /dev/sde1 
     $ mkdir /iscsi $ vi /etc/fstab 
     $ mount /iscsi
    

ssh 접근제어

스크립트 작성

부팅시 커널값 설정

아래 파일을 편집하여 kernel 제일 뒤쪽에 원하는 값을 세팅하여 넣음 ~~~shell $ vi /boot/grub/grub.conf ~~~

iso mount

~~~properties
iso9660 ro,loop
~~~

추가 예상 문제

httpd 인증 설정 (File)

  1. 디렉토리 생성 및 파일 다운로드
     $ cd /var/www/virtual 
     $ mkdir security 
     $ wget ftp://my.site.com/security.html
    
  2. 인증
     $ htpasswd -c -m /var/www/.userlist guru
    
  3. 설정(데몬 재가동 & 부팅시 설정 포함)
     # /etc/httpd/conf/httpd.conf
        
     <VirtualHost *:80>
    
     ServerAdmin webmaster@dummy-host.example.com
        DocumentRoot /var/www/virtual
        ServerName www201.example.com
            <Directory "/var/www/virtual/security">
                Options Indexes FollowSymLinks
                AllowOverride None
                    AuthName "Security"
                    AuthType basic
                    AuthUserFile "/var/www/.userlist"
                    Require vaild-user
                Order allow,deny
                Allow from all
            </Directory>
     ErrorLog logs/dummy-host.example.com-error_log
     CustomLog logs/dummy-host.example.com-access_log common
     </VirtualHost>
    
  4. 재구동
     $ service httpd restart
     $ chkconfig httpd on
    
  5. 검증
     $ lynx http://IP/security/security.html
    

httpd 인증설정(LDAP)

  1. 디렉토리 생성 및 파일 다운로드
     $ cd /var/www/virtual
     $ mkdir security
     $ wget ftp://my.site.com/security.html 
    
  2. 인증서 파일 설치
     $ cd /etc/httpd
     $ wget http://my.site.com/server.crt 
    
  3. 설정(데몬 재가동 & 부팅시 설정 포함)
     # /etc/httpd/conf/httpd.conf
        
     LDAPTrustedGlobalCert CA_BASE64 /etc/httpd/server.crt <VirtualHost *:80>
        
     ServerAdmin webmaster@dummy-host.example.com
        DocumentRoot /var/www/virtual
        ServerName www201.example.com
            <Directory "/var/www/virtual/security">
                Options Indexes FollowSymLinks
                AllowOverride None
                    AuthName "Security"
                    AuthType basic
                     AuthBasicProvider ldap <<<<<
                    AuthLDAPUrl "ldap://xxx/dc=example,dc=com" TLS
                    Require vaild-user
                Order allow,deny
                Allow from all
            </Directory>
     ErrorLog logs/dummy-host.example.com-error_log
     CustomLog logs/dummy-host.example.com-access_log common
     </VirtualHost> 
    
  4. 재구동
     $ service httpd restart 
     $ chkconfig httpd on 
    

caching name server

  1. 설치
    $ yum install -y bind
    
  2. 설정 ~~~conf /etc/named.conf listen-on port 53 { any; }; listen-on-v6 port 53 { any; }; allow-query { localhost; 192.168.56.0/24; }; forwarders { 192.168.56.201; }; dnssec-validation no;

(rndc-confgen -a) service named restart chkconfig named on ~~~

log 서버

  1. 설정 (클라이언트)
     /etc/rsyslog.conf
     .info @rhce
    
  2. 설정 (서버)
     /etc/rsyslog.conf
     Provides UDP syslog reception
     $ModLoad imudp $UDPServerRun 514
        
     Provides TCP syslog reception
     $ModLoad imtcp $InputTCPServerRun 514
    
  3. 재구동
     $ service rsyslogd restart
    
  4. 방화벽 설정
     $ service iptables save
     $ vi /etc/sysconfig/iptables
     $ iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 514 -j ACCEPT 
     $ iptables -A INPUT -p udp -m state --state NEW -m udp --dport 514 -j ACCEPT 
     $ service iptables restart $ iptables -L
    
  5. 테스트
     $ tail /var/log/messages
    
  1. Linux Professional Instritute Certified