# 서비스
- [[k8s service]]
# mysql
## 로그 파일 관리
* 에러로그 : 서버 실행시 에러를 기록하는 로그파일
* 일반적 로그 : mysql에 접근하는 사용자와 그에 관련된 파일에 대한 관리
* # /usr/local/mysql/bin/safe_mysql --log &
* 업데이트 로그 : 디비 테이블이 변경될 때마다 기록
* # /usr/local/mysql/bin/safe_mysql --log-update &
# FTP
## FTP 모드
* active 모드
* passive 모드
## FTP 포트번호
* ftp 모드에는 크게 active 모드와 passive 모드가 있다. passive 모드에서 사용하고자 포트 번호를 서버에서 클라이언트 쪽으로 서버 IP 정보와 포트번호를 (1.1.1.1, 4, 131) 보냈다. 포트 번호는 몇 번인가?
* 4 x 256 + 131 = 1024 + 131 = ''1155''
### vsftpd.conf
* session\_support=`YES` → wtmp에 로그 남기기 YES로 해야만 last 명령어로 접속 여부 확인 가능
* xferlog\_file=/var/log/vsftpd.log → 파일 전송 로그파일명
* xferlog\_enable=`YES` → 파일 전송 로그를 남길 것인지 여부
* xferlog\_std\_format=`YES` → xferlog 표준 포맷으로 로그를 남길지 여부
xferlog 표준 포맷은 로그인, 디렉토리 생성 등의 로그를 남기지 않지만 vsftpd 스타일 로그는 이를 포함한 보다 상세한 로그를 남긴다.
P
# MAIL
* SMTP(Simple Mail Transfer Protocol)
* 전자우편을 보내고 받는데 기본적으로 사용되는 TCP/IP 프로토콜
* MTA(Mail Transfer Agent)
* 인터넷상의 하나의 메일 전송 에이전트로 컴퓨터에서 다른 컴퓨터로 전자메일을 전송하는 서버용 프로그램
* MUA(Mail Use Agent)
* 사용자가 전자우편을 송수신 할 때 사용하는 클라이언트 프로그램
* MDA(Mail Delivery Agent)
* 도착한 메일을 사용자에게 보내기 위한 프로토콜
## Sendmail
* sendmail.cf 에서 SMTP 데몬 옵션을 모두 허용해 줄 수 있다. 이는 sendmail.cf의 256 라인에 있는 Addr=127.0.0.1 을 ''0.0.0.0'' 형태로 수정해 주면 모두 허용한다는 의미이다.
* 레드햇 계열인 CentOS에서 메일과 관련하여 서비스를 사용하려면 기본적인 Sendmail과 pop3와 imap 패키지를 포함하는 ''dovecot''패키지가 설치되어 있어야 한다.
* dovecat 패키지가 설치되어 있는지 확인하는 방법
* rpm -qa | grep dovecot
## 스팸방지 설정
* 192.168.100 네트워크 허용
* spam.com 은 거부
localhost.localdomain RELAY
localhost RELAY (호스트와 RELAY를 Tab키로 띄워준다)
127.0.0.1 RELAY
192.168.100 RELAY
spam.com REJECT
* Sendmail에서 위와 같이 릴레이 허용과 거절을 설정한 후에는 반드시 다음과 같은 명령어로 DB 파일(access.db)을 만들어 준다.
* # makemap hash /etc/mail/access < /etc/mail/access
#### access control option 부분
^ OK | 지정된 호스트나 사용자가 보낸 메일은 다른 설정 rule이 거부하는 경우에도 받아들인다. |
^ RELAY | 지정된 호스트에 대해 SMTP 메일 중계 역할을 한다. 즉, 지정된 도메인에 있는 사용자에게 오는 메일을 받고, 그 도메인에 있는 사용자가 서버를 통해 메일을 보낼 수 있도록 한다. 지정된 도메인에서 오는 메일은 다른 룰이 거부하는 경우에도 받아들인다. |
^ REJECT | 지정된 도메인과 관련된 모든 메일(수신/발신)을 거부 한다. |
^ DISCARD | $#dicard mailer를 사용해 메시지를 완저닣 폐기한다. 메시지를 받기는 하지만 배달은 하지 않고, 발신자에게 폐기사실을 알리지 않기 때문에, 발신자는 배달되었다고 생각하게 된다.|
^ 501 | 지정된 user@host와 발신자의 주소가 전체 혹은 부분적으로 일치할 경우 이메일을 받지 않는다. 뒤의 예는 return mail에 포함될 에러 메시지 구문을 지정하여 넣을 수 있다. |
^ 553 | 발신자의 주소에 호스트명이 없을 경우 메일을 받지 않는다. |
^ 550 | 지정된 도메인과 관련된 메일을 받지 않는다. |
# SNMP (Simple Network Management Protocol)
SNMP 프로토콜은 비동기식 프로토콜인 UDP상에서 동작하므로 TCP처럼 연결을 맺는 과정 자체가 없고, 메시지 대부분이 단순한 요청과 응답에 의해 처리되기 때문에 4가지 연산만 수행한다.
* ''GET''
* 장비의 상태 및 가동시간 등의 정보를 읽어 들인다. 특정 장비의 정보를 읽으려면 메시지 송신자로서 관리자는 그 장비를 표시하는 작은 프로그램인 에이전트에 조회를 한다.
* ''GET Next''
* 정보가 계층적 구조를 가지므로 관리자가 장비에 조회를 해서 해당 트리보다 하위 정보를 얻도록 한다. 해당 하위 객체들까지 모두 요청할 때 사용된다.
* ''Set''
* 장비의 MIB 값을 조작하여 장비를 제어한다. 관리자를 요청을 보내 다시 초기화시키거나 프로그램에 따라 다시 재구성한다. 즉 관리자(Manager)에서 에이전트(Agent)로 특정값을 설정할 때 사용한다.
* ''Trap''
* 에이전트(Agent)에서 통보해야 할 어떤 정보가 발생하였을 때 관리자(Manager)에게 해당 상황을 알리기 위해 사용한다. 다른 요청들이 동기적 요청이라면 이것은 비동기적 사건을 알리기 위하여 사용이 된다.
# DNS
## DNSSEC (DNS Security Extensions)
국제인터넷표준화기구인 IETF에서 "데이터 위0변주 침해공격"에 취약한 DNS 의 문제점을 근본적으로 보완 개선하기 위해 1990년대 후반부터 논의를 시작하여 2005년경 완성된 국제표준기술로, 다양한 시험을 거쳐 2010년에는 최상위 DNS 인 '루트 DNS' 에도 적용되어 전세계적으로 확대되고 있다.
## DNS 질의 타입
^ 질의 타입 ^ 설명 ^
| ANY | 도메인에 등록된 모든 현황 |
| SOA(Start of Authority) | Resource Record의 type |
| A(address) | 인터넷 호스트 주소 |
| NS(name server) | 도메인에 대한 네임서버 |
| PTR(domain name pointer) | IP address에 대한 호스트명 |
| MX(mail exchanger) | 메일을 최종적으로 수신할 컴퓨터 호스트 이름 |