● iptables와 테이블과 사슬
filter nat mangle raw
INPUT O O O
FROWARD O O
OUTPUT O O O O
PREROUTING O O O
POSTROUTING O O
● iptables [-t tables] action chain match [-j target]
INPUT 방화벽 관련 정책들은 설정. 커널 내부에서 라우팅 계산을 마친 후 로컬 리눅스 시스템이 목적지인 패킷에 적용한다.
OUTPUT 다른 시스템의 접근을 차단할 때 사용하는 사슬로 리눅스 시스템 자체가 생성하는 패킷을 제어하는 시스템
FROWARD 리눅스 시스템을 통과하는 패킷을 관리하는 사슬로 한 네트워크를 다른 네크워크로 Iptables 방화벽을
사용하여 패킷이 방화벽을 통과하는 경우에 사용
<주요 target>
ACCEPT 패킷을 허용
DROP 패킷을 거부
LOG 패킷을 syslog에 전달하여 기록. 일반적으로 /var/log/messges에 저장
REJECT 패킷을 버리고 적절한 응답 예) TCP reset 패킷, ICMP (Port Unreachable)메시지를 전송
RETURN 호출 사슬 내에서 패킷 처리를 계속 진행
< 주요 action >
-N 새로운 사용자 정의 사슬을 만든다.(--new-chain)
-X 비어있는 사슬을 제거한다. 단, 기본 사슬은 제거할 수 없다.(--delete-chain)
-P 사슬의 기본정책을 설정한다.(--policy)
-L 현재 사슬의 규칙을 나열한다. (--list)
-F 사슬로부터 기본 규칙 제거
-Z 사슬내의 모든 규칙들의 패킷과 바이트의 카운트를 0으로 만든다.(--zero)
-A 사슬에 새로운 규칙을 추가한다. 해당 사슬에 맨 마지막 규칙으로 등록된다.(--append)
< 주요 매치 >
-s 발신지 주소
-d 목적지 주소
-p 특정 프로토콜과 매칭
-i 입력 인터페이스와 매칭(--out-interface)
-o 출력 인터페이스와 매칭(--out-interface)
! NOT의 의미로 사용하는데, 특정 매칭을 제외할 때 사용
-m 좀 더 세밀하게 제얼할 때 사용하는 매칭 옵션(--match)
--state 연결 상태와 매칭 INVALED, ESTABLISHED, NEW, RELATED
--string 특정한 패턴과 매칭
< 주요 옵션 >
-n 다른 옵션과 같이 사용되면 출력 정보를 숫자값으로 표현(--numberic)
-v 다른 옵션과 같이 사용되면 패킷, 바이트수 등을 추가하여 정보를 자세히 출력 (--verbose)
--line-number 정책 앞에 번호를 출력, 삭제나 삽입할 때 유용
--sport 발신지에서의 하나의 포트 또는 포트범위를 지정. /etc/services에 기록된 포트 이름 지정
범위는 :를 사용해서 표기(--sport)
--dport 도착지의 포트를 지정하는 것으로 설정 방법은 --sport 옵션과 동일 (--destination-port)
--tcp-flags TCP flag를 지정하는 옵션, SYN, ACK, FIN, RST, URG, PSH, ALL, NONE
--syn --tcp-flags SYN, RST, ACK ,FIN SYN
● ntp 시간 동기화 사용되는 프로토콜
/etc/ntp.conf 환경설정 파일
/etc/rc.d/init.d/ntpd ntpd 데몬
vnc (p581)
=> 원격의 다른 컴퓨터에서 그래픽 환경 기반으로 데스크톱을 공유할 수 있는 시스템
● /etc/sysconfig/vncsevers 환경 설정 파일
● yum install tigervnc-server
=> vnc server 설치
1은 디스플레이 번호
- geometry 해상도를 설정하는 항목
● vncpasswd
=> 패스워드 서러정
● service vnsserver start
=> vncsever start
● yum install vnc , yum install vnc tigervnc
=>클라이언트 설치
<squid 프록시 >
프록시
=> 보통 네트워크가 느린 환경에서 보다 빠른 인터넷을 하기 위한것.
자주 방문하는 사이트의 정보를 저장하는 cache 서버.
< squid 주요 파일 >
/etc/squid/squid.conf quid 데몬 설정 파일
/etc/rc.d/init.d/squid 데몬 스크립트 파일 stop, start, restart
● http_port 3128
=> 프록시 서버의 포트를 지정. 기본값은 3128
● cache_dir ufs /var/spool/squid 100 16 256
=> ufs는 저장 포맷 , /var/spool/squid
100은 저장되는 캐시의 크기
16은 캐시가 저장되는 첫 번째 하위 디렉터리 갯수
256은 두 번째 하위 디렉터리 갯수
< xinetd.conf >
/etc/xinetd.conf 환경 설정 파일 , 데몬에서 관리하는 전체 서비스에 영향을 줌
/etc/xinetd.d xinetd 데몬에 의해 관리및 제어되는 서비스 파일들이 위치하는 디렉터리이다.
이 디렉터리 안에 telnet, rlogin, rsh, rsync 등의 관련 서비스 파일을 생성하면 된다.
/etc/rc.d/init.d/xinetd xinted 데몬을 제어하는 데몬 스크립트 파일 stop, start, restart등의 인자값을 사용해서
제어한다.
/etc/xinetd.conf 주요 항목 설정
default
{
log_type = SYSLOG daemon info
log_on_failure = HOST
log_on_success = PID HOST DURATION EXIT
cps = 50 10
instances = 50
per_source = 10
v6only = no
groups = yes
umask = 002
}
includedir /etc/xinted.d
항목 설명
● log_type
=> 어떠한 형태로 로그를 저장할지 지정하는 것.
SYSLOG(syslog에 위임), FILE(file에 직접) 두 가지 설정이 가능
● log_on_failure
=> 접속 실패 시 , 기록될 속성값 항목
HOST = 원격 호스트 IP의 주소
USERID = 원격 사용자 아이디
ATTEMPT = 실패한 시도를 나타냄
● log_on_success = 속성값
=> 접속에 성공했을 때 기록될 속성값을 지정하는 항목
속성값
PID 실행된 서버의 PID
HOST 원격 호스트의 IP 주소
USERID 원격 사용자 아이디
EXIT 관련 서비스 종료될때의 상태
DURATION 서비스의 세션 지속 상태
TRAFFIC 리다이렉트 서비스를 위한 전체 바이트 수
● cps
=> 초당 요청수 제한시간
● cps 50 10
=> 초당 요청 수가 50개 이상일 경우 10초간 접속 중단
● instances
=> 동시에 서비스할 수 있는 서버의 최대 개수를 지정하는 항목
제한을 두지 않으려면 UNLIMITED로 설정
● per_source = 값
=> 특정 IP 주소에서 접속할 수 있는 최대 개수를 지정한다.
● only_from [IP주소[네트워크 IP 이름]]
=> 서비스를 이용할 수 있는 원격 호스트 설정
● no_access
=> 서비스를 이용할 수 없는 원격 호스트의 주소를 지정.
only_from와 동일하고, 중복 설정된 경우에는 차단
● enabled
=> 사용가능한 서비스의 목록을 지정하는 항목
● disabled
=> 특정 서비스의 사용을 막을 때 사용하는 항목
● includedir /etc/xinted.d
=> 설정파일들이 위치하는 디렉터리를 나타낸다.
서비스에 관련된 자세한 설정은 /etc/xinetd.d 안에서 한다.
서비스 명은 /etc/services 파일에 등록된 이름을 사용해야 한다.
/etc/xinetd.d/telnet에 관한 파일이다.
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server =/usr/sbin/bin/in.telentd
log_on_failure +=USERID
}
● disable = no
=> no는 서비스를 사용하늑 서이고, yes이면 해당 서비스를 사용하지 않음
● flags = REUSE
=> 서비스 운영과 관련된 설정으로 REUSE는 계속 사용한다는 의미, 대부분의 서비스 기본값으로 설정되어있음
● socket_type = stream
네트워크 소켓 타입을 지정하는 항목으로 속성값은 다음과 같다.
stream stream 기반의 서비스
dgram datagram 기반의 서비스
raw IP로 직접 접근이 필요한 서비스
seqpacket 신뢰성있는 연속적인 데이터그램 전송을 요구하는 서비스
● wait = no
=> 서비스가 단일 스레드(thread)인지 다중 스레드를 결정하는 항목을로 설정값은 yes
또는 no이다. yes는 오직 하나인 서비스만 작동하게 되며, no인 경우에는 다중 스레드로 동작하여
새로운 서비스 요청을 받아들이게 된다.
● user = root
=> 서버 프로세스의 UID를 지정하는 항목
● server =/usr/sbin/bin/in.telentd
=> 해당 서비스를 실행하는 데몬 파일의 경로를 지정하는 항목
● log_on_failure +=USERID
=> 로그에 관련되 설정으로 /etc/xinetd.conf에 지정된 설정에 + 또는 -를 이용하여 추가로 지정할때 사용
● access_time 01:00 -07:00
=> 지정된 시간에만 서비스를 이용할 수 있게 설정하는 항목이다.
● redirect = 192.168.12.22 23
=> 해당 서비스를 다른 서버로 포워딩할 때 사용하는 항목
● port 8080
=> 해당 서비스의 포트 번호를 지정할 때 사용하는 항목이다.
● nice = 10
=> 서버의 우선순위를 지정하는 항목으로 -20~19까지 지정할 수 있다.
<메일 관련 프로그램 분류 >
● MTA(Mail Transfer Agent)
=> 이메이을 SMTP프로토콜을 이용해 다른 메일 서버로 전달하는 프로그램
보통 메일 서버 프로그램
sendmail, qmail, postfix, MS Exchange Server
● MUA (Mail User Agent)
=> 사용자가 메일을 읽고 보낼 때 사용하는 프로그램
outlook, evloution, kmail, mutt, thunderbird , MS
● MDA (Mail Delivery Agent)
=> MDA는 일종의 대리인 역할을 수행하는 프로그램
procmail , 스팸 메일을 필터링이나 메일 정렬등의 역할을 수행한다.
< sendmail의 개요 >
● /etc/mail/sendmail.cf
=> 환경 파일 설정
● /etc/rc.d/init.d/sendmail
=> 데몬 스크립트
/etc/mail/local-host-names,
/etc/mail/access등 별도의 파일을 이용해서 관리한다.
● /etc/mail/sendmail.cf
=>비어있는 행과 #은 무시된다.
● Cwlocalhost
=> Cw은 메일을 수신할 호스트 이름을 명기하는 항목으로 보통 도메인명을 기입한다.
예) posein.org => Cwposein.org 로 설정
● Fw/etc/mail/local-host-names
=> Fw은 여러 도메인을 사용하는 경우 별도의 파일을 지정하는 항목
● #Dj$w.Foo.COM
=> Dj는 특정 도메인명으로 지정하여 강제적으로 적용할 때 사용하는 항목
Djposein.org로 지정하면 발신 도메인이 posein.org로 강제 적용된다.
● Kvirtuser hash -o /etc/mail/virthusertable.db
=> 동일한 계정을 여러 가상 호스트들이 메일 주소로 동시에 사용할 수 있도록 관련 파일 지정하는 항목
● Kaccess hash -T<TMPF> -o /etc/mail/access.db
=> 특정 호스트나 도메인이 센드메일로의 접근을 제어하는 파일을 지정하는 항목
● AliasFile=/etc/aliases
=> 특정 계정으로 메일이 도착했을 경우에 다른 계정으로 메일이 전송되도록 설정하는 파일을 지정한다.
● MaxMessageSize=0
=> 메일 메시지의 최대크기를 설정하는 항목으로 단위는 바이트이다.
주석처리나 0이면 메시지 크기의 제한이 없다.
● ForwardPath=$ㅋ/.forward.$w:$z/.forward
=> 개인 사용자가 본인의 계정으로 들어온 메일을 다른 메일로 포워딩할 때 설정하는 파일
명을 지정하는 항목이다.
● DaemonPortOptions=Port=smtp, Addr=127.0.0.1, Name=MTA
=> SMTP 데몬 옵션으로 25번포트를 사용할 주소를 지정하는 항목.
기본 설정은 로컬 호스트에서만 사용 간으하므로 Addr=127.0.0.1 부분을 지우거나
Addr=0.0.0.0으로 바꾸면 모든 주소에서 사용 가능하다.
● QueueDirectory=/var/spool/mqueue
=> 메일 전송을 대기하는 큐 관련 항목이다.
< sendmail 관한 주요 파일과 명령어 >
● /etc/mail/local-host-names
=> 메일 서버에 사용하는 도메인을 설정하는 파일로 한 줄에 도메인 하나씩 기입하면 된다.
예)
vi /etc/mail/local-host-names 파일 실행
songsi.org
songsi.co.kr
songsi.com
....
● /etc/mail/sendmail.mc
=> sendmail의 매크로 설정파일, /etc/mail/sendmail.cf 파일이 삭제되거나 복원할 경우에 m4라는 매크로를 사용
sendmail.cf 를 복원하려면 sendmail-cf 패키지를 설치해야 한다.
● m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
● mailq
=> 보내는 메일이 대기하는 디렉터리의 큐(Queue) 상태를 출력해 주는 명령어
보내는 메일이 대기하는 큐인 /var/spool/mqueue의 상태를 출력
옵션
-Ac /etc/mail/submit.cf 파일에 명시된 큐의 상태를 출력
● sendmail
=> sendmail 관련 옵션
옵션
-bp mailq와 같은 명령으로 메일 큐의 상태를 출력
-bi newaliases와 같은 명령으로 /etc/aliases 파일 수정 시에 관련
DB 정보 파일을 업데이트 한다.
-oQ bp와 같이 사용되는 옵션으로 특정 큐의 상태를 확인하기 위해 사용된다.
/etc/mail/sendmail.cf
=> 비어있는 행과 '#'은 무시된다.
<FTP 서버 관리>
/etc/vsftpd/vsftd.conf 환경설정 파일
/etc/rc.d/init.d/vsftpd 데몬 스크립트
/etc/pam.d/vsftpd PAM설정 파일
/etc/vsftpd/ftpusers /etc/pam.d/vsftpd에 사용되는 파일로 기본 설정이 접근 거부될 사용자 목록
/etc/vsftpd/user_list 사용자 목록 파일 허가 또는 거부 목록 파일, 기본적으로 userlist_deny=YES이어서 거부
/etc/logrotate.d/vsftpd vsftpd의 로그 로테이트 관련 파일이다.
'리눅스 마스터1급' 카테고리의 다른 글
리눅스 웹 (약간 추가예정) (0) | 2018.08.26 |
---|---|
samba, NIS (0) | 2018.08.25 |
리눅스 명령어(centOs)권한, 파일 시스템 (0) | 2018.08.21 |
워크스테이션 리눅스 하드디스크 추가하기 (0) | 2018.08.21 |
리눅스 명령어(centOs 정리) (0) | 2018.08.20 |