NFS(Network File System)
nfs - rpc(remot Procedure Call)
nfslock - 서버의 파일을 잠글 때 필요
rpcbind - RPC 요청에 의해 포트를 결정
Samba ( 리눅스 - 윈도우 파일 공유)
nmbd - UDP 137, 138 TCP 139 : 부가적인 처리
smbd - TCP 445 : 대부분 처리
selinux - firewalld와는 별개로 부팅이 되면서 커널이 실행되면 자동으로 설정되는 보안정책을 관리하는 커널에서 실행되는 방화벽 즉 리눅스의 권한 제어 시스템이다.
NFS server
dnf install -y nfs-utils
systemctl start nfs-server
systemctl status rpcbind - 확인해야함
mkdir /nfsserver
chmod 756 /nfsserver
vi /etc/exports
/nfsserver 192.168.16.99(rw,sync,no_root_squash) - client ip
exportfs -a
firewall-cmd --permanent --add-port=2049/tcp
firewall-cmd --reload
NFS Client
dnf install -y nfs-utils
systemctl status rpcbind - 확인해야함
mkdir /nfsclient
mount -t nfs 192.168.16.100:/nfsserver /nfsclient - server ip
Samba server
dnf install -y samba samba-common samba-client
mkdir /sambatest
chmod 777 /sambatest
useradd sambauser
smbpasswd -a sambauser
vi /etc/samba/smb.conf
제일 밑줄
[sambashare]
comment = Samba Test
path = /sambatest
browseable = yes
writable = yes
guest ok = yes
read only = no
create mask = 0777
directory mask = 0777
exit
testparm - conf 파일 문법적 오류 없는지 검사
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
systemctl enable --now smb nmb
selinux - 커널에서 동작하는 방화벽
vi /etc/selinux/config
22번 라인에 enforcing -> disabled로 변경
reboot
Log Server
rsyslog -> DB -> 분석 및 시각화(ELK Stack, Nagios, LogAnalyzer, Wazuh(SIEM), PMM(DB Monitor))
Logserver
-------------------------------------------------------------------------
dnf install -y rsyslog rsyslog-doc
vi /etc/rsyslog.conf
34번라인에 추가
$ModLoad imudp
$InputUDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
:wq!
firewall-cmd --permanent --add-port=514/tcp
firewall-cmd --permanent --add-port=514/udp
firewall-cmd --reload
systemctl restart rsyslog
dnf install -y lsof net-tools
lsof -i tcp:514 - 514 tcp 있는지 확인
netstat -natpl | grep 514
tail -f /var/log/messages 확인
Log Client
vi /etc/rsyslog.conf
#맨밑에 추가
*.* @@192.168.16.100:514 -server ip, udp
*.* @192.168.16.100:514 - tcp
:wq!
systemctl restart rsyslog
Log server 내용을 DB에 옮기기
Log server -> DB
------------------------------------------------------------------------
dnf install -y mariadb-server rsyslog-mysql
mysql_secure_installation
mysql -u root -p < /usr/share/doc/rsyslog/mysql-createDB.sql
mysql -u root -p
grant all privielges on Syslog.* to 'rsyslog'@'localhost' identified by '1234';
flush privileges;
exit
vi /etc/rsyslog.conf
#39번줄에 이어서
$ModLoad ommysql
*.* :ommysql:127.0.0.1,Syslog,rsyslog,1234 - 자기자신에 구축되어있어서 그럼 ip 뒤에는 db이름,사용자이름,passwd
:wq!
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
systemctl restart rsyslog
LogAnalyzer을 이용해서 로그내용 시각화하기
dnf install -y php-mysqli php wget
wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.13.tar.gz -P /tmp
tar -xzvf /tmp/loganalyzer-4.1.13.tar.gz -C /tmp
mkdir /var/www/html/loganalyzer
cp -r /tmp/loganalyzer-4.1.13/src/* /var/www/html/loganalyzer/
cp /tmp/loganalyzer-4.1.13/contrib/configure.sh /var/www/html/loganalyzer/
cd /var/www/html/loganalyzer
bash configure.sh
chcon -h -t httpd_sys_script_rw_t config.php
ip/loganalyzer 로 웹에 접속 ex)192.168.16.100/loganalyzer