본문 바로가기
LINUX

LINUX내 시스템 설정

by 손영진 2023. 5. 31.
728x90

#1 해킹방지

- rkhunter 다운로드 : rookit을 잡아( hunter )주는 도구

          -> rookit : 공격자가 root권한을 확보하기 위해 사용하는 해킹 툴

#wget http://172.20.30.142/data/rkhunter-1.4.6.tar.gz   // 안되는 사람은 밑에 참조
-> Firefox에서 구글에 접속하여 rkhunter download 검색
-> Sourceforger.net에 접속하여 Download 버튼 클릭
-> Save File을 클릭하여 Downloads에 저장

#cd /home/son/Downloads                 // Downloads에서 대문자 조심 -> 대소문자를 분간하기 때문
#ls -l                                                    // rkhunter-1.4.6.tar.gz 있는지 확인
#tar -zxvf rk<tab>                                // 압축해제, <tab>키를 활용하여 긴 문장을 한번에 해결
#cd rk<tab>                                         // rkhunter의 디렉토리로 이동
#./install.sh --install
#rkhunter -c                                         // rkhunter에서 대한 파일검사

#2 파일 갯수 및 분류, 출력

1. 갯수 파악 및 정렬

#find /usr/bin -size +10k -size -100k | wc -l       // ' | ' 를 통해 동시 명령어 수행
                                                                          // wc : word count의 약자로 숫자를 세는 것
                                                                          // ' -ㅣ ' : line 의 약자로 행을 출력

#find /usr/bin -size +10k -size -100k | sort | sort -rn
                                                                          //  sort는 정렬, 분류하다는 의미
                                                                          // -rn : 내림차순
                                                                          // -n : 오름차순
                                                                          //  sort를 두번 씀으로 더 확실히 분류
#tail -10 /var/log/secure | awk '{print $1,$2,$3}'
                                                                          //  /var/log/secure 안에 있는 정보 중 맨 밑 10줄만 표기
                                                                          //  ' | ' : 동시 실행 
                                                                          //  awk : 1번, 2번, 3번 열을 출력한다.

# cat   /var/log/secure | awk '{print $1,$2}' | sort | uniq -c( sort -u )
                                                                          //  1번, 2번열을 보여준다.
                                                                          //  uniq -c : 중복을 제거하고 왼쪽에 개수를 표시
                                                                          //  sort -u : 중복만 제거하고 개수는 표시하지 않음.

왼쪽에 개수 표시

# echo "mina sana dahyun jeongyeon" > twice.txt     // twice.txt에 "" 안의 내용 추가
# echo "momo tzuwi" >> twice.txt                               // 다음 줄에 "" 안의 내용 추가

#echo "no or no" > twice.txt                                         // twice.txt의 내용을 "" 안의 내용으로 바꾼다.
# [명령문] | sort | sort < twice.txt                                                           // 알파벳 순서로 정령

# sed -i 's/(old)/(new)/g'                                     // sed : old를 new로 치환하여 

#lastlog                                                              // 사용자들의 마지막 로그인 시간
                                                                           // 접속한 적이 없으면 never logged in

2. MAC Time

- 누가 어떤 파일에 접근 / 수정 / 생성을 했는지 파악

-atime : access time(접근 시간) -> cat, less, vi 등을 접근했을 시
          -> #find / -atime +100                               // 접근한지 100일이 넘은 파일 찾기
          -> #find -type f -atime +100                      // 파일 형태가 f (file)인 것들을 찾는다.
-mtime : modift time(수정 시간)
          -> #find / -mtime +100                              // 수정한지 100일이 넘은 파일 찾기
-ctime : create time(생성 시간)
          -> #find / -ctime -3                                    // 생성한지 3일 이내의 파일 찾기

#find / -name "*.txt" -exec rm {} \;
          -> txt 파일들을 찾아 rm(remove) 제거한다.
          -> *.txt를 {}에 넣어 찾는다.
          -> \(Back slash); 로 명령문을 끝낸다.

#3 시스템 설정

1. IP 변경

# nmtui                                                                   // IP를 변경하기 위한 시스템에 접속
          -> edit a connection 클릭
          -> ens160 클릭         
          -> IPv4 에서 <Automatic>으로 들어가 Manual로 바꿔준다.
          -> IPv4의 show를 눌러 안의 내용을 펼친 뒤 Address, Gateway, DNS servers를 바꾼다.
          -> OK를 누르고 quit 눌러 인터페이스를 나간다.
# ifdown ens160                                                      // nmtui에서 변경 후 인터페이스를 껐다가 켜야 반영
# ifup ens160
# ifconfig                                                                  // 바뀐 IP확인
더보기

*GUI가 없는 버전
# cd /etc/sysconfig/network-scripts
# vi ifcfg-ens160
          -> BOOTPROTO=none                // dhcp : 주소 자동 부여를 none으로 바꿔준다.
          -> IPADDR = [해당주소]               // 맨밑에 아래의 4개를 입력
          -> PREFIX = [Prefix의 숫자]
          -> GATEWAY = [주소]
          -> DNS1= [주소]
          -> ESC를 누른다. / :wq
# ifconfig ens160                                     // 업데이트 전 IP주소를 확인
# ifdown ens160
# ifup end160
# ifconfig                                                   // 바뀐 IP 주소확인

2. IP변경 -> daum으로의 접속을 차단

# cd /etc/sysconfig/network-scripts
#vi /etc/hosts
          -> i
          -> x.x.x.x [tab] www.daum.net             // 다음으로 접속을 작성한 ip로 강제접속
          -> ESC를 누른다. / :wq

firewall에서 www.daum.net 검색하여 확인

3. 예약명령 

- cron : 반복되는 작업 또는 특정 시점에 수행할 작업을 미리 등록

 

분  시  일  월  요일  사용자  실행명령
00 05   1    *     *        root     cp -r /home /backup
-> * : 매월 한다는 의미

요일 : 0 ~ 6 or SUN ~ SAT
0 : 일요일                                               1 : 월요일
2 : 화요일                                               3 : 수요일
4 : 목요일                                               5 : 금요일
6 : 토요일                                               7 : 일요일
#cd /etc/cron.monthly
#touch myBackup.sh                                    // myBackup.sh 생성
#chmod 755 myBackup.sh
#vi myBackup.sh
          -> #!/bin/sh                                          // shell script 선언
                                                                      // shell script : 명령어를 여러개를 수행하는 파일 / 확장자 ( .sh ) 
          -> set $(date)
          -> fname="backup-$2$3tar.xz"
          -> tar cfJ /backup/$fname /home
#mkdir /backup
#systemctl restart crond
#vi /etc/crontab                                             // 백업할 내용 crontab에 저장
          -> 05 19 2 * * root run-parts /etc/cron.monthy
5분후 생성
# cd /bakcup                                                 // backup 디렉토리로 이동하여 ls를 통해 아무것도 없음을 확인
# ls                                                                // 설정 시간이 되었을 때 다시 ls로 파일을 확인하여 파일 생성됐음을 확인

- at : 일회성 작업 예약

 # at [예약시간]
          -> at> echo"Merry" >> /home/twice
          -> at> <EOT>                                      // [ctrl + D] 를 눌러 프롬포트를 나온다.
# date                                                            // 현재 시간 확인
# ls                                                                // 파일 확인을 통해 파일이 없고 예약시간 후 파일 생성을 확인

#4 기타 확인

#ps -ef | grep gdm                                        // ps : ProcessID, grep : 원하는 문자열
                                                                     // gdm이라는 문자열이 들어가 있는 프로세스번호들을 조회
#pstree [프로세스 번호]                                // 해당 프로세스번호와 얽혀있는 파일들을 트리모양으로 나열

#netstat -nap | less                                       // n : number, a : all, p : process -> 프로세스에 대한 정보 확인
          -> 아래의 화면을 통해 PID, ssh 실행여부, IP주소 등을 확인 가능

 

'LINUX' 카테고리의 다른 글

LINUX Server 만들기  (0) 2023.06.02
LINUX 사용자 관리, wordpress 만들기  (0) 2023.05.29
LINUX의 설치와 기본 명령어  (0) 2023.05.26