mirror of https://github.com/MISP/misp-training
				
				
				
			
		
			
				
	
	
		
			162 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			TeX
		
	
	
			
		
		
	
	
			162 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			TeX
		
	
	
| % DO NOT COMPILE THIS FILE DIRECTLY!
 | |
| % This is included by the other .tex files.
 | |
| 
 | |
| \begin{frame}[t,plain]
 | |
| \titlepage
 | |
| \end{frame}
 | |
| 
 | |
| \begin{frame}
 | |
| \frametitle{MISP deployment considerations}
 | |
|     \begin{itemize}
 | |
|         \item {\bf Deployment types}
 | |
|         \item {\bf Distro} choice
 | |
|         \item {\bf Hardware specs}
 | |
|         \item {\bf Authentication}
 | |
|         \item Other considerations - {\bf settings}, {\bf gotchas}
 | |
|     \end{itemize}
 | |
| \end{frame}
 | |
| 
 | |
| \begin{frame}
 | |
| \frametitle{Deployment types}
 | |
|     \begin{itemize}
 | |
|         \item Native install
 | |
|         \begin{itemize}
 | |
|             \item Manual
 | |
|             \item One liner script - INSTALL.sh \url{https://github.com/MISP/MISP/tree/2.4/INSTALL}
 | |
|         \end{itemize}
 | |
|         \item MISP VM  \url{https://www.circl.lu/misp-images/latest/}
 | |
|         \item Docker
 | |
|         \item RPM maintained by SWITCH \url{https://github.com/amuehlem/MISP-RPM}
 | |
|         \item Cloud provider images  \url {https://github.com/MISP/misp-cloud}
 | |
|     \end{itemize}
 | |
| \end{frame}
 | |
| 
 | |
| \begin{frame}
 | |
| \frametitle{Docker options}
 | |
|     \begin{itemize}
 | |
|         \item CoolAcid's MISP images \url{https://github.com/coolacid/docker-misp}
 | |
| 	\item MISP-docker by XME \url{https://github.com/MISP/misp-docker}
 | |
|         \item docker-misp by Harvard security \url{https://github.com/MISP/docker-misp}
 | |
|     \end{itemize}
 | |
| \end{frame}
 | |
| 
 | |
| \begin{frame}
 | |
|     \frametitle{Distro options}
 | |
|         \begin{itemize}
 | |
|             \item Ubuntu 20.04 (18.04 will also work)
 | |
|             \begin{itemize}
 | |
|                 \item Our target platform
 | |
|                 \item Our CI target
 | |
|                 \item Use this unless you are absolutely forced not to
 | |
|                 \item This is the platform we can support you with!
 | |
|             \end{itemize}
 | |
|             \item CentOS 7
 | |
|             \begin{itemize}
 | |
|                 \item Annoying to operate
 | |
|                 \item Less tested, though used by many
 | |
|                 \item CentOS is going away. Consider other options
 | |
|             \end{itemize}
 | |
|             \item RHEL 7
 | |
|             \begin{itemize}
 | |
|                 \item Same annoyance as CentOS in general
 | |
|                 \item We test against CentOS in general, some assembly may be required
 | |
|             \end{itemize}
 | |
|         \end{itemize}
 | |
| \end{frame}
 | |
| 
 | |
| \begin{frame}
 | |
| \frametitle{Hardware specs}
 | |
|     \begin{itemize}
 | |
|         \item No firm recommendations, it's highly usage dependent
 | |
|         \item It's better to go a bit over what you need than under
 | |
|         \item {\bf SSDs} are massively beneficial
 | |
|         \item Let's look at what affects specs and some sample configurations
 | |
|     \end{itemize}
 | |
| \end{frame}
 | |
| 
 | |
| \begin{frame}
 | |
| \frametitle{Hardware considerations}
 | |
|     \begin{itemize}
 | |
|         \item What are the factors that can impact my performance?
 | |
|         \begin{itemize}
 | |
|             \item Clustering of the data (how many datapoints / event?) (RAM, disk speed)
 | |
|             \item Correlation (RAM, disk speed, disk space)
 | |
|             \begin{itemize}
 | |
|                 \item Consider blocking overtly correlating values from doing so
 | |
|                 \item Feed ingestion strategy is crucial
 | |
|             \end{itemize}
 | |
|             \item Over-contextualisation (RAM, disk speed)
 | |
|             \begin{itemize}
 | |
|                 \item Tag/attach galaxies to the event instead of each attribute when possible
 | |
|             \end{itemize}
 | |
|         \end{itemize}
 | |
|     \end{itemize}
 | |
| \end{frame}
 | |
| 
 | |
| \begin{frame}
 | |
| \frametitle{Hardware considerations - continues}
 | |
|     \begin{itemize}
 | |
|         \item What are the factors that can impact my performance?
 | |
|         \begin{itemize}
 | |
|             \item Number of users that are active at any given time (RAM, CPU, disk speed)
 | |
|             \item Logging strategy (Disk space)
 | |
|             \item API users especially with heavy searches (substring searches for example) (RAM, CPU, Disk speed)
 | |
|         \end{itemize}
 | |
|     \end{itemize}
 | |
| \end{frame}
 | |
| 
 | |
| \begin{frame}
 | |
| \frametitle{Hardware considerations - continues}
 | |
|     \begin{itemize}
 | |
|         \item What are the factors that generally do {\bf NOT} impact my performance as much as expected?
 | |
|         \begin{itemize}
 | |
|             \item Warninglist usage
 | |
|             \item Number of raw attributes on the instance
 | |
|             \item Number of sync connections / recurring syncs (with measure)
 | |
|             \item Tools feeding off the automation channels (ZMQ, kafka, syslog)
 | |
|         \end{itemize}
 | |
|     \end{itemize}
 | |
| \end{frame}
 | |
| 
 | |
| \begin{frame}
 | |
| \frametitle{Authentication options}
 | |
|     \begin{itemize}
 | |
|         \item Username/password is the default
 | |
|         \item Some built in modules by 3rd parties (LDAP, Shibboleth, x509, OpenID, Azure Active Directory)
 | |
|         \item CustomAuth system for more flexibility
 | |
|         \item Additionally, consider Email OTP
 | |
|     \end{itemize}
 | |
| \end{frame}
 | |
| 
 | |
| \begin{frame}
 | |
| \frametitle{Other considerations - tuning}
 | |
|     \begin{itemize}
 | |
|         \item PHP tuning
 | |
|         \begin{itemize}
 | |
|             \item Maximum memory usage (per process)
 | |
|             \item Timeout settings
 | |
|             \item Consider setting it per role!
 | |
|             \item Background processes are exempt
 | |
|         \end{itemize}
 | |
|         \item MySQL: key buffer size is important
 | |
|         \item Generally, tune for few heavy requests rather than many light ones
 | |
|     \end{itemize}
 | |
| \end{frame}
 | |
| 
 | |
| \begin{frame}
 | |
| \frametitle{Other considerations - high availability}
 | |
|     \begin{itemize}
 | |
|         \item Clustering
 | |
|         \begin{itemize}
 | |
|             \item Load balanced apache servers with MISP
 | |
|             \item Replicating / mirrored database backends
 | |
|         \end{itemize}
 | |
|         \item Careful about session pinning
 | |
|         \item Attachment storage can be abstracted / network attached
 | |
|         \item An example implementation for AWS \url{https://github.com/0xtf/HAMISPA}
 | |
|     \end{itemize}
 | |
| \end{frame}
 | |
| 
 | |
| 
 | |
| 
 |