一.linux安全加固--------------------------------------------------------------------------------------------------------------------
1.账号安全
修改密码策略
vim /etc/login.defs
PASS_MAX_DAYS 90 密码最长有效期
PASS_MIN_DAYS 10 密码修改之间最小的天数
PASS_MIN_LEN 8 密码长度
PASS_WARN_AGE 7 口令失效前多少天开始通知用户修改密码
1.1.设置密码强度
1.2.限制登陆次数
1.3.登录失败策略,应启用登录失败处理功能,可采取结束会话、限制非法登录次数和自动退出等措施
1.4.访问控制
应及时删除多余的、过期的帐户,避免共享帐户的存在。
删除或禁用临时、过期及可疑的帐号,防止被非法利用。
2.认证授权
2.1.文件目录权限
2.2.检查是否存在除root之外UID为0的用户
2.3.检查是否使用PAM认证模块禁止wheel组之外的用户su为root
3.协议安全
3.1.SSH安全
32.telnet安全
3.3.禁止匿名ftp
3.4.禁止ping
4.审计安全
4.1.建立日志服务器
4.2.审计范围应覆盖到服务器和重要客户端上的每个操作系统用户和数据库用户;
开启审核策略,若日后系统出现故障、安全事故则可以查看系统日志文件,排除故障、追查入侵者的信息等。
4.3.日志属性设置
让日志文件转储一个月,保留6个月的信息,先查看目前配置
5.入侵防御
5.1关闭与系统业务无关或不必要的服务,减小系统被黑客被攻击、渗透的风险。
比如禁用蓝牙服务等
6.系统资源控制
6.1访问控制
设定终端接入方式、网络地址范围等条件限制终端登录。
对接入服务器的IP、方式等进行限制,可以阻止非法入侵。
6.2超时锁定
应根据安全策略设置登录终端的操作超时锁定。
设置登录超时时间,释放系统资源,也提高服务器的安全性。
7.DOS攻击防御
7.1防止拒绝服务攻击,TCP SYN保护机制等设置
进入SYN包的最大请求队列.默认1024.对重负载服务器,增加该值显然有好处.可调整到2048
7.2为历史的命令增加登录的IP地址、执行命令时间等
-----------------------------------------------------------------------------------------
二.linux性能优化
配置文件/etc/sysctl.conf
net.ipv4.ip_local_port_range = 1024 65000 表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。
net.ipv4.tcp_syncookies = 1表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
防止TCP存在大量的TIME_WAIT状态的连接
查看连接数netstat -na|awk '/^tcp/ {++S[$NF]} END {for(i in S) print i,S[i]}'
net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout = 30 表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。默认是60s。
net.ipv4.tcp_keepalive_time = 1200 表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
net.ipv4.tcp_max_syn_backlog = 8192 表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_tw_buckets = 5000表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。默认为180000,改为5000。
-----------------------------------------------------------------------------------------------------------------------
三.Linux系统优化
1、登录系统
2、禁止SSH远程。
3、时间同步。
4、配置yum更新源。
5、关闭selinux及iptables。
6、调整文件描述dao符数量。
7、定时自动清理/var/spool/clientmquene/目录垃圾文件。
8、精简开机启动服务。
9、Linux内核参数优化/etc/sysctl.conf,执行sysct -p生效。
10、更改字符集,防止乱码问题出现。
11、锁定关键系统文件。
12、清空/etc/issue,去除系统及内核版本登陆前的屏幕显示。
13 修改shell命令的history记录个数
14 调整linux的最大文件打开数
15 关闭写磁盘I/O功能
-----------------------------------------------------------------------------------------------------------------------------
四.Linux的8种最佳免费防病毒程序
1. ClamAV
ClamAV是一个免费且开源的,适用于Linux系统的多功能反病毒工具包。它用于检测特洛伊木马,病毒,恶意软件和其他恶意威胁。这是邮件网关扫描软件的标准; 它支持几乎所有的邮件文件格式。
2. ClamTk
ClamTk是基于流行命令行的ClamAV(Clam Antivirus)的轻量级图形前端,使用Perl和Gtk库编写,用于类Unix系统(如Linux和FreeBSD)。
它旨在成为一款易于使用的按需防病毒扫描程序。这是一款运行平稳的可靠图形防病毒软件,它可以快速完成任务。
3. Comodo反病毒Linux版(CAVL)
Comodo是一款功能强大的跨平台防病毒和电子邮件过滤软件,并具有可完全配置的反垃圾邮件系统的附加功能。
4. Sophos For Linux
检测并根除您的Linux计算机上的病毒(包括蠕虫和特洛伊木马)。它还可以查找并阻止所有可能存储在Linux计算机上并传输到非Linux计算机的非Linux病毒。
---------------------------------------------------------------------------------
五.Linux系统漏洞扫描、评估工具
1.OpenVAS(系统 网络 桌面 命令行)
是一套可用于扫描漏洞和全面漏洞管理的工具和服务系统
2.Niktou(躲避入侵探测)
Nikto 不仅可用于检查 CGI 漏洞,还可以躲避的方式运行,以便躲避入侵探测系统。Nikto 所提供完整的文档资料,在运行程序前,应当仔细查核。如果您有提供 CGI 脚本的网络服务器,那么Nikto 就是用于检查此类服务器安全的最佳资源。
3.Nmap(端口)
Nmap 是一种常用工具,可用于判定网络的布局。我们可以在网络上使用 Nmap 来查找主机系统以及打开这些系统的端口。
4.Nessus(收费)
Nessus是目前全世界最多人使用的系统漏洞扫描与分析软件,且具有全面报告、主机扫描以及实时漏洞搜索的功能
5.Nikto
Nikto是一款开放源代码的、功能强大的WEB扫描评估软件,能对web服务器多种安全项目进行测试的扫描软件,能在230多种服务器上扫描出 2600多种有潜在危险的文件、CGI及其他问题,它可以扫描指定主机的WEB类型、主机名、特定目录、COOKIE、特定CGI漏洞、返回主机允许的 http模式等等。它也使用LibWhiske库,但通常比Whisker更新的更为频繁。Nikto是网管安全人员必备的WEB审计工具之一。
------------------------------------------------------------------------------------
六.linux监控工具
1. iotop
通过 IOPS 参数来定位那些占用磁盘 IO 的耗时进程。
查看磁盘使用情况并标记潜在的性能瓶颈。将此工具与 top 或 htop 等其他工具结合使用,能帮你更全面地了解服务器当前负载情况。
2. htop
清晰地在水平条形图中查看计算机内核数目以及它们的利用率
如果你肯定某个进程正在耗尽系统上的所有核心从而打开 htop 进行查看,那么就会发现大片红色,整个过程快速而简单。
3. IPTraf
这是一个诊断网络问题非常有用的工具。使用此工具,你可以监控正在网络传输的网络流量。也能以特定的接口或流量类型(例如特定的TCP 端口)进行过滤。它与 Wireshark 功能非常相似,不同之处在于它更轻巧,并且也可以在没有 GUI 的情况下运行。
另外,该监控工具还有一些非常棒的功能,比如按数据包大小对流量进行统计细分。
4. Monit
Monit 允许你指定要在 Linux 操作系统上监视的进程、端口、文件等。它支持使用复杂的回退计时器 back-off timer 和消息来设置动态警报模式。
1.dstat - 多类型资源统计工具
该命令整合了vmstat,iostat和ifstat三种命令。同时增加了新的特性和功能可以让你能及时看到各种的资源使用情况,从而能够使你对比和整合不同的资源使用情况
2.atop - 相比top更好的ASCII码体验
这个使用ASCII码显示方式的命令行工具是一个显示所有进程活动的性能监控工具。它可以展示每日的系统日志以进行长期的进程活动分析,并高亮显示过载的系统使用资源。它包含了CPU,内存,交换空间,磁盘和网络层的度量指标。所有这些功能只需在终端运行atop即可。
3.sar - 性能监控和瓶颈检查
性能监控和瓶颈检查
4.tcpdump - 洞察网络封包
1. nload
果你只需要快速查看总带宽使用情况,无需每个进程的详细情况,那么nload用起来很方便。
2. iftop
iftop能够过滤流量,并报告由过滤器指定的所选定主机连接的带宽使用情况。
3. nethogs
nethogs是一款小巧的"net top"工具,可以显示每个进程所使用的带宽,并对列表排序,将耗用带宽最多的进程排在最上面。万一出现带宽使用突然激增的情况,用户迅速打开nethogs,就可以找到导致带宽使用激增的进程。nethogs可以报告程序的进程编号(PID)、用户和路径。
----------------------------------------------------------------------------------------------------
七.常见的中间件有哪些
1.一般本地开发的话,小项目,或者是个人开发建议使用tomcat。
2.linux系统建议使用jetty或apache hpptd
3.大型的项目就用JBOSS或webloigc
4.大项目或者商业项目一般采用:weblgoic/webshere,其他的还有jboss、glasshfish等
5.一些示例项目或者小项目常采用jetty