21. rsyslogd(syslogd 확장) |
1) 경로 : /usr/sbin/rsyslogd
2) 요약 : syslogd 명령어에서 신뢰성과 기능을 확장
3) 사용 방법 : rsyslogd [-4] [-6] [d] [-f config_file] [-i pid_file] [-l hostlist] [-n] [-N level] [-q] [-Q] [-s domainlist] [-u userlevel] -[v] [-w] [-x]
4) 옵션
-A : UDP 메시지를 보낼 때 기본값은 하나의 목적지만 가능하지만, -A 옵션은 모든 목적지에 메시지를 보낼 수 있음
-4 :ipv4 주소만 받을 수 있음
-6 : ipv6 주소만 받을 수 있음
-d : 디버깅 모드를 활성화
-f config_file : 설정 파일(config_file)을 지정(기본값은 /etc/rsyslog.conf)
-i pid_file : 프로세스 ID 파일(pid_file)을 지정
-l hostlist : 로그인 가능한 호스트(hostlist)를 지정. 다중의 호스트는 콜론(:)으로 구분
-n : 자동적인 백그라운드를 피함. 이 옵션은 init 명령으로 rsyslogd를 컨트롤할 때 필요함
-N level : 설정 파일이 올바른지 체크
-q : ACL 프로세싱 동안, 성능 이슈로 호스트명을 IP 어드레스를 해석
-Q : ACL 프로세싱 동안, 호스트명을 IP 어드레스로 해석하지 않음
-s domainlist : 주어진 도메인(domainlist)을 로그에서 제거. 다중의 호스트는 콜론(:)으로 구분
-u userlevel : 레벨(userlevel)을 지정. 1은 rsyslogd가 호스트명을 파싱하지 않고, 2는 루트 디렉터리로 변경하지 않음. 3은 두 특징을 모두가짐
-v : 버전 정보 출력
-w : 중복된 경고 메시지를 출력하지 않음
-x : DNS 원격 메시지를 비활성화
5) 추가 설명
rsyslogd 명령어는 엔터프라이즈나 syslog 릴레이 체인을 암호화하는데 적당하며 syslogd와의 호환성이 뛰어납니다.
아래는 syslogd와 비교하여 다른 특징입니다.
● TCP를 통한 신뢰성 높은 syslog
● 온 디맨드 디스크 버퍼링
● 이메일 경고
● MySQL 또는 PostgreSQL 데이터베이스에 기록
● 인가된 송신자 리스트
● syslog 메시지의 어떤 부분에서도 필터링 가능
● 실시간 메시지 압축
● 정밀한 출력 형식 제어
● 로그 목적지 백업
22. scp(파일 복사) |
1) 경로 : /usr/bin/scp
2) 요약 : 원격 보안 복사
3) 사용 방법 : scp [옵션] [[user@host:]파일 [...]
4) 옵션
-p : 원복 파일의 변경 시간, 접근 시간, 퍼미션을 변경하지 않고 그대로 보존
-r : 지정한 디렉터리를 기준으로 하위의 디렉터리 및 파일까지 복사
-v : 상세한 정보 출력
-F ssh_config : 설정 파일을 지정
-P port : 포트를 지정
5) 추가 설명
scp 명령어는 네트워크에 연결된 호스트간의 파일을 복사합니다. 데이터 전달을 위한 암호화 인증으로 ssh 명령어와 같은 보안체제를 사용합니다. rcp 명령어와 달리 scp 명령어는 인증에 필요한 패스워드나 인증 절차를 사용자에게 요청합니다. 파일을송수신하기 위해 사용자와 호스트 정보를 인증 절차에서 지정할 수도 있습니다.
아래 예제는 chan 사용자 인증으로 chanchan.co.kr 서버의 /home/chan/test.txt 파일을 로컬 시스템의 현재 디렉터리 위치에 test2.txt 파일로 저장합니다.
# scp chan@chanchan.co.kr:/home/chan/test.txt ./test2.txt
아래는 서버의 /usr/share/data 디렉터리에 존재하는 하위의 몯느 목록을 로컬 시스템의 backup 디렉터리로 복사합니다.
$ scp -r chan@chanchan.co.kr:/usr/share/data ./backup
22. sendmail(메일 서버 서비스) |
1) 경로 : /etc/init.d/sendmail
2) 요약 : 메일 서비스를 위한 서버 데몬
3) 추가 설명
먼저 메일과 관련된 기본적인 용어를 살펴봅시다.
● SMTP(Simple Mail Transfer Protocol) : 메일을 보낼 때 사용되는 프로토콜(프토번호 25)
● POP3(Post Office Protocol) : 서버에 있는 메일을 클라이언트로 가져올 때 사용되는 프로토콜(포트번호 110)
● IMAP(Internet Message AccessProtocol) : 서버에 있는 메일을 클라이언트로 가져올 때 사용되는 프로토콜. POP3는 메일을 가져오는 기능만 수행 한다면 IMAP은 메일의 상태 정보를 메일 서버와 공유합니다.(포트번호 143)
● MUA(Mail User Agent) : 메일을 보내기 위해 사용되는 프로그램 (ex) 아웃룩, 썬더버드)
● MTA(Mail Transfer Agent) : 메일을 전달받아 이를 외부로 전달하는 프로그램(ex) sendmail, Qmail)
● MDA(Mail Delivery Agent) : 전송 받은 메일을 분류하여 해당 사용자에게 전달하는 프로그램
기본 설정 파일은 /etc/mail/sendmail.cf 파일이고, 나머지 관련 파일들은 /etc/mail/ 디렉터리에 모두 모여 있습니다.
# ls -al /etc/mail total 276 drwxr-xr-x 3 root root 4096 Jul 25 23:44 . drwxr-xr-x 106 root root 12288 Jul 26 17:45 .. -rw-r--r-- 1 root root 355 Mar 31 13:49 access -rw-r----- 1 root root 12288 Mar 31 13:49 access.db -rw-r--r-- 1 root root 0 Mar 31 13:49 domaintable -rw-r----- 1 root root 12288 Mar 31 13:49 domaintable.db -rw-r--r-- 1 root root 5521 Mar 31 13:49 helpfile
ㅇ1. sendmail.cf 파일 설정
sendmail.cf 파일은 설정 파일 자체가 암호화된 것과 같습니다. 전문적인 기능을 구현하지 않는 경우라면 기본 설정을 유지합니다. 참고로 sendmail.cf 파일의 Cwlocalhost는 메일 서버의 수신을 받기 위한 도메인을 지정하는 부분으로 /etc/mail.local-host-names와 같은 역할을 합니다.
ㅇ2. /etc/mail./local-host-names 설정
네임 서버로 가상 도메인 서비스를 운영 중인 경우 local-host-names에 서비스하고 있는 도메인을 추가로 설정합니다.
ㅇ3. /etc/mail/access 설정
메일 서버에 대한 접근을 설정합니다. sendmail 서버에서의 보안 설정을 통해 릴레이나 수발신 요청을 응답하거나 거부할 수 있습니다. 메일 서버를 사용할 사내 네트워크 대역(보통 C클래스)을 추가합니다.
Connect:localhost.localdomain RELAY Connect:localhost RELAY Connect:127.0.0.1 RELAY Connect:61.40.233. RELAY
<보안 설정값>
제어 옵션 | 설명 |
OK | 지정한 호스트나 도메인에 대한 허용 |
RELAY | RELAY 허용 |
REJECT | 수신 및 발신 거부(반송) |
DISCARD | 받은 메일 폐기 |
501 message | 특정 사용자 및 주소에 대한 메시지 반송 접근 거부 |
550 message | 특정 도메인에 대한 메시지 반송 |
570 message | 특정 도메인 또는 특정 메일에 대한 경고 메시지 및 메일 거부 |
스팸 메일 서버로 악용되는 것을 막기 위해 makemap hash 명령어로 access 데이터베이스를 갱신합니다.
# makemap hash /etc/mail/access < /etc/mail/access
설정을 수정한 후에는 아래와 같이 sendmail 서비스를 재시작합니다.
# /etc/init.d/sendmail stop Stopping sendmail .......... [OK] # /etc/init.d/sendmail start Starting sendmail .......... [OK]
특정 도메인/호스트에 대한 접근 제어 |
23. sftp(파일 전송) |
1) 경로 : /usr/bin/sftp
2) 요약 : 보안 암호화하여 파일을 전송
3) 사용 방법
sftp [-1Cv] [-B buffer_size] [-b batchfile] [-F ssh_config] [-o ssh_option] [-P sftp_server_path] [-R num_requests] [-S program] [-s subsystem | sftp_server] host
sftp [[user@]host[:file [file]]]
sftp [[user@]host[:dir[/]]]
sftp -b batchfile [user@]host
4) 옵션
-1 : 프로토콜 버전 1을 사용
-B buffer_size : 파일 전달 시 버퍼 크기(buffer_size)를 지정. 기본값은 32,768 byte
-b batchfile : 배치 모드로 파일(batchfile)에서 실행할 명령어를 읽음
-C : 파일 전송시 압축
-F ssh_config : 설정 파일(ssh_config)을 지정
-o ssh_option : ssh_config 파일 형식으로 옵션을 지정. ex) sftp -oPort=24는 24번 포트를 사용한다는 의미.
<ssh_option>
AddressFamily BatchMode BindAddress ChallengeResponseAuthentication CheckHostIP Cipher Ciphers Compression CompressionLevel ConnectionAttempts ConnectTimeout ControlMaster ControlPath GlobalKnownHostsFile GSSAPIAuthentication GSSAPIDelegateCredentials HashKnownHosts Host HostbasedAuthentication HostKeyAlgorithms HostKeyAlias HostName IdentityFile IdentitiesOnly KbdInteractiveDevices LogLevel MACs NoHostAuthenticationForLocalhost NumberOfPasswordPrompts PasswordAuthentication Port PreferredAuthentications Protocol ProxyCommand PubkeyAuthentication RekeyLimit RhostsRSSAuthentication RSAAuthentication SendEnv ServerAliveInterval ServerAliveCountMax SmartcardDevice StrictHostKeyChecking TCPKeepAlive UserPrivilegedPort User UserKnownHostsFile VerifyHostKeyDNS
-P sftp_server_path : 지정한 위치(sftp_server_path)로 직접 연결. 디버깅 때 유용
-R num_requests : 최대 성능을 위한 값(num_requests)을 지정. 이 값이 증가하면 파일 전송 시 어느 정도는 속도가 개선됨. 하지만 메모리 사용량이 늘어남. 기본값 64
-S program : 암호화 연결을 위한 프로그램(program)을 지정
-s subsystem | sftp_server : 원격 호스트에 대한 SSH2 서브 시스템이나 sftp 서버의 위치를 지정
-v : 상세한 정보 출력
5) 추가 설명
sftp 명령어는 ssh 프로토콜을 이용하여 파일을 송수신할 수 있습니다. 명령어에서 지정하는 옵션과 사용하는 방법은 ftp 명령어와 매우 유사합니다. 다만 ssh 암호화 알고리즘을 사용한다는 점만 다릅니다.
user 사용자로 192.168.180.100 서버에 접속해 봅시다. 패스워드를 입력하고 인증에 성공하면 sftp> 명령행을 출력합니다.
$ sftp chan@192.168.160.100 Connecting to 192.168.180.100... chan@192.168.180.100's password: sftp>
다음은 sftp 명령행에서 사용할 수 있는 명령어들입니다.
명령어 | 설명 |
'IT 이야기 > Linux 명령어' 카테고리의 다른 글
[RHEL6] 서버 및 클라이언트 명령어 8탄(talk, telnet, tftp, wall, wget) (0) | 2020.02.14 |
---|---|
[RHEL6] 서버 및 클라이언트 명령어 7탄(smb, smbclient, ssh, sshd, syslog) (0) | 2020.02.13 |
[RHEL6] 서버 및 클라이언트 명령어 5탄(rexec, rlogin, rmail, rsh, rsync) (0) | 2020.02.05 |
[RHEL6] 서버 및 클라이언트 명령어 4탄(praliases, proftpd, quota, rcp) (0) | 2020.02.05 |
[RHEL6] 서버 및 클라이언트 명령어 3탄(newaliases, nfs, nfsstat, portmap) (0) | 2020.02.05 |
댓글