* Minimal 기본 설치 후 해야 할 일들 정리 (2/2)
- 출처(참조) URL
- http://lesstif.com/pages/viewpage.action?pageId=6979710
- https://www.3rabbitz.com/f01c33e7d8367da2#857542b4ddd63403# --> 여러모로 정리가 잘되어 있음. 기회 되면, 3Rabbitz 솔루션도 써보면 좋을 듯...
- http://warmz.tistory.com/836\
- http://warmz.tistory.com/832 -- 네트워크 설정
- http://www.jopenbusiness.com/mediawiki/index.php/CentOS --> Wiki 기반 깔끔한 설명들이 있음.
- http://byseob.blogspot.kr/2010/08/centos-54-설치-후-설정할것들.html --> Java, PHP, Mysql등 다양한 주제에 대한 깔끔 정리.
- http://iwithjoy.tistory.com/entry/CentOS-ssh-접속-한글깨짐-수정 --> 한글이 깨지는 다양한 경우에 대하여 정리를 해놓았음.
- http://webdir.tistory.com/103
- 보안 관련 설정 중단 (https://www.3rabbitz.com/f01c33e7d8367da2#a703fc6e18f2acf4)
- 설치 과정에서 보안 셋팅이 문제가 되는 경우가 많다. 이에 잠시 중단하고 셋팅이 완료된 후 재셋팅하는것이 편하다.
(물론 전문가라면, 하나씩 하면서 설정을 할수도 있겠지만... 내 입장에서는 그렇다는 것이다...) - SELinux 중단
12345678910111213141516171819202122232425262728293031323334[root@centos ~]# sestatus <== 현재 상태 확인SELinux status: enabledSELinuxfs mount: /selinuxCurrent mode: enforcingMode from config file: enforcingPolicy version: 24Policy from config file: targeted[root@centos ~]# vi /etc/sysconfig/selinux <== 설정 변경# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:# enforcing - SELinux security policy is enforced.# permissive - SELinux prints warnings instead of enforcing.# disabled - No SELinux policy is loaded.#SELINUX=enforcing # <== 주석 처리SELINUX=disabled # <== disabled로 적용# SELINUXTYPE= can take one of these two values:# targeted - Targeted processes are protected,# mls - Multi Level Security protection.SELINUXTYPE=targeted[root@centos ~]# reboot <== 재부팅Broadcast message from root@centos.tanker(/dev/pts/0) at 13:23 ...The system is going down for reboot NOW![root@centos ~]# sestatus <== 재부팅 후 중단 확인SELinux status: disabled - iptables(방화벽) 중단
12345678910111213141516171819[root@centos ~]# chkconfig iptables off[root@centos ~]# chkconfig ip6tables off[root@centos ~]# iptables -LChain INPUT (policy ACCEPT)target prot opt source destinationACCEPT all -- anywhere anywhere state RELATED,ESTABLISHEDACCEPT icmp -- anywhere anywhereACCEPT all -- anywhere anywhereACCEPT tcp -- anywhere anywhere state NEW tcp dpt:sshREJECT all -- anywhere anywhere reject-with icmp-host-prohibitedChain FORWARD (policy ACCEPT)target prot opt source destinationREJECT all -- anywhere anywhere reject-with icmp-host-prohibitedChain OUTPUT (policy ACCEPT)target prot opt source destination
- SSH 보안 설정 (https://www.3rabbitz.com/f01c33e7d8367da2#0e83f1c90aaa80e0)
- SSH의 기본 포트 변경
- SSH 서버 설정에서 원격(Reomote)에서 root계정으로 바로 접속하지 못하게 설정한다.
- 인증없이 서버에 접속할 수 있도록 하는 설정을 무시하게 바꾼다. (예전 해킹 방식?)
- 향후 서버에 접근하기 위해선 일반 계정으로 접속하여 "su -" 명령어를 통해 root로 전환하는 식으로 사용할 것.
- sshd_config 수정 후 서비스 재시작
1234567891011121314151617181920212223===> 편집기로 /etc/ssh/sshd_config 를 열어서 다음과 각 항목들을 변경한다.[root@gserver1 ~]# cat /etc/ssh/sshd_config... 중략 ...Port 220 <-- 22에서 원하는 포트로 변경... 중략 ...IgnoreRhosts yes <-- 주석처리 되어 있는 것을 주석 해제... 중략 ...PermitRootLogin no <-- 주석으로 yes로 되어 있는 것을 주석 해제 후 no로 바꿈... 중략 ...AllowUsers tank <-- 접속이 가능한 유저를 입력함. 라인 추가해야 함.--> 입력하지 않아도 됨.... 생략 ...===> 설정을 변경하였으면 sshd를 재시작하여 시스템에 적용한다.[root@gserver1 ~]# service sshd restart <-- 가능한 이것으로 하라. 아래것으로 하면 접속 불가.Stopping sshd: [ OK ]Starting sshd: [ OK ]또는[root@gserver1 ~]# /etc/init.d/sshd restartStopping sshd: [ OK ]Starting sshd: [ OK ] - root가 아닌 SSH에 접속할 유저를 새로 생성함
(https://www.linux.co.kr/home/lecture/index.php?cateNo=&secNo=&theNo=&leccode=217)
1234567891011121314151617[root@centos ~]# useradd -c 김탱크 -e 2099-12-31 -d /home/tank -u 601 -s /bin/ksh -p 12345 tank. -c 김탱크 : 계정사용자의 간단한 설명. -e 2099-12-31 : 계정사용 종료일자. -d /home/tank : 홈디렉토리 위치. -u 601 : UID 601로 지정. -s /bin/ksh : 사용할 기본쉘을 Korn Shell로 지정. -p 12345 : 패스워드를 12345로 지정. tank : 생성할 계정명[root@centos ~]# grep tank /etc/passwdtank:x:601:601:김탱크:/home/tank:/bin/ksh[root@centos ~]# grep tank /etc/shadowtank:xodzmWkd:16168:0:99999:7::47481:[root@centos ~]# grep tank /etc/grouptank:x:601:
- sFTP 설정 확인 (참조 URL)
- /etc/ssh/sshd_config 파일에서 아래 라인이 주석 처리가 안되어 있어야 함.
1234[root@centos ~]# vi /etc/ssh/sshd_config# override default of no subsystemsSubsystem sftp /usr/libexec/openssh/sftp-server
- DenyHosts 설치 (https://www.3rabbitz.com/f01c33e7d8367da2#9d58ea185e6a4623)
- 서버에 존재하는 외부 서비스에 대해 무수한 해킹 및 스캔 시도가 행해진다. 이를 감시하고 차단하는 설정을 한다.
- 현재 실행중인 외부 서비스를 확인
12345[root@centos ~]# netstat -antlp | grep LISTENtcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1100/mastertcp 0 0 0.0.0.0:9022 0.0.0.0:* LISTEN 1023/sshdtcp 0 0 ::1:25 :::* LISTEN 1100/mastertcp 0 0 :::9022 :::* LISTEN 1023/sshd - DenyHosts 설치 (https://www.3rabbitz.com/f01c33e7d8367da2#9d58ea185e6a4623)
12345패키지 저장소를 추가하면 찾을 수 있다. 그냥 하면 찾을 수 없음.yum --enablerepo=epel,rpmforge,remi list denyhosts아래 명령 형식으로 설치 가능함yum --enablerepo=epel,rpmforge,remi install denyhosts DenyHosts의 기본 환경 설정 내용(최초 설치시 아래와 같이 셋팅되어 있다)
12345678910111213141516171819202122232425262728293031[root@centos ~]# cat /etc/denyhosts.conf | egrep -v "^#|^$"############ THESE SETTINGS ARE REQUIRED ############SECURE_LOG = /var/log/secureHOSTS_DENY = /etc/hosts.denyPURGE_DENY = 4wBLOCK_SERVICE = sshdDENY_THRESHOLD_INVALID = 5DENY_THRESHOLD_VALID = 10DENY_THRESHOLD_ROOT = 1DENY_THRESHOLD_RESTRICTED = 1WORK_DIR = /var/lib/denyhostsSUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YESHOSTNAME_LOOKUP=YESLOCK_FILE = /var/lock/subsys/denyhosts############ THESE SETTINGS ARE OPTIONAL ############ADMIN_EMAIL = rootSMTP_HOST = localhostSMTP_PORT = 25SMTP_FROM = DenyHosts <nobody@localhost>SMTP_SUBJECT = DenyHosts Report from $[HOSTNAME]AGE_RESET_VALID=5dAGE_RESET_ROOT=25dAGE_RESET_RESTRICTED=25dAGE_RESET_INVALID=10d######### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE ##########DAEMON_LOG = /var/log/denyhostsDAEMON_SLEEP = 30sDAEMON_PURGE = 1h######### THESE SETTINGS ARE SPECIFIC TO ################### DAEMON SYNCHRONIZATION ##########허용 프로세스와 IP를 등록하는 방법
/etc/hosts.allow 파일이 /etc/hosts.deny 보다 우선한다. 즉, /etc/hosts.deny에 IP가 등록되어 있어도 /etc/hosts.allow에 IP가 있다면, 차단하지 않는다.123456789101112131415[root@centos ~]# vi /etc/hosts.allow## hosts.allow This file contains access rules which are used to# allow or deny connections to network services that# either use the tcp_wrappers library or that have been# started through a tcp_wrappers-enabled xinetd.## See 'man 5 hosts_options' and 'man 5 hosts_access'# for information on rule syntax.# See 'man tcpd' for information on tcp_wrappers#sshd: 192.168.219.38 <-- 특정 IP를 허용한다.~~감시 및 차단하는 설정 작업
조금 더 공부가 필요. 시간이 너무 없다. 나중에 정리하자.
로그 확인 하는 방법
1234567891011121314151617181920212223242526272829303132333435363738[root@centos ~]# cd /var/lib/denyhosts[root@centos denyhosts]# ll합계 4total 36-rw-r--r--. 1 root root 39 Dec 22 17:51 allowed-hosts-rw-r--r--. 1 root root 27 Dec 22 17:19 allowed-warned-hosts-rw-r--r--. 1 root root 81 Dec 22 17:56 hosts-rw-r--r--. 1 root root 81 Dec 22 17:56 hosts-restricted-rw-r--r--. 1 root root 81 Dec 22 17:56 hosts-root-rw-r--r--. 1 root root 81 Dec 22 17:56 hosts-valid-rw-r--r--. 1 root root 80 Dec 22 17:56 offset-rw-r--r--. 1 root root 0 Dec 22 17:56 suspicious-logins-rw-r--r--. 1 root root 190 Dec 22 17:56 users-hosts-rw-r--r--. 1 root root 0 Dec 22 17:56 users-invalid-rw-r--r--. 1 root root 64 Dec 22 17:56 users-valid[root@centos denyhosts]# grep 192.168.1.55 *allowed-warned-hosts:192.168.1.55hosts:192.168.1.55:0:Tue Apr 8 12:12:40 2014hosts-restricted:192.168.1.55:0:Tue Apr 8 12:12:40 2014hosts-root:192.168.1.55:2:Tue Apr 8 12:12:40 2014hosts-valid:192.168.1.5:1:Tue Apr 8 12:23:13 2014users-hosts:jjun - 192.168.1.55:1:Tue Apr 8 12:32:12 2014users-hosts:root - 192.168.1.55:2:Tue Apr 8 12:12:45 2014[root@centos denyhosts]# tail -f /var/log/secureApr 8 14:40:14 centos su: pam_unix(su-l:session): session opened for user root by tank(uid=601)Apr 8 14:40:21 centos sshd[1145]: pam_unix(sshd:session): session closed for user tankApr 8 14:40:21 centos su: pam_unix(su-l:session): session closed for user rootApr 8 14:40:21 centos su: pam_unix(su-l:session): session closed for user tankApr 8 14:40:21 centos su: pam_unix(su-l:session): session closed for user rootApr 8 14:40:21 centos su: pam_unix(su:session): session closed for user rootApr 8 14:40:21 centos su: pam_unix(su-l:session): session closed for user rootApr 8 14:50:24 centos sshd[1470]: Accepted password for tank from 192.168.1.55 port 3540 ssh2Apr 8 14:50:24 centos sshd[1470]: pam_unix(sshd:session): session opened for user tank by (uid=0)Apr 8 14:50:36 centos sshd[1470]: pam_unix(sshd:session): session closed for user tank
'구 블로그 보관처' 카테고리의 다른 글
Linux - YUM 명령어 사용법 정리 (0) | 2020.08.03 |
---|---|
CentOS 설치 2 - Minimal 기본 설치 후 해야 할 일들 (1/2) (0) | 2020.07.17 |
CentOS 설치 1 - Minimal 설치 (0) | 2020.07.16 |
CentOS 파티션 분할 셋팅 (0) | 2020.07.16 |
CentOS 설치 도움 URL 정리 (0) | 2020.06.22 |
댓글