암호화의 종류
1. 일방향 암호화 : 암호화 O, 복호화 X (md4, md5, sha …)
용도 : 데이터 무결성 체크, 데이터 암호화해서 저장
etc/shadow : 계정별 패스워드를 암호화해서 저장하고 있는 파일 (sha256 방식 사용)
2. 양방향 암호화 : 암호화 O, 복호화 O
(a) 대칭키 암호화 (세션키, 비밀키 암호화)
- 키가 1개 : 암호화키 = 복호화키
- 키전달문제(키분배문제)
(b) 비대칭키 암호화 (공개키, 개인키 암호화)
- 키가 2개 : 암호화키 ≠ 복호화키
- 키전달문제를 해결
- 키 : 데이터를 암호화하고 복호화 할 때 사용
- 공개키로 암호화 한 것은 개인키로 해독 가능
- 개인키로 암호화 한 것은 공개키로 해독 가능
- 공개키는 전 세계 누구에게나 줄 수 있고, 개인키는 절대 누구에게도 줄 수 없다.
- 개인 식별 기능 (신원확인 기능)
예) 서버가 자신의 개인키로 데이터를 암호화. 그것을 서버의 공개키로 복호화 하면 개인키는 오직 서버 자신만 가지고 있기 때문에 누가 이 데이터를 암호화 했는지 알 수 있음.
ssh v1
ssh v2 → 디피 헬만 알고리즘
키 기반 인증 실습
- ssh-keygen : 내(클라이언트) 개인키와 공개키 생성
- 기본 경로로 설정, 패스워드 미설정
- .ssh라는 숨김파일 생성됨 > id_rsa : 개인키 / id_rsa.pub : 공개키
- 클라이언트의 공개키를 서버에 전달하면 됨 (ssh-copy-id user@192.168.56.101)
- 한 번 키를 등록하면 그 다음부터는 비밀번호 인증 없이 가능
- 서버의 .ssh 폴더에 authorized_keys에 등록된 내용과 클라이언트 .ssh 폴더 id_rsa.pub 내용과 동일
at 시간 (at hh:mm yyyy-mm-dd / at -t yyyymmdd…)
명령어
ctrl + d로 종료
[root@localhost user]# who ### 현재 서버 접속자 정보
user :0 2023-05-02 09:43 (:0) ### :0 서버 자체
user pts/0 2023-05-02 12:05 (192.168.56.1) ### pts/0 터미널
[root@localhost user]# at 14:16
at> ls -l > /dev/pts/0 ### 명령어의 결과값을 pts0에 출력
at> <EOT>
[root@localhost cron]# ls /etc/cron.*
/etc/cron.deny
/etc/cron.d:
0hourly raid-check sysstat
/etc/cron.daily:
logrotate man-db.cron mlocate ###쉘 스크립트 파일을 넣어서 매일 실행시킴
/etc/cron.hourly:
0anacron mcelog.cron
/etc/cron.monthly:
/etc/cron.weekly:
참고
- crontab → 시간이 지났으면 예약작업이 실행이 안됨
- acrontab → 시간이 지났어도 실행이 안된 작업이 있으면 실행 (/etc/anacrontab)
퀴즈
- 매년 1월 첫번째 일요일에 재부팅 되도록 설정 reboot
- 매월 오후 1시부터 5시까지 10분마다 date 명령어를 실행해서 datefile01에 이어쓰기로 저장하도록 설정
- 매년 3월 6월 9월 2번째 화요일 14시 20분에 /etc/passwd 파일의 내용을 userfile에 갱신하도록 설정
- test 사용자가 매년 크리스마스에 merry christmas 메시지를 /tmp/christmas 파일로 덮어쓰기 하도록
### crontab -e 0 0 1-7 1 0 reboot */10 13-17 * * * date >> datefile01 20 14 8-14 3,6,9 2 cat /etc/passwd > userfile 0 0 25 12 * echo "Merry Christmas" > /tmp/christmas
at
/etc/at.deny
/etc/at.allow → 생성
crontab
/etc/cron.deny
/etc/cron.allow → 생성
엑세스 규칙
- *.allow 파일은 존재하지 않고 *.deny 파일만 존재하면 *.deny 파일에 등록된 사용자는 스케쥴링 명령 사용 불가
- *.allow 파일과 *.deny 파일이 둘 다 존재하면 allow 파일에 등록한 사용자만 스케줄링 명령어 사용 가능
- 둘 다 존재하지 않으면 root만 스케줄링 명령어 사용 가능